Wikifunctions wikifunctionswiki https://www.wikifunctions.org/wiki/Wikifunctions:Main_Page MediaWiki 1.47.0-wmf.15 first-letter Media Special Talk User User talk Wikifunctions Wikifunctions talk File File talk MediaWiki MediaWiki talk Template Template talk Help Help talk Category Category talk TimedText TimedText talk Module Module talk Translations Translations talk Event Event talk Z844 0 185 299798 246880 2026-08-16T02:40:19Z DVrandecic (WMF) 7 Added Z31484, Z31483 and Z32091 to the approved list of implementations 299798 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z844" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z40", "Z17K2": "Z844K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "first Boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1025", "Z11K2": "sprawdzana wartość" }, { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "প্রথম বুলিয়ান" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "první parametr" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "1つ目のブーリアン" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "premier booléen" }, { "Z1K1": "Z11", "Z11K1": "Z1381", "Z11K2": "primeiro Booleano" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Wahrheitswert" }, { "Z1K1": "Z11", "Z11K1": "Z1851", "Z11K2": "ค่าแรก" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "nilai pertama" }, { "Z1K1": "Z11", "Z11K1": "Z1157", "Z11K2": "booleaan 1" }, { "Z1K1": "Z11", "Z11K1": "Z1645", "Z11K2": "第一个布尔值" }, { "Z1K1": "Z11", "Z11K1": "Z1672", "Z11K2": "第一個布林值" }, { "Z1K1": "Z11", "Z11K1": "Z1827", "Z11K2": "πρώτη λογική τιμή" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "mbụ Boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1818", "Z11K2": "akọkọ Bolianu" }, { "Z1K1": "Z11", "Z11K1": "Z1852", "Z11K2": "Chó gé chà okà" }, { "Z1K1": "Z11", "Z11K1": "Z1587", "Z11K2": "marka hore Boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1680", "Z11K2": "Boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1186", "Z11K2": "בוליאני ראשון" }, { "Z1K1": "Z11", "Z11K1": "Z1664", "Z11K2": "prima valoare logică " }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "primo Booleano" }, { "Z1K1": "Z11", "Z11K1": "Z1820", "Z11K2": "पहला बूलियन" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z40", "Z17K2": "Z844K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "second Boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1025", "Z11K2": "oczekiwana wartość" }, { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "দ্বিতীয় বুলিয়ান" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "druhý parametr" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "2つ目のブーリアン" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "deuxième booléen" }, { "Z1K1": "Z11", "Z11K1": "Z1381", "Z11K2": "segundo Booleano" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Wahrheitswert" }, { "Z1K1": "Z11", "Z11K1": "Z1851", "Z11K2": "ค่าที่สอง" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "nilai kedua" }, { "Z1K1": "Z11", "Z11K1": "Z1157", "Z11K2": "booleaan 2" }, { "Z1K1": "Z11", "Z11K1": "Z1645", "Z11K2": "第二个布尔值" }, { "Z1K1": "Z11", "Z11K1": "Z1672", "Z11K2": "第二個布林值" }, { "Z1K1": "Z11", "Z11K1": "Z1827", "Z11K2": "δεύτερη λογική τιμή" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "Boolean nke abụọ" }, { "Z1K1": "Z11", "Z11K1": "Z1818", "Z11K2": "Bolianu keji" }, { "Z1K1": "Z11", "Z11K1": "Z1852", "Z11K2": "Chó gé chà ãkáji" }, { "Z1K1": "Z11", "Z11K1": "Z1587", "Z11K2": "labaad Boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1680", "Z11K2": "Boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1186", "Z11K2": "בוליאני שני" }, { "Z1K1": "Z11", "Z11K1": "Z1664", "Z11K2": "cea de-a doua valoare logică " }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "secondo Booleano" }, { "Z1K1": "Z11", "Z11K1": "Z1820", "Z11K2": "दूसरा बूलियन" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20", "Z8440", "Z8441", "Z8442", "Z8443", "Z15933", "Z15934", "Z24790" ], "Z8K4": [ "Z14", "Z944", "Z10250", "Z10583", "Z31484", "Z31483", "Z32091" ], "Z8K5": "Z844" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Boolean equality" }, { "Z1K1": "Z11", "Z11K1": "Z1025", "Z11K2": "równość wartości logicznych" }, { "Z1K1": "Z11", "Z11K1": "Z1592", "Z11K2": "boolesk likhet" }, { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "বুলিয়ান সমতা" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "rovnost logických hodnot" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "ブーリアンの同値性" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "boolesche Gleichheit" }, { "Z1K1": "Z11", "Z11K1": "Z1157", "Z11K2": "booleaanse gelijkheid" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "égalité booléenne" }, { "Z1K1": "Z11", "Z11K1": "Z1186", "Z11K2": "שוויון בוליאני" }, { "Z1K1": "Z11", "Z11K1": "Z1332", "Z11K2": "ідентичність булевих" }, { "Z1K1": "Z11", "Z11K1": "Z1381", "Z11K2": "Igualdade Booleana" }, { "Z1K1": "Z11", "Z11K1": "Z1851", "Z11K2": "สมการตรรกะ" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "kesamaan Boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1645", "Z11K2": "布尔值相等" }, { "Z1K1": "Z11", "Z11K1": "Z1672", "Z11K2": "布林值相等" }, { "Z1K1": "Z11", "Z11K1": "Z1827", "Z11K2": "ισότητα λογικών τιμών" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "mbụ Boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1015", "Z11K2": "Zaɣ'yinsi boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1818", "Z11K2": "Bolianu dọgbadọgba" }, { "Z1K1": "Z11", "Z11K1": "Z1852", "Z11K2": "Booléání cho kú jó" }, { "Z1K1": "Z11", "Z11K1": "Z1587", "Z11K2": "Boolean sinaanta" }, { "Z1K1": "Z11", "Z11K1": "Z1680", "Z11K2": "Yelemeŋerɛ bii pumpɔreŋɔ dɛna buyila" }, { "Z1K1": "Z11", "Z11K1": "Z1664", "Z11K2": "egalitate logică " }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "stesso Booleano" }, { "Z1K1": "Z11", "Z11K1": "Z1820", "Z11K2": "समान बूलियन" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "Equals", "Same", "XNOR", "identity relation (Boolean)", "biconditional", "if and only if", "iff", "==B", "equal Booleans", "same Booleans" ] }, { "Z1K1": "Z31", "Z31K1": "Z1025", "Z31K2": [ "Z6", "xnor", "równoważność logiczna" ] }, { "Z1K1": "Z31", "Z31K1": "Z1592", "Z31K2": [ "Z6", "XNOR", "boolesk ekvivalens", "xnor" ] }, { "Z1K1": "Z31", "Z31K1": "Z1381", "Z31K2": [ "Z6", "Equivale", "Mesmo", "XNOR", "relação de identidade (Booleano)", "bicondicional", "se e apenas se", "se e se", "==B" ] }, { "Z1K1": "Z31", "Z31K1": "Z1851", "Z31K2": [ "Z6", "สมการบูลีน", "สมการบูเลียน", "เท่ากับ", "เหมือนกับ", "เอ็กซ์นอร์" ] }, { "Z1K1": "Z31", "Z31K1": "Z1078", "Z31K2": [ "Z6", "kesamaan Boole", "sama dengan Boolean", "sama dengan", "XNOR" ] }, { "Z1K1": "Z31", "Z31K1": "Z1827", "Z31K2": [ "Z6", "XNOR", "λογική ισότητα", "λογική ισότητα" ] }, { "Z1K1": "Z31", "Z31K1": "Z1664", "Z31K2": [ "Z6", "Egal", "Aceleași ", "Același ", "Aceeași ", "XNOR", "Relație de identitate ", "Egalitate booleană", "Bicondițional ", "Dacă și numai dacă ", "==B" ] }, { "Z1K1": "Z31", "Z31K1": "Z1787", "Z31K2": [ "Z6", "confronta bool", "uguaglianza bool", "eguaglianza bool", "sse", "se e solo se", "confonta booleani", "uguaglianza booleani", "eguaglianza booleani", "stesso bool", "==", "uguaglianza logica", "eguaglianza logica" ] }, { "Z1K1": "Z31", "Z31K1": "Z1157", "Z31K2": [ "Z6", "gelijk aan", "hetzelfde", "identiteitsrelatie (Booleaans)", "biconditioneel", "als en alleen als", "==B" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1025", "Z11K2": "Zwraca prawdę, jeśli obie wartości wejściowe są sobie równe" }, { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "সত্য যদি প্রথম বুলিয়ান আর দ্বিতীয় বুলিয়ান একই" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns true only if both inputs are equal" }, { "Z1K1": "Z11", "Z11K1": "Z1592", "Z11K2": "sant om argumenten är lika" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "vrátí pravdu, pokud jsou oba parametry stejné" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "両方の入力が等しい場合のみ真を返す" }, { "Z1K1": "Z11", "Z11K1": "Z1157", "Z11K2": "retourneert alleen waar als beide invoeren gelijk zijn" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "renvoie \"vrai\" seulement si les deux entrées sont égales, sinon \"faux\"" }, { "Z1K1": "Z11", "Z11K1": "Z1186", "Z11K2": "האם שני ערכי אמת זהים" }, { "Z1K1": "Z11", "Z11K1": "Z1332", "Z11K2": "повертає істину якщо обидва значення ідентичні" }, { "Z1K1": "Z11", "Z11K1": "Z1381", "Z11K2": "retorna verdadeiro somente se ambas as entradas forem iguais" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Gibt wahr zurück, wenn beide Eingaben gleich sind" }, { "Z1K1": "Z11", "Z11K1": "Z1851", "Z11K2": "ส่งออกค่าจริงถ้าค่ารับเข้าเท่ากัน" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "hanya bernilai benar jika dua nilai Boolean yang dimasukkan sama" }, { "Z1K1": "Z11", "Z11K1": "Z1827", "Z11K2": "επιστρέφει \"αληθής\" μόνο εάν και οι δύο είσοδοι είναι ίσες" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": " na-alaghachi ezi naanị ma ọ bụrụ na ntinye abụọ ahụ hà nhata" }, { "Z1K1": "Z11", "Z11K1": "Z1015", "Z11K2": "labisi mi yɛlmaŋli konko di yi niŋ ka di zaa nyɛ yim" }, { "Z1K1": "Z11", "Z11K1": "Z1818", "Z11K2": "pada otitọ nikan ti awọn igbewọle mejeeji ba dọgba" }, { "Z1K1": "Z11", "Z11K1": "Z1852", "Z11K2": "Yà dàbî wâ chè wú kí chó gé chà" }, { "Z1K1": "Z11", "Z11K1": "Z1587", "Z11K2": "run ku soo noqda kaliya haddii labada wax gelinba ay siman yihiin" }, { "Z1K1": "Z11", "Z11K1": "Z1680", "Z11K2": "lebese yelemeŋerɛ la san dɛna tii sɛla ti fu dikɛ iŋe la san dɛna buyila" }, { "Z1K1": "Z11", "Z11K1": "Z1664", "Z11K2": "returnează adevărat doar dacă ambele valori introduse sunt egale" }, { "Z1K1": "Z11", "Z11K1": "Z1820", "Z11K2": "अगर दोनों इनपुट्स समान हों तो सच लौटाता है" } ] } } oxxv5nu8rkf0u6yjcw2wici2xh9sbqt 299799 299798 2026-08-16T02:41:27Z DVrandecic (WMF) 7 Added Z35853 to the approved list of test cases 299799 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z844" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z40", "Z17K2": "Z844K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "first Boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1025", "Z11K2": "sprawdzana wartość" }, { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "প্রথম বুলিয়ান" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "první parametr" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "1つ目のブーリアン" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "premier booléen" }, { "Z1K1": "Z11", "Z11K1": "Z1381", "Z11K2": "primeiro Booleano" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Wahrheitswert" }, { "Z1K1": "Z11", "Z11K1": "Z1851", "Z11K2": "ค่าแรก" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "nilai pertama" }, { "Z1K1": "Z11", "Z11K1": "Z1157", "Z11K2": "booleaan 1" }, { "Z1K1": "Z11", "Z11K1": "Z1645", "Z11K2": "第一个布尔值" }, { "Z1K1": "Z11", "Z11K1": "Z1672", "Z11K2": "第一個布林值" }, { "Z1K1": "Z11", "Z11K1": "Z1827", "Z11K2": "πρώτη λογική τιμή" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "mbụ Boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1818", "Z11K2": "akọkọ Bolianu" }, { "Z1K1": "Z11", "Z11K1": "Z1852", "Z11K2": "Chó gé chà okà" }, { "Z1K1": "Z11", "Z11K1": "Z1587", "Z11K2": "marka hore Boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1680", "Z11K2": "Boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1186", "Z11K2": "בוליאני ראשון" }, { "Z1K1": "Z11", "Z11K1": "Z1664", "Z11K2": "prima valoare logică " }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "primo Booleano" }, { "Z1K1": "Z11", "Z11K1": "Z1820", "Z11K2": "पहला बूलियन" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z40", "Z17K2": "Z844K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "second Boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1025", "Z11K2": "oczekiwana wartość" }, { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "দ্বিতীয় বুলিয়ান" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "druhý parametr" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "2つ目のブーリアン" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "deuxième booléen" }, { "Z1K1": "Z11", "Z11K1": "Z1381", "Z11K2": "segundo Booleano" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Wahrheitswert" }, { "Z1K1": "Z11", "Z11K1": "Z1851", "Z11K2": "ค่าที่สอง" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "nilai kedua" }, { "Z1K1": "Z11", "Z11K1": "Z1157", "Z11K2": "booleaan 2" }, { "Z1K1": "Z11", "Z11K1": "Z1645", "Z11K2": "第二个布尔值" }, { "Z1K1": "Z11", "Z11K1": "Z1672", "Z11K2": "第二個布林值" }, { "Z1K1": "Z11", "Z11K1": "Z1827", "Z11K2": "δεύτερη λογική τιμή" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "Boolean nke abụọ" }, { "Z1K1": "Z11", "Z11K1": "Z1818", "Z11K2": "Bolianu keji" }, { "Z1K1": "Z11", "Z11K1": "Z1852", "Z11K2": "Chó gé chà ãkáji" }, { "Z1K1": "Z11", "Z11K1": "Z1587", "Z11K2": "labaad Boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1680", "Z11K2": "Boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1186", "Z11K2": "בוליאני שני" }, { "Z1K1": "Z11", "Z11K1": "Z1664", "Z11K2": "cea de-a doua valoare logică " }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "secondo Booleano" }, { "Z1K1": "Z11", "Z11K1": "Z1820", "Z11K2": "दूसरा बूलियन" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20", "Z8440", "Z8441", "Z8442", "Z8443", "Z15933", "Z15934", "Z24790", "Z35853" ], "Z8K4": [ "Z14", "Z944", "Z10250", "Z10583", "Z31484", "Z31483", "Z32091" ], "Z8K5": "Z844" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Boolean equality" }, { "Z1K1": "Z11", "Z11K1": "Z1025", "Z11K2": "równość wartości logicznych" }, { "Z1K1": "Z11", "Z11K1": "Z1592", "Z11K2": "boolesk likhet" }, { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "বুলিয়ান সমতা" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "rovnost logických hodnot" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "ブーリアンの同値性" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "boolesche Gleichheit" }, { "Z1K1": "Z11", "Z11K1": "Z1157", "Z11K2": "booleaanse gelijkheid" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "égalité booléenne" }, { "Z1K1": "Z11", "Z11K1": "Z1186", "Z11K2": "שוויון בוליאני" }, { "Z1K1": "Z11", "Z11K1": "Z1332", "Z11K2": "ідентичність булевих" }, { "Z1K1": "Z11", "Z11K1": "Z1381", "Z11K2": "Igualdade Booleana" }, { "Z1K1": "Z11", "Z11K1": "Z1851", "Z11K2": "สมการตรรกะ" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "kesamaan Boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1645", "Z11K2": "布尔值相等" }, { "Z1K1": "Z11", "Z11K1": "Z1672", "Z11K2": "布林值相等" }, { "Z1K1": "Z11", "Z11K1": "Z1827", "Z11K2": "ισότητα λογικών τιμών" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "mbụ Boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1015", "Z11K2": "Zaɣ'yinsi boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1818", "Z11K2": "Bolianu dọgbadọgba" }, { "Z1K1": "Z11", "Z11K1": "Z1852", "Z11K2": "Booléání cho kú jó" }, { "Z1K1": "Z11", "Z11K1": "Z1587", "Z11K2": "Boolean sinaanta" }, { "Z1K1": "Z11", "Z11K1": "Z1680", "Z11K2": "Yelemeŋerɛ bii pumpɔreŋɔ dɛna buyila" }, { "Z1K1": "Z11", "Z11K1": "Z1664", "Z11K2": "egalitate logică " }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "stesso Booleano" }, { "Z1K1": "Z11", "Z11K1": "Z1820", "Z11K2": "समान बूलियन" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "Equals", "Same", "XNOR", "identity relation (Boolean)", "biconditional", "if and only if", "iff", "==B", "equal Booleans", "same Booleans" ] }, { "Z1K1": "Z31", "Z31K1": "Z1025", "Z31K2": [ "Z6", "xnor", "równoważność logiczna" ] }, { "Z1K1": "Z31", "Z31K1": "Z1592", "Z31K2": [ "Z6", "XNOR", "boolesk ekvivalens", "xnor" ] }, { "Z1K1": "Z31", "Z31K1": "Z1381", "Z31K2": [ "Z6", "Equivale", "Mesmo", "XNOR", "relação de identidade (Booleano)", "bicondicional", "se e apenas se", "se e se", "==B" ] }, { "Z1K1": "Z31", "Z31K1": "Z1851", "Z31K2": [ "Z6", "สมการบูลีน", "สมการบูเลียน", "เท่ากับ", "เหมือนกับ", "เอ็กซ์นอร์" ] }, { "Z1K1": "Z31", "Z31K1": "Z1078", "Z31K2": [ "Z6", "kesamaan Boole", "sama dengan Boolean", "sama dengan", "XNOR" ] }, { "Z1K1": "Z31", "Z31K1": "Z1827", "Z31K2": [ "Z6", "XNOR", "λογική ισότητα", "λογική ισότητα" ] }, { "Z1K1": "Z31", "Z31K1": "Z1664", "Z31K2": [ "Z6", "Egal", "Aceleași ", "Același ", "Aceeași ", "XNOR", "Relație de identitate ", "Egalitate booleană", "Bicondițional ", "Dacă și numai dacă ", "==B" ] }, { "Z1K1": "Z31", "Z31K1": "Z1787", "Z31K2": [ "Z6", "confronta bool", "uguaglianza bool", "eguaglianza bool", "sse", "se e solo se", "confonta booleani", "uguaglianza booleani", "eguaglianza booleani", "stesso bool", "==", "uguaglianza logica", "eguaglianza logica" ] }, { "Z1K1": "Z31", "Z31K1": "Z1157", "Z31K2": [ "Z6", "gelijk aan", "hetzelfde", "identiteitsrelatie (Booleaans)", "biconditioneel", "als en alleen als", "==B" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1025", "Z11K2": "Zwraca prawdę, jeśli obie wartości wejściowe są sobie równe" }, { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "সত্য যদি প্রথম বুলিয়ান আর দ্বিতীয় বুলিয়ান একই" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns true only if both inputs are equal" }, { "Z1K1": "Z11", "Z11K1": "Z1592", "Z11K2": "sant om argumenten är lika" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "vrátí pravdu, pokud jsou oba parametry stejné" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "両方の入力が等しい場合のみ真を返す" }, { "Z1K1": "Z11", "Z11K1": "Z1157", "Z11K2": "retourneert alleen waar als beide invoeren gelijk zijn" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "renvoie \"vrai\" seulement si les deux entrées sont égales, sinon \"faux\"" }, { "Z1K1": "Z11", "Z11K1": "Z1186", "Z11K2": "האם שני ערכי אמת זהים" }, { "Z1K1": "Z11", "Z11K1": "Z1332", "Z11K2": "повертає істину якщо обидва значення ідентичні" }, { "Z1K1": "Z11", "Z11K1": "Z1381", "Z11K2": "retorna verdadeiro somente se ambas as entradas forem iguais" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Gibt wahr zurück, wenn beide Eingaben gleich sind" }, { "Z1K1": "Z11", "Z11K1": "Z1851", "Z11K2": "ส่งออกค่าจริงถ้าค่ารับเข้าเท่ากัน" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "hanya bernilai benar jika dua nilai Boolean yang dimasukkan sama" }, { "Z1K1": "Z11", "Z11K1": "Z1827", "Z11K2": "επιστρέφει \"αληθής\" μόνο εάν και οι δύο είσοδοι είναι ίσες" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": " na-alaghachi ezi naanị ma ọ bụrụ na ntinye abụọ ahụ hà nhata" }, { "Z1K1": "Z11", "Z11K1": "Z1015", "Z11K2": "labisi mi yɛlmaŋli konko di yi niŋ ka di zaa nyɛ yim" }, { "Z1K1": "Z11", "Z11K1": "Z1818", "Z11K2": "pada otitọ nikan ti awọn igbewọle mejeeji ba dọgba" }, { "Z1K1": "Z11", "Z11K1": "Z1852", "Z11K2": "Yà dàbî wâ chè wú kí chó gé chà" }, { "Z1K1": "Z11", "Z11K1": "Z1587", "Z11K2": "run ku soo noqda kaliya haddii labada wax gelinba ay siman yihiin" }, { "Z1K1": "Z11", "Z11K1": "Z1680", "Z11K2": "lebese yelemeŋerɛ la san dɛna tii sɛla ti fu dikɛ iŋe la san dɛna buyila" }, { "Z1K1": "Z11", "Z11K1": "Z1664", "Z11K2": "returnează adevărat doar dacă ambele valori introduse sunt egale" }, { "Z1K1": "Z11", "Z11K1": "Z1820", "Z11K2": "अगर दोनों इनपुट्स समान हों तो सच लौटाता है" } ] } } 17cxa8l54s1lq9ttbyvljxdb8rqbw7h Z866 0 187 299856 288191 2026-08-16T07:23:45Z DVrandecic (WMF) 7 Added Z10590, Z10597, Z28319 and Z17569 to the approved list of implementations 299856 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z866" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z866K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "first string" }, { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "প্রথম অক্ষর" }, { "Z1K1": "Z11", "Z11K1": "Z1025", "Z11K2": "pierwszy napis" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "1つ目の文字列" }, { "Z1K1": "Z11", "Z11K1": "Z1061", "Z11K2": "første streng" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "první řetězec" }, { "Z1K1": "Z11", "Z11K1": "Z1003", "Z11K2": "primera cadena" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "erste Zeichenkette" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "première chaîne" }, { "Z1K1": "Z11", "Z11K1": "Z1851", "Z11K2": "สตริงที่หนึ่ง" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "teks pertama" }, { "Z1K1": "Z11", "Z11K1": "Z1645", "Z11K2": "第一个字符串" }, { "Z1K1": "Z11", "Z11K1": "Z1672", "Z11K2": "第一個字串" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "первая строка" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "prima stringa" }, { "Z1K1": "Z11", "Z11K1": "Z1827", "Z11K2": "πρώτη συμβολοσειρά" }, { "Z1K1": "Z11", "Z11K1": "Z1818", "Z11K2": "Stringi Keni" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "Strinji" }, { "Z1K1": "Z11", "Z11K1": "Z1013", "Z11K2": "Layi na 1" }, { "Z1K1": "Z11", "Z11K1": "Z1587", "Z11K2": "string sinnaanta" }, { "Z1K1": "Z11", "Z11K1": "Z1680", "Z11K2": "Boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1332", "Z11K2": "перший рядок" }, { "Z1K1": "Z11", "Z11K1": "Z1186", "Z11K2": "מחרוזת ראשונה" }, { "Z1K1": "Z11", "Z11K1": "Z1132", "Z11K2": "першы радок" }, { "Z1K1": "Z11", "Z11K1": "Z1381", "Z11K2": "primeira cadeia" }, { "Z1K1": "Z11", "Z11K1": "Z1664", "Z11K2": "primul șir" }, { "Z1K1": "Z11", "Z11K1": "Z1643", "Z11K2": "첫 번째 문자열" }, { "Z1K1": "Z11", "Z11K1": "Z1001", "Z11K2": "السلسلة الأولى" }, { "Z1K1": "Z11", "Z11K1": "Z1181", "Z11K2": "прва ниска" }, { "Z1K1": "Z11", "Z11K1": "Z1820", "Z11K2": "पहला स्ट्रिंग" }, { "Z1K1": "Z11", "Z11K1": "Z1592", "Z11K2": "första strängen" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z866K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "second string" }, { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "দ্বিতীয় অক্ষর" }, { "Z1K1": "Z11", "Z11K1": "Z1025", "Z11K2": "drugi napis" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "2つ目の文字列" }, { "Z1K1": "Z11", "Z11K1": "Z1061", "Z11K2": "anden streng" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "druhý řetězec" }, { "Z1K1": "Z11", "Z11K1": "Z1003", "Z11K2": "segunda cadena" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "zweite Zeichenkette" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "deuxième chaîne" }, { "Z1K1": "Z11", "Z11K1": "Z1851", "Z11K2": "สตริงที่สอง" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "teks kedua" }, { "Z1K1": "Z11", "Z11K1": "Z1645", "Z11K2": "第二个字符串" }, { "Z1K1": "Z11", "Z11K1": "Z1672", "Z11K2": "第二個字串" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "вторая строка" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "seconda stringa" }, { "Z1K1": "Z11", "Z11K1": "Z1827", "Z11K2": "δεύτερη συμβολοσειρά" }, { "Z1K1": "Z11", "Z11K1": "Z1818", "Z11K2": "Stringi Keji" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "Strinji" }, { "Z1K1": "Z11", "Z11K1": "Z1013", "Z11K2": "Layi na 2" }, { "Z1K1": "Z11", "Z11K1": "Z1680", "Z11K2": "Boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1332", "Z11K2": "другий рядок" }, { "Z1K1": "Z11", "Z11K1": "Z1186", "Z11K2": "מחרוזת שנייה" }, { "Z1K1": "Z11", "Z11K1": "Z1132", "Z11K2": "другі радок" }, { "Z1K1": "Z11", "Z11K1": "Z1381", "Z11K2": "segunda cadeia" }, { "Z1K1": "Z11", "Z11K1": "Z1664", "Z11K2": "cel de-al doilea șir" }, { "Z1K1": "Z11", "Z11K1": "Z1643", "Z11K2": "두 번째 문자열" }, { "Z1K1": "Z11", "Z11K1": "Z1001", "Z11K2": "السلسلة الثانية" }, { "Z1K1": "Z11", "Z11K1": "Z1181", "Z11K2": "друга ниска" }, { "Z1K1": "Z11", "Z11K1": "Z1820", "Z11K2": "दूसरा स्ट्रिंग" }, { "Z1K1": "Z11", "Z11K1": "Z1592", "Z11K2": "andra strängen" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20", "Z8660", "Z8661", "Z8662" ], "Z8K4": [ "Z14", "Z966", "Z10590", "Z10597", "Z28319", "Z17569" ], "Z8K5": "Z866" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "string equality" }, { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "অক্ষর সারির সমতা" }, { "Z1K1": "Z11", "Z11K1": "Z1657", "Z11K2": "ਬਰਾਬਰੀ ਲਿਖੀ ਹੁੰਦੀ" }, { "Z1K1": "Z11", "Z11K1": "Z1083", "Z11K2": "برابری لکھی ہندی" }, { "Z1K1": "Z11", "Z11K1": "Z1025", "Z11K2": "równość napisów" }, { "Z1K1": "Z11", "Z11K1": "Z1592", "Z11K2": "textlikhet" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "文字列の一致" }, { "Z1K1": "Z11", "Z11K1": "Z1061", "Z11K2": "er strenge lig" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Zeichenketten-Gleichheit" }, { "Z1K1": "Z11", "Z11K1": "Z1186", "Z11K2": "שוויון מחרוזות" }, { "Z1K1": "Z11", "Z11K1": "Z1157", "Z11K2": "tekenreeksgelijkheid" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "égalité de chaînes" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "rovnost řetězců" }, { "Z1K1": "Z11", "Z11K1": "Z1237", "Z11K2": "dizi eşitliği" }, { "Z1K1": "Z11", "Z11K1": "Z1003", "Z11K2": "igualdad de cadenas" }, { "Z1K1": "Z11", "Z11K1": "Z1332", "Z11K2": "ідентичність рядків" }, { "Z1K1": "Z11", "Z11K1": "Z1851", "Z11K2": "สมการสตริง" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "kesamaan untaian" }, { "Z1K1": "Z11", "Z11K1": "Z1048", "Z11K2": "so sánh xâu" }, { "Z1K1": "Z11", "Z11K1": "Z1645", "Z11K2": "字符串相等" }, { "Z1K1": "Z11", "Z11K1": "Z1672", "Z11K2": "字串相等" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "равенство строк" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "uguaglianza fra stringhe" }, { "Z1K1": "Z11", "Z11K1": "Z1827", "Z11K2": "ισότητα συμβολοσειρών" }, { "Z1K1": "Z11", "Z11K1": "Z1818", "Z11K2": "Stringi dọgbadọgba" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "Stirinji nha nhata" }, { "Z1K1": "Z11", "Z11K1": "Z1013", "Z11K2": "Daidaita ta ƙara " }, { "Z1K1": "Z11", "Z11K1": "Z1680", "Z11K2": "String n de buyila" }, { "Z1K1": "Z11", "Z11K1": "Z1132", "Z11K2": "роўнасьць радкоў" }, { "Z1K1": "Z11", "Z11K1": "Z1381", "Z11K2": "igualdade de cadeias" }, { "Z1K1": "Z11", "Z11K1": "Z1664", "Z11K2": "egalitate între șiruri" }, { "Z1K1": "Z11", "Z11K1": "Z1643", "Z11K2": "문자열 같음" }, { "Z1K1": "Z11", "Z11K1": "Z1001", "Z11K2": "تساوي سلسلة" }, { "Z1K1": "Z11", "Z11K1": "Z1181", "Z11K2": "једнаке ниске" }, { "Z1K1": "Z11", "Z11K1": "Z1820", "Z11K2": "समान स्ट्रिंग" }, { "Z1K1": "Z11", "Z11K1": "Z1207", "Z11K2": "баробарии сатрҳо" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "Equals", "Same", "==", "=", "equal string", "same string", "strings equal", "strings identical", "identity relation (string)", "string comparison", "equal strings" ] }, { "Z1K1": "Z31", "Z31K1": "Z1011", "Z31K2": [ "Z6", "দুটি স্ট্রিং কি একই", "স্ট্রিং সমতা" ] }, { "Z1K1": "Z31", "Z31K1": "Z1062", "Z31K2": [ "Z6", "stejné řetězce" ] }, { "Z1K1": "Z31", "Z31K1": "Z1851", "Z31K2": [ "Z6", "สมการสายอักขระ", "สตริงเท่ากัน", "สตริงเหมือนกัน", "สตริงเดียวกัน", "สายอักขระเท่ากัน", "สายอักขระเหมือนกัน", "สายอักขระเดียวกัน", "เท่ากับ" ] }, { "Z1K1": "Z31", "Z31K1": "Z1078", "Z31K2": [ "Z6", "kesamaan teks", "kesamaan string", "sama dengan", "sama dengan untaian", "sama dengan teks", "sama dengan string" ] }, { "Z1K1": "Z31", "Z31K1": "Z1827", "Z31K2": [ "Z6", "σύγκριση συμβολοσειρών " ] }, { "Z1K1": "Z31", "Z31K1": "Z1132", "Z31K2": [ "Z6", "эквівалентнасьць радкоў", "тоеснасьць радкоў" ] }, { "Z1K1": "Z31", "Z31K1": "Z1381", "Z31K2": [ "Z6", "Equivale", "Igual", "Mesmo", "==", "=", "cadeia igual", "mesma cadeia", "cadeias iguais", "cadeias idênticas", "relação de identidade (cadeia)", "comparação de cadeias" ] }, { "Z1K1": "Z31", "Z31K1": "Z1664", "Z31K2": [ "Z6", "egalitate", "egal", "aceleași", "==", "=", "aceleași șiruri", "egalitate de șiruri", "egalitate în șiruri", "egalitate șiruri" ] }, { "Z1K1": "Z31", "Z31K1": "Z1643", "Z31K2": [ "Z6", "같음", "동일", "==", "=", "같은 문자열", "동일한 문자열", "문자열 동일", "동일 문자열", "동일성 관계(문자열)" ] }, { "Z1K1": "Z31", "Z31K1": "Z1787", "Z31K2": [ "Z6", "eguaglianza tra stringhe", "stessa stringa", "stringhe uguali", "stringhe identiche", "confronta stringhe", "uguaglianza tra stringhe", "eguaglianza fra stringhe" ] }, { "Z1K1": "Z31", "Z31K1": "Z1001", "Z31K2": [ "Z6", "==", "نفس السلسلة", "سلاسل متطابقة", "متساوية" ] }, { "Z1K1": "Z31", "Z31K1": "Z1181", "Z31K2": [ "Z6", "исте ниске", "исто", "једнакост", "једнако", "идентичне ниске", "једнакост ниских" ] }, { "Z1K1": "Z31", "Z31K1": "Z1820", "Z31K2": [ "Z6", "समान, बराबर" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "সত্য যদি প্রথম অক্ষর সারি এবং দ্বিতীয় অক্ষর সারি একই হয়" }, { "Z1K1": "Z11", "Z11K1": "Z1025", "Z11K2": "Sprawdza, czy dwa napisy są sobie dokładnie równe" }, { "Z1K1": "Z11", "Z11K1": "Z1592", "Z11K2": "sant om två textsträngar är exakt lika" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "True if the first string and the second string are the same" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "与えられた2つの文字列が一致する場合" }, { "Z1K1": "Z11", "Z11K1": "Z1061", "Z11K2": "test om to strenge er lig hinanden" }, { "Z1K1": "Z11", "Z11K1": "Z1186", "Z11K2": "אמת אם המחרוזת הראשונה שווה לשנייה" }, { "Z1K1": "Z11", "Z11K1": "Z1157", "Z11K2": "waar als de eerste tekenreeks en de tweede tekenreeks hetzelfde zijn" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "renvoie \"vrai\" dans le cas où la première et la seconde chaîne sont les mêmes, sinon \"faux\"" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "Vrací pravdivou hodnotu právě tehdy když jsou dva vstupní řetězce totožné" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "prüft, ob zwei Zeichenketten gleich sind" }, { "Z1K1": "Z11", "Z11K1": "Z1332", "Z11K2": "повертає істину, якщо перший та другий рядки однакові" }, { "Z1K1": "Z11", "Z11K1": "Z1851", "Z11K2": "ส่งกลับค่าจริงถ้าสตริงที่หนึ่งเหมือนกับสตริงที่สอง" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "hanya bernilai benar jika kedua untaian yang dimasukkan sama" }, { "Z1K1": "Z11", "Z11K1": "Z1048", "Z11K2": "Ra \"đúng\" nếu hai xâu bằng nhau" }, { "Z1K1": "Z11", "Z11K1": "Z1645", "Z11K2": "如果第一个字符串和第二个字符串相同,则为真" }, { "Z1K1": "Z11", "Z11K1": "Z1672", "Z11K2": "如果第一個字串和第二個字串相同,則為真" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "возвращает true, если первая и вторая строка идентичны" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "Ritorna vero se le due stringhe sono uguali" }, { "Z1K1": "Z11", "Z11K1": "Z1827", "Z11K2": "επιστρέφει \"αληθής\" μόνο εάν και οι δύο είσοδοι είναι ίσες" }, { "Z1K1": "Z11", "Z11K1": "Z1818", "Z11K2": "Otitọ ti stringi akọkọ ati okun keji jẹ kanna" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "eziokwu ma ọ bụrụ na strinji mbụ na stirinji nke abụọ bụ otu" }, { "Z1K1": "Z11", "Z11K1": "Z1013", "Z11K2": "Gaskiya ne idan ƙara na farko da na biyu suna da ɗaya " }, { "Z1K1": "Z11", "Z11K1": "Z1587", "Z11K2": "string equality" }, { "Z1K1": "Z11", "Z11K1": "Z1680", "Z11K2": "yelemeŋerɛ de la wia string \"la string buyi la de la buyila" }, { "Z1K1": "Z11", "Z11K1": "Z1132", "Z11K2": "ісьціна, калі першы і другі радкі аднолькавыя" }, { "Z1K1": "Z11", "Z11K1": "Z1381", "Z11K2": "Verdadeiro se a primeira cadeia e a segunda cadeia forem iguais" }, { "Z1K1": "Z11", "Z11K1": "Z1664", "Z11K2": "Returnează Adevărat dacă primul șir și cel de-al doilea șir sunt identice" }, { "Z1K1": "Z11", "Z11K1": "Z1643", "Z11K2": "첫 번째 문자열과 두 번째 문자열이 같으면 참입니다." }, { "Z1K1": "Z11", "Z11K1": "Z1001", "Z11K2": "صحيح إذا كانت السلسلة الأولى والسلسلة الثانية متساويتين" }, { "Z1K1": "Z11", "Z11K1": "Z1181", "Z11K2": "враћа Тачно ако су ниске једнаке" }, { "Z1K1": "Z11", "Z11K1": "Z1820", "Z11K2": "अगर पहले और दूसरे स्ट्रिंग समान हो तो सच" } ] } } 4gf2cxj51svnbozmvmw9871ve9nnde5 299857 299856 2026-08-16T07:23:48Z DVrandecic (WMF) 7 Added Z13389 to the approved list of test cases 299857 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z866" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z866K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "first string" }, { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "প্রথম অক্ষর" }, { "Z1K1": "Z11", "Z11K1": "Z1025", "Z11K2": "pierwszy napis" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "1つ目の文字列" }, { "Z1K1": "Z11", "Z11K1": "Z1061", "Z11K2": "første streng" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "první řetězec" }, { "Z1K1": "Z11", "Z11K1": "Z1003", "Z11K2": "primera cadena" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "erste Zeichenkette" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "première chaîne" }, { "Z1K1": "Z11", "Z11K1": "Z1851", "Z11K2": "สตริงที่หนึ่ง" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "teks pertama" }, { "Z1K1": "Z11", "Z11K1": "Z1645", "Z11K2": "第一个字符串" }, { "Z1K1": "Z11", "Z11K1": "Z1672", "Z11K2": "第一個字串" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "первая строка" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "prima stringa" }, { "Z1K1": "Z11", "Z11K1": "Z1827", "Z11K2": "πρώτη συμβολοσειρά" }, { "Z1K1": "Z11", "Z11K1": "Z1818", "Z11K2": "Stringi Keni" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "Strinji" }, { "Z1K1": "Z11", "Z11K1": "Z1013", "Z11K2": "Layi na 1" }, { "Z1K1": "Z11", "Z11K1": "Z1587", "Z11K2": "string sinnaanta" }, { "Z1K1": "Z11", "Z11K1": "Z1680", "Z11K2": "Boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1332", "Z11K2": "перший рядок" }, { "Z1K1": "Z11", "Z11K1": "Z1186", "Z11K2": "מחרוזת ראשונה" }, { "Z1K1": "Z11", "Z11K1": "Z1132", "Z11K2": "першы радок" }, { "Z1K1": "Z11", "Z11K1": "Z1381", "Z11K2": "primeira cadeia" }, { "Z1K1": "Z11", "Z11K1": "Z1664", "Z11K2": "primul șir" }, { "Z1K1": "Z11", "Z11K1": "Z1643", "Z11K2": "첫 번째 문자열" }, { "Z1K1": "Z11", "Z11K1": "Z1001", "Z11K2": "السلسلة الأولى" }, { "Z1K1": "Z11", "Z11K1": "Z1181", "Z11K2": "прва ниска" }, { "Z1K1": "Z11", "Z11K1": "Z1820", "Z11K2": "पहला स्ट्रिंग" }, { "Z1K1": "Z11", "Z11K1": "Z1592", "Z11K2": "första strängen" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z866K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "second string" }, { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "দ্বিতীয় অক্ষর" }, { "Z1K1": "Z11", "Z11K1": "Z1025", "Z11K2": "drugi napis" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "2つ目の文字列" }, { "Z1K1": "Z11", "Z11K1": "Z1061", "Z11K2": "anden streng" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "druhý řetězec" }, { "Z1K1": "Z11", "Z11K1": "Z1003", "Z11K2": "segunda cadena" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "zweite Zeichenkette" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "deuxième chaîne" }, { "Z1K1": "Z11", "Z11K1": "Z1851", "Z11K2": "สตริงที่สอง" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "teks kedua" }, { "Z1K1": "Z11", "Z11K1": "Z1645", "Z11K2": "第二个字符串" }, { "Z1K1": "Z11", "Z11K1": "Z1672", "Z11K2": "第二個字串" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "вторая строка" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "seconda stringa" }, { "Z1K1": "Z11", "Z11K1": "Z1827", "Z11K2": "δεύτερη συμβολοσειρά" }, { "Z1K1": "Z11", "Z11K1": "Z1818", "Z11K2": "Stringi Keji" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "Strinji" }, { "Z1K1": "Z11", "Z11K1": "Z1013", "Z11K2": "Layi na 2" }, { "Z1K1": "Z11", "Z11K1": "Z1680", "Z11K2": "Boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1332", "Z11K2": "другий рядок" }, { "Z1K1": "Z11", "Z11K1": "Z1186", "Z11K2": "מחרוזת שנייה" }, { "Z1K1": "Z11", "Z11K1": "Z1132", "Z11K2": "другі радок" }, { "Z1K1": "Z11", "Z11K1": "Z1381", "Z11K2": "segunda cadeia" }, { "Z1K1": "Z11", "Z11K1": "Z1664", "Z11K2": "cel de-al doilea șir" }, { "Z1K1": "Z11", "Z11K1": "Z1643", "Z11K2": "두 번째 문자열" }, { "Z1K1": "Z11", "Z11K1": "Z1001", "Z11K2": "السلسلة الثانية" }, { "Z1K1": "Z11", "Z11K1": "Z1181", "Z11K2": "друга ниска" }, { "Z1K1": "Z11", "Z11K1": "Z1820", "Z11K2": "दूसरा स्ट्रिंग" }, { "Z1K1": "Z11", "Z11K1": "Z1592", "Z11K2": "andra strängen" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20", "Z8660", "Z8661", "Z8662", "Z13389" ], "Z8K4": [ "Z14", "Z966", "Z10590", "Z10597", "Z28319", "Z17569" ], "Z8K5": "Z866" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "string equality" }, { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "অক্ষর সারির সমতা" }, { "Z1K1": "Z11", "Z11K1": "Z1657", "Z11K2": "ਬਰਾਬਰੀ ਲਿਖੀ ਹੁੰਦੀ" }, { "Z1K1": "Z11", "Z11K1": "Z1083", "Z11K2": "برابری لکھی ہندی" }, { "Z1K1": "Z11", "Z11K1": "Z1025", "Z11K2": "równość napisów" }, { "Z1K1": "Z11", "Z11K1": "Z1592", "Z11K2": "textlikhet" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "文字列の一致" }, { "Z1K1": "Z11", "Z11K1": "Z1061", "Z11K2": "er strenge lig" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Zeichenketten-Gleichheit" }, { "Z1K1": "Z11", "Z11K1": "Z1186", "Z11K2": "שוויון מחרוזות" }, { "Z1K1": "Z11", "Z11K1": "Z1157", "Z11K2": "tekenreeksgelijkheid" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "égalité de chaînes" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "rovnost řetězců" }, { "Z1K1": "Z11", "Z11K1": "Z1237", "Z11K2": "dizi eşitliği" }, { "Z1K1": "Z11", "Z11K1": "Z1003", "Z11K2": "igualdad de cadenas" }, { "Z1K1": "Z11", "Z11K1": "Z1332", "Z11K2": "ідентичність рядків" }, { "Z1K1": "Z11", "Z11K1": "Z1851", "Z11K2": "สมการสตริง" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "kesamaan untaian" }, { "Z1K1": "Z11", "Z11K1": "Z1048", "Z11K2": "so sánh xâu" }, { "Z1K1": "Z11", "Z11K1": "Z1645", "Z11K2": "字符串相等" }, { "Z1K1": "Z11", "Z11K1": "Z1672", "Z11K2": "字串相等" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "равенство строк" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "uguaglianza fra stringhe" }, { "Z1K1": "Z11", "Z11K1": "Z1827", "Z11K2": "ισότητα συμβολοσειρών" }, { "Z1K1": "Z11", "Z11K1": "Z1818", "Z11K2": "Stringi dọgbadọgba" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "Stirinji nha nhata" }, { "Z1K1": "Z11", "Z11K1": "Z1013", "Z11K2": "Daidaita ta ƙara " }, { "Z1K1": "Z11", "Z11K1": "Z1680", "Z11K2": "String n de buyila" }, { "Z1K1": "Z11", "Z11K1": "Z1132", "Z11K2": "роўнасьць радкоў" }, { "Z1K1": "Z11", "Z11K1": "Z1381", "Z11K2": "igualdade de cadeias" }, { "Z1K1": "Z11", "Z11K1": "Z1664", "Z11K2": "egalitate între șiruri" }, { "Z1K1": "Z11", "Z11K1": "Z1643", "Z11K2": "문자열 같음" }, { "Z1K1": "Z11", "Z11K1": "Z1001", "Z11K2": "تساوي سلسلة" }, { "Z1K1": "Z11", "Z11K1": "Z1181", "Z11K2": "једнаке ниске" }, { "Z1K1": "Z11", "Z11K1": "Z1820", "Z11K2": "समान स्ट्रिंग" }, { "Z1K1": "Z11", "Z11K1": "Z1207", "Z11K2": "баробарии сатрҳо" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "Equals", "Same", "==", "=", "equal string", "same string", "strings equal", "strings identical", "identity relation (string)", "string comparison", "equal strings" ] }, { "Z1K1": "Z31", "Z31K1": "Z1011", "Z31K2": [ "Z6", "দুটি স্ট্রিং কি একই", "স্ট্রিং সমতা" ] }, { "Z1K1": "Z31", "Z31K1": "Z1062", "Z31K2": [ "Z6", "stejné řetězce" ] }, { "Z1K1": "Z31", "Z31K1": "Z1851", "Z31K2": [ "Z6", "สมการสายอักขระ", "สตริงเท่ากัน", "สตริงเหมือนกัน", "สตริงเดียวกัน", "สายอักขระเท่ากัน", "สายอักขระเหมือนกัน", "สายอักขระเดียวกัน", "เท่ากับ" ] }, { "Z1K1": "Z31", "Z31K1": "Z1078", "Z31K2": [ "Z6", "kesamaan teks", "kesamaan string", "sama dengan", "sama dengan untaian", "sama dengan teks", "sama dengan string" ] }, { "Z1K1": "Z31", "Z31K1": "Z1827", "Z31K2": [ "Z6", "σύγκριση συμβολοσειρών " ] }, { "Z1K1": "Z31", "Z31K1": "Z1132", "Z31K2": [ "Z6", "эквівалентнасьць радкоў", "тоеснасьць радкоў" ] }, { "Z1K1": "Z31", "Z31K1": "Z1381", "Z31K2": [ "Z6", "Equivale", "Igual", "Mesmo", "==", "=", "cadeia igual", "mesma cadeia", "cadeias iguais", "cadeias idênticas", "relação de identidade (cadeia)", "comparação de cadeias" ] }, { "Z1K1": "Z31", "Z31K1": "Z1664", "Z31K2": [ "Z6", "egalitate", "egal", "aceleași", "==", "=", "aceleași șiruri", "egalitate de șiruri", "egalitate în șiruri", "egalitate șiruri" ] }, { "Z1K1": "Z31", "Z31K1": "Z1643", "Z31K2": [ "Z6", "같음", "동일", "==", "=", "같은 문자열", "동일한 문자열", "문자열 동일", "동일 문자열", "동일성 관계(문자열)" ] }, { "Z1K1": "Z31", "Z31K1": "Z1787", "Z31K2": [ "Z6", "eguaglianza tra stringhe", "stessa stringa", "stringhe uguali", "stringhe identiche", "confronta stringhe", "uguaglianza tra stringhe", "eguaglianza fra stringhe" ] }, { "Z1K1": "Z31", "Z31K1": "Z1001", "Z31K2": [ "Z6", "==", "نفس السلسلة", "سلاسل متطابقة", "متساوية" ] }, { "Z1K1": "Z31", "Z31K1": "Z1181", "Z31K2": [ "Z6", "исте ниске", "исто", "једнакост", "једнако", "идентичне ниске", "једнакост ниских" ] }, { "Z1K1": "Z31", "Z31K1": "Z1820", "Z31K2": [ "Z6", "समान, बराबर" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "সত্য যদি প্রথম অক্ষর সারি এবং দ্বিতীয় অক্ষর সারি একই হয়" }, { "Z1K1": "Z11", "Z11K1": "Z1025", "Z11K2": "Sprawdza, czy dwa napisy są sobie dokładnie równe" }, { "Z1K1": "Z11", "Z11K1": "Z1592", "Z11K2": "sant om två textsträngar är exakt lika" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "True if the first string and the second string are the same" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "与えられた2つの文字列が一致する場合" }, { "Z1K1": "Z11", "Z11K1": "Z1061", "Z11K2": "test om to strenge er lig hinanden" }, { "Z1K1": "Z11", "Z11K1": "Z1186", "Z11K2": "אמת אם המחרוזת הראשונה שווה לשנייה" }, { "Z1K1": "Z11", "Z11K1": "Z1157", "Z11K2": "waar als de eerste tekenreeks en de tweede tekenreeks hetzelfde zijn" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "renvoie \"vrai\" dans le cas où la première et la seconde chaîne sont les mêmes, sinon \"faux\"" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "Vrací pravdivou hodnotu právě tehdy když jsou dva vstupní řetězce totožné" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "prüft, ob zwei Zeichenketten gleich sind" }, { "Z1K1": "Z11", "Z11K1": "Z1332", "Z11K2": "повертає істину, якщо перший та другий рядки однакові" }, { "Z1K1": "Z11", "Z11K1": "Z1851", "Z11K2": "ส่งกลับค่าจริงถ้าสตริงที่หนึ่งเหมือนกับสตริงที่สอง" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "hanya bernilai benar jika kedua untaian yang dimasukkan sama" }, { "Z1K1": "Z11", "Z11K1": "Z1048", "Z11K2": "Ra \"đúng\" nếu hai xâu bằng nhau" }, { "Z1K1": "Z11", "Z11K1": "Z1645", "Z11K2": "如果第一个字符串和第二个字符串相同,则为真" }, { "Z1K1": "Z11", "Z11K1": "Z1672", "Z11K2": "如果第一個字串和第二個字串相同,則為真" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "возвращает true, если первая и вторая строка идентичны" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "Ritorna vero se le due stringhe sono uguali" }, { "Z1K1": "Z11", "Z11K1": "Z1827", "Z11K2": "επιστρέφει \"αληθής\" μόνο εάν και οι δύο είσοδοι είναι ίσες" }, { "Z1K1": "Z11", "Z11K1": "Z1818", "Z11K2": "Otitọ ti stringi akọkọ ati okun keji jẹ kanna" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "eziokwu ma ọ bụrụ na strinji mbụ na stirinji nke abụọ bụ otu" }, { "Z1K1": "Z11", "Z11K1": "Z1013", "Z11K2": "Gaskiya ne idan ƙara na farko da na biyu suna da ɗaya " }, { "Z1K1": "Z11", "Z11K1": "Z1587", "Z11K2": "string equality" }, { "Z1K1": "Z11", "Z11K1": "Z1680", "Z11K2": "yelemeŋerɛ de la wia string \"la string buyi la de la buyila" }, { "Z1K1": "Z11", "Z11K1": "Z1132", "Z11K2": "ісьціна, калі першы і другі радкі аднолькавыя" }, { "Z1K1": "Z11", "Z11K1": "Z1381", "Z11K2": "Verdadeiro se a primeira cadeia e a segunda cadeia forem iguais" }, { "Z1K1": "Z11", "Z11K1": "Z1664", "Z11K2": "Returnează Adevărat dacă primul șir și cel de-al doilea șir sunt identice" }, { "Z1K1": "Z11", "Z11K1": "Z1643", "Z11K2": "첫 번째 문자열과 두 번째 문자열이 같으면 참입니다." }, { "Z1K1": "Z11", "Z11K1": "Z1001", "Z11K2": "صحيح إذا كانت السلسلة الأولى والسلسلة الثانية متساويتين" }, { "Z1K1": "Z11", "Z11K1": "Z1181", "Z11K2": "враћа Тачно ако су ниске једнаке" }, { "Z1K1": "Z11", "Z11K1": "Z1820", "Z11K2": "अगर पहले और दूसरे स्ट्रिंग समान हो तो सच" } ] } } 4iknrmlysjfuxqjkzxmc6xn1at6nbnt Wikifunctions:Project chat 4 1184 299803 299402 2026-08-16T03:08:10Z SpBot 978 archive 1 section: 1 to [[Wikifunctions:Project chat/Archive/2026/07]] (after section [[Wikifunctions:Project chat/Archive/2026/07#Discussion_at_Meta_Requests_for_comment:_The_future_of_Abstract_Wikipedia|Discussion_at_Meta_Requests_for_comment:_The_future_of_Abstract_Wikipedia]]) - previous edit: [[:User:Virinas-code|Virinas-code]], 2026-08-14 12:48 299803 wikitext text/x-wiki {{shortcut|[[WF:CHAT]]|[[WF:PC]]|[[WF:VP]]}} __NEWSECTIONLINK__ [[Category:Help]] <!-- please do not remove this line --> Welcome to the Project chat, a place to discuss any and all aspects of Wikifunctions: the project itself, policy and proposals, individual data items, technical issues, etc. Other places to find help: * [[Wikifunctions:Administrators' noticeboard]] * [[Wikifunctions:Report a technical problem]] * [[Wikifunctions:FAQ]] {{Autoarchive resolved section |age = 1 |archive = ((FULLPAGENAME))/Archive/((year))/((month:##)) |timeout=30 }} {{Archives|{{#tag:div|<br />{{Flatlist|{{Special:PrefixIndex/WF:Project chat/Archive/|stripprefix=1|hideredirects=1}} |class=mw-collapsible-content|style=font-size:92%;}}|class="mw-collapsible mw-collapsible-toggle mw-collapsed"}} |prefix=WF:Project chat/Archive/ }} == Wikifunctions & Abstract Wikipedia Newsletter #257: Beyond syntactic tables == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-07-16|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we discuss syntactic tables and news in Types, we show some community blogposts and tools, we remind you of the Wikifunctions and Abstract Wikipedia events at Wikimania 2026, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! We also remind you that in the next weeks these newsletter reminders will be paused, and that they will resume in mid-August. Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 10:55, 17 July 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30755600 --> == Update on Blockly editor == In case anyone is actually using [[User:YoshiRulz/Blockly|my external editor based on Blockly]] (there's no analytics so I have no idea): I cleared out my "papercut" backlog yesterday, fixing bugs, making exporting smoother, and adding more blocks necessary for NLG functions. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:35, 20 July 2026 (UTC) :Great! I'll try it out now. [[User:So9q|So9q]] ([[User talk:So9q|talk]]) 18:15, 21 July 2026 (UTC) == Building reproducible, computable phenotypes on WikiFunctions == Hello all! Very new to WikiFunctions, more involved in the Wikidata side of things, but I was thinking that WikiFunctions may be a great space for computable phenotypes. These are structures (lists of rules) used in medicine to determine if a person has or doesn't have a particular condition (type 2 diabetes, asthma, etc.). There is a constant issue in my field of recreating the wheel for these phenotypes and very few resources where they are openly available (there was PheKB but it isn't updated often and only contains natural language descriptions of the phenotypes and often no code or other information to reproduce). My thought process was that an algorithm for a computable phenotype would essentially be a list of synthetic (fake) patients with certain characteristics, and then the computable phenotype would be run, and it would return a list of patients who have that condition. The major use case would be allowing individuals to download these code snippets to increase general reproducibility in medical care and studies overall. Would it be possible to utilize WikiFunctions for this? [[User:Superraptor123|Superraptor123]] ([[User talk:Superraptor123|talk]]) 08:25, 23 July 2026 (UTC) :({{Q|25203551}})<br>What system(s) are currently in use for doing such computations? Python scripts?<br>{{SITENAME}} currently does not cater to offline execution, so I imagine it wouldn't be suitable for medical ''practice'' where there are strict data protections. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:35, 23 July 2026 (UTC) ::Currently this involves something along the lines of a structured series of descriptors that make up the computable phenotype (ICD codes, RxNorm codes, lab test levels, age ranges, etc.), a fake "patient" (or list of "fake" patients) as input, and the patients that fit the computable phenotype criteria as output. In terms of systems currently in use, they are kind of-- everything. SQL, Java, SPARQL, Python, Perl, Ruby, etc. Currently I develop mostly using Python, so I would likely use that for implementation. And of course, yes, they would not be suitable for practice due to protections! For an example of an algorithm that I think could be useful to adapt, see: https://phekb.org/phenotype/type-2-diabetes-mellitus. [[User:Superraptor123|Superraptor123]] ([[User talk:Superraptor123|talk]]) 12:02, 23 July 2026 (UTC) :::So your reference is a decision tree, and are each of the "questions" evaluated by looking up a property/element in the input? That could be translated into a Function relatively easily. Most examples I can think of are NLG-related, like [[Z36580]], but there are [[WF:Catalogue/Wikidata_operations#Real_life_information_retrieved_using_Wikidata|some simpler Functions]] which extract parts of a given Wikidata Item, and [[Z34840]] works with the representations of numbers. What is the structure of the input EMR? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:54, 23 July 2026 (UTC) ::::Precisely-- I think most of these would be simple implementations, but good to generally have archived as most of them become lost media(-ish). Best-case, the input EMR would be a set of synthetic patients using the OMOP CDM (https://ohdsi.github.io/CommonDataModel/), the most common open data model in the space. It does mean it wouldn't be completely system agnostic, but it would most in the majority of situations. [[User:Superraptor123|Superraptor123]] ([[User talk:Superraptor123|talk]]) 14:07, 23 July 2026 (UTC) :::::If you decide to go ahead with this, you should [[WF:Type_proposals#Templates|propose a new type]] since it looks like a simple [[Z881|list]] or [[Z883|dict]] won't cover it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:31, 23 July 2026 (UTC) :Did you look much into the possibility of encoding these in Wikidata somehow? Have [[d:WD:WikiProject Medicine]] / [[meta:Wiki Project Med]] investigated it before? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:31, 23 July 2026 (UTC) ::I don't think so-- it could potentially be somewhat encoded in Wikidata-- main issue is that it uses a list of codes which Wikidata sometimes attaches to the same entity in ways that don't match up 1-to-1. And there may be drift in those codes over time, so the list of codes would have to be hard-coded. But there should generally be a way to link from the WikiFunction to Wikidata right? [[User:Superraptor123|Superraptor123]] ([[User talk:Superraptor123|talk]]) 22:06, 23 July 2026 (UTC) :::Linking ''to WF'' from an Item on Wikidata [[d:WD:Wikifunctions/Development|is an open question]], beyond sitelinks of course. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 12:02, 24 July 2026 (UTC) ::::So maybe creating functions here makes the most sense for the time being? I want to make sure I'm following the rules as intended but would that be okay for now? (Creating one or two and then presenting to the community to see if things look acceptable?) [[User:Superraptor123|Superraptor123]] ([[User talk:Superraptor123|talk]]) 06:46, 25 July 2026 (UTC) :::::Yes, you're welcome to try! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:53, 25 July 2026 (UTC) ::::::Thanks! I've been thinking about this a little bit-- in terms of objects, it may make sense to have an object that is an OMOP CDM database (which is allowed by their licensing, as the database schema is open source). But I'm wondering if it should instead be an extension of a more generic database object? [[User:Superraptor123|Superraptor123]] ([[User talk:Superraptor123|talk]]) 11:06, 28 July 2026 (UTC) == OWID's replacement for Extension:Graph == [[meta:OWID Gadget]] / [[c:Module:Owidslider]]<br>I'm currently watching the Wikimania talk "[https://wikimedia.eventyay.com/wm/wikimania2026/talk/CMPQQJ/ Bringing Interactive Graphs from Our World in Data to Wikipedia]" going through the latest iteration of their interactive graphs, and they seem to be in a good position now, including <abbr title="internationalisation">i18n</abbr>. I think it would be nice to use them in Abstract Wikipedia articles as well, but it's implemented as a Lua module + JS gadget. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:00, 23 July 2026 (UTC) == Friday's talks at Wikimania == {{noping|Mahir256}} just finished his talk/workshop "[https://wikimedia.eventyay.com/wm/wikimania2026/talk/HYTQBF From Abstract Content to Concrete Text with Wikidata Lexemes]" on {{Q|136813071}}. You can [https://www.youtube.com/watch?v=hvpOFVZhgnE&t=24370s watch it on YouTube here] (though there were audio problems, '''volume warning'''). <br>The workshop immediately before that was "[https://wikimedia.eventyay.com/wm/wikimania2026/talk/TWGKWB/ Making indigenous languages ready for Wikifunctions]". Hello to anyone who came from there! [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:58, 24 July 2026 (UTC) :@[[User:YoshiRulz|YoshiRulz]]: Thanks for highlighting these! There's also today's workshop [https://www.youtube.com/watch?v=nCVeXaAk77c on YouTube] about 90 minutes after the start of the stream, though that might not be as interesting to watch. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 13:28, 25 July 2026 (UTC) == Testing an unconnected implementation == Hi everyone! A few hours ago, I created [[Z38370|my first function]] together with [[Z38371|an unfinished Python implementation]]. When I wanted to test my implementation using the "Try this implementation" box in the bottom-right corner, I noticed that the button "Run function" was grayed out and there was a warning saying "This function has no connected implementations." As it seems, you can only run an implementation if its corresponding function has at least one connected implementation. The implementation you want to run doesn't even have to be connected itself, as I can run the unconnected implementation [[Z12949]] without any problems, even when I modify its code in the editor. Is this behavior intentional? And is there any way I can test my implementation? [[User:Tc14Hd|Tc14Hd]] ([[User talk:Tc14Hd|talk]]) 19:28, 28 July 2026 (UTC) :Yeah, it's [[phab:T343559#11421293|a pointless limitation]]. I've connected the test for you. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:56, 28 July 2026 (UTC) ::Thanks! I knew I couldn't be the only one who noticed this problem... [[User:Tc14Hd|Tc14Hd]] ([[User talk:Tc14Hd|talk]]) 13:00, 29 July 2026 (UTC) == [[Help:Categorization]] == Hi! Just wanted to let everyone know that I recently created [[Help:Categorization]] as a draft help page explaining how categories work. I'm new to Wikifunctions, but I used my knowledge of MediaWiki in general combined with some research to write it. If anyone would like to improve it, feel free to. [[User:Axolitl|Axolitl]] ([[User talk:Axolitl|talk]]) 04:32, 30 July 2026 (UTC) :It's just a general MediaWiki categories guide. It doesn't have anything special for Wikifunctions, which doesn't really have categories in the main namespace. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 16:42, 30 July 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #258: Abstract Wikipedia at Wikimania == <div lang="en" dir="ltr" class="mw-content-ltr">There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-07-29|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we discuss the presentations and workshops at Wikimania, including a features feedback request based on what we heard there, and highlight new features shipped this week including diffs for Wikifunctions. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! [[m:user:Quiddity (WMF)|Quiddity (WMF)]] 19:05, 30 July 2026 (UTC) </div> <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30870212 --> == Impact of labels translation == A lot of the edits on Wikifunctions are additions and changes of labels, descriptions, and aliases of functions, inputs, tests, and implementations. (I will subsequently call this "labels" for simplicity.) At Wikimania 2026, I heard from editors in several languages that they were encouraged to translate Wikifunctions' labels, and it made me wonder: Are there reasons to think that editing those labels has impact on the usage of Wikifunctions and Abstract Wikipedia by people who speak these languages? In general, I am quite famous as a major supporter of translating everything imaginable, but there should also be priorities, so if editing those labels doesn't have impact, then perhaps editors should be encouraged to translate something more visible. After English, [https://quarry.wmcloud.org/query/103687 the most common languages for editing labels] are German, French, Igbo, Italian, Indonesian, Bengali, Dutch, Japanese, Hindi, and Hebrew <small>([[User:Amire80/wikifunctionsanalytics|information about this data]])</small>. Looking a bit more deeply into some of those: * Hebrew labels were mostly contributed by @[[User:מקף|מקף]] (pronounced Maqaf), and a few were contributed by myself. I edit them mostly because I love seeing the UI translated as completely as possible, and since some object labels are integrated into the site's UI, they should be translated. Does this complete translation raise the usage of Wikifunctions by Hebrew speakers, though? I doubt it. Maqaf probably edits them because he creates some functions related to the Hebrew language, but that's just a guess, and I'd love to hear more about his motivation. * The top editor of German labels is @[[User:Ameisenigel|Ameisenigel]], who is generally a major contributor to translations across many Wikimedia projects, so perhaps his motivation is similar to mine, but he does it much more than I do. He also edits the content of actual functions, implementations, and tests. Some of the other German label editors do almost nothing but editing labels, although some, like @[[User:Lucas Werkmeister|Lucas Werkmeister]] and of course @[[User:Denny|Denny]] also contribute to actual functions and implementations. But back to the main question: German is the top language for label translations thanks to [[User:Ameisenigel|Ameisenigel]]'s huge work, but does it, for example, impact the creation of abstract content that works in German? When I try to select German on most abstract articles, I usually don't see a fully translated article. But maybe I'm not searching well? * The situation is a bit similar with French. @[[User:Jérémy-Günther-Heinz Jähnick|Jérémy-Günther-Heinz Jähnick]] is the top French label editor, but he makes almost no contributions to functions and implementations. The second top label editor is @[[User:VIGNERON|VIGNERON]], who does contribute quite a lot to functions and implementations. There are several other prolific French label editors, but most of them contribute little or nothing at all to functions and implementations. And as with German, I almost never see abstract articles fully translated into French. * Igbo has shown disproportionate label editing activity. I don't know why exactly, but I guess that there was some event that encouraged people to write labels (if anyone knows more, please tell me). All the top 10 Igbo label editors only wrote labels and didn't do anything else with functions or implementations. There are quite a lot of [[Wikifunctions:Catalogue/Natural language operations/Igbo|Igbo language functions]], all of which were made by @[[User:Dolphyb|Dolphyb]], who contributed very little to translations. This, by itself, is not a problem at all: it's very common that programmers mostly write code and translators mostly translate. There is still the same question, though: do those language functions and massive label translations contribute to achieving Abstract Wikipedia's goal of generating Igbo content? I haven't seen evidence to support that, but I'd love to see it if anyone can present it. * The situation with Indonesian is similar to the situation with Igbo, but there are [[Wikifunctions:Catalogue/Natural language operations/Igbo|much fewer language functions for Indonesian]]. So that's what I can glean. If I'm incorrect about anything or if you can add some more info, please speak up. Because of my interest in localization, I'll be very grateful to learn more. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:50, 30 July 2026 (UTC) :Adding labels in other languages has several advantages for the project. To name a few :* It is an easy introduction to Wikifunctions :* it is good for the image of Wikifunctions and Abstract Wikipedia as not being English centric :* Contributors of Wikifunctions should be able to add texts in their own languages, so translations main functions is vital for that. That includes labels, descriptions and inputs. :Not many labels are translated yet and not many functions work yet for other languages than English at the moment. The community is still very small, but I hope both will grow over time. They can mutually benefit each other. [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 21:19, 30 July 2026 (UTC) ::@[[User:HenkvD|HenkvD]], I heard similar claims before, but it's to scrutinize them. ::{{tq|It is an easy introduction to Wikifunctions}} - and what does this introduction lead to? I haven't seen clear evidence that translating labels leads to other contributions or to using functions. ::{{tq|it is good for the image of Wikifunctions and Abstract Wikipedia as not being English centric}} - is it actually good? Evidently, many people in recent critical discussions about Wikifunctions and Abstract Wikipedia still think that it's English-centric. ::{{tq|Contributors of Wikifunctions should be able to add texts in their own languages, so translations main functions is vital for that. That includes labels, descriptions and inputs}} - it ''sounds'' vital; as I said, I support localization of everything in principle, and this is the main reason for thinking like that. However, this doesn't answer my question: what is the ''actual'' impact? Wikifunctions has been online for three years, so we should have seen something by now, and we aren't seeing anything. ::{{tq|Not many labels are translated yet}} - how do you define "many"? Thousands of labels were translated, and I think that it is "many". But, as you say, {{tq|not many functions work yet for other languages than English at the moment}} - so evidently, translating labels didn't lead to writing those functions, at least yet. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 21:43, 30 July 2026 (UTC) :::Wikifunctions might be live for 3 years, but Abstract Wikipedia is only lie a few months. As it is early days for '''Language''' functions, and the first are made in English it still is English centric. THAT NEEDS TO CHANGE. Translations should help with that. [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 22:08, 30 July 2026 (UTC) :See also [[Help:Multilingual]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 21:25, 30 July 2026 (UTC) ::Does it say anything about the ''impact'' of translating labels? I don't see it. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 21:44, 30 July 2026 (UTC) :::No, I bring it up only as a possible explanation of translators' motives, and to point out where the documentation is should you want to improve it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:00, 30 July 2026 (UTC) :@[[User:Amire80|Amire80]]: I've seen folks at Wikimania use Abstract Wikipedia in their language and start and edit articles in Tyap, Japanese, and French. Having labels for those functions unlocks the Abstract Wikipedia to be used entirely in their language. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 06:07, 31 July 2026 (UTC) ::I understand the general idea of what this is supposed to be. I wonder whether there is actual measurable impact. ::You give Tyap as a successful example, but it's in fact the example of the opposite. I found zero functions whose name is translated into this language. I found one implementation whose name is translated into Tyap, [[Z29740]], and also a few translated language names and type names. My ''intuition'' is that type names are actually among the most important things to translate here, but very few of them are translated at the moment, and I'm trying to talk about measurable impact here and not about intuition. And as you say in the newsletter, the Tyap contributor was able to do something, even though almost nothing is translated into his language. ::The label translation statistics for Japanese and French are very good, but seeing something at Wikimania is anecdotal; it's not measurable impact. ::So again: I understand the general idea of why localization is desirable. I've dedicated more than sixteen years of my life to promoting this idea, I keep doing it now, and I plan to keep doing for as long as my health allows me to do it. But here, I'm asking not about the idea, but about the impact. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 09:57, 31 July 2026 (UTC) :::Hi {{ping|Amire80}}. I’m not skilled at programming, but I manage to handle the translation work—even if it isn’t perfect. I’m doing my bit to help out. [[User:Jérémy-Günther-Heinz Jähnick|Jérémy-Günther-Heinz Jähnick]] ([[User talk:Jérémy-Günther-Heinz Jähnick|talk]]) 22:29, 1 August 2026 (UTC) ::::Thank you! It's fine, not everyone has to know programming. I'm just wondering how much is it actually helping out. I'm not necessarily saying that it doesn't, but I do wonder how to measure that it does. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 05:50, 2 August 2026 (UTC) :::@[[User:Amire80|Amire80]]: I don't even understand what you are asking for. Measuring what impact, and how? The Tyap editor was able to use it because he also spoke English. If he wouldn't have, he would have an even harder time to use the interface. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 07:30, 2 August 2026 (UTC) ::::Does the translation of function labels into a language have a measurable impact on the usage of Wikifunctions and Abstract Wikipedia in that language? ::::For example, a lot of function labels are translated into Igbo. Does it mean that a lot of abstract articles are fully readable in Igbo? ::::Same question about German, French, Italian, etc. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 11:44, 2 August 2026 (UTC) :::::Translation of labels makes it easier to understand the function side of Abstract Wikipedia, and easier to add and change the lemma. It does NOT have affect on the final text in the language. It may help in writing functions for that language. As Abstract Wikipedia is a fairly new project with few contributors the impact cannot be measured. How would you measure that anyway? [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 12:02, 2 August 2026 (UTC) ::::::They ''can'' make it easier to understand the function, but ''do'' they make it easier? ::::::For example, there was obviously some organized activity to translate labels into Igbo. Look at [https://quarry.wmcloud.org/query/107942 this query]: You can see that there was a lot of label editing activity in Igbo in February, March, April, May, June, and September 2024, and very little activity in other times. It was probably related to this event: [[:m:Event:Translation of catalogue of available functions on wikifunctions igbo]]. ::::::There was also [https://diff.wikimedia.org/2026/01/16/introducing-data-and-functions-reflections-from-indonesian-data-and-technology-week-2025/ a similar event for Indonesian], and you can see in [https://quarry.wmcloud.org/query/107943 the statistics for Indonesian] that there was a peak of edits in December 2025, as described in the blog post. ::::::I don't know if these events were funded with money, but they were definitely ''organized''. Organization requires effort. And of course, effort was also invested into the actual translation. Effort should be invested if it has some impact, and if it has no impact, then it should be invested elsewhere. ::::::How would I measure it? Some examples: ::::::# Are there abstract articles that can actually be fully viewable in Igbo and Indonesian? As far as I can see, there aren't, but correct me if I'm wrong. ::::::# Are there many language functions that can generate text in Igbo and Indonesian, and are those functions actually used? The answer to the first question is "not many" ([[Wikifunctions:Catalogue/Natural language operations/Igbo|Igbo]], [[Wikifunctions:Catalogue/Natural language operations/Indonesian|Indonesian]]); the answer to the second and more important question is "they are probably not used". But again, correct me if I'm wrong. ::::::[[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 21:14, 4 August 2026 (UTC) :::::::I think you're right. To help translation to make more impact, we could document which of our 39,000 objects are most important to translate. For example, the list of types, the list of the fragment functions most used on AW, and the list of functions most used in compositions on WF. Your query tool may be able to help make the third of these? --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:58, 5 August 2026 (UTC) ::::::::I'll try, thanks for the tip! [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 02:09, 5 August 2026 (UTC) :Perhaps the more useful question is not the impact of contributing labels, but the impact of not contributing them. At present, a user who cannot search for a function using their own language is effectively required to use English (or another well-supported language). Such users do not create a visible failure case. :It may therefore be difficult to measure the benefit of translated labels from usage statistics alone because the absence of translations creates a barrier before usage even begins. :There may also be a feedback loop. English currently has the greatest discoverability, which means English-speaking contributors are more likely to notice when a function cannot be found, and to add aliases or improve labels accordingly. This may mean that English has a higher proportion of functions with aliases, and typically more aliases for any such function. Languages with less discoverability have fewer opportunities for this kind of positive feedback. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:09, 5 August 2026 (UTC) ::The questions to ask about this are: which languages are the most successful ones in terms of abstract articles translation? What made them successful? Can it be replicated? ::But that would be a topic for a separate thread. ::Here, I'm wondering about the impact of what people do invest their effort in. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 11:04, 5 August 2026 (UTC) == Contributing to language functions 1: Language Fragments == At Wikimania, @[[User:Dnshitobu|Dnshitobu]] recommended cloning a page like [[User:Dnshitobu/Dagbani Fragments]] and filling it with my own language. If I understand correctly, it's supposed to help to create functions for handling my language. I created [[User:Amire80/Hebrew Fragments]] and started filling it. There are a bunch of problems with it, but let's say that I can complete it. Is it actually useful? Once it's complete, what do I do with it? More broadly, if it is useful, is there a written guideline anywhere that recommends doing it? If I didn't visit Wikimania, I wouldn't know about it. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 22:10, 30 July 2026 (UTC) :From [[WF:Status_updates/2026-07-29#Abstract_Wikipedia_at_Wikimania|this week's newsletter]]: <q>[Dnshitobu's] main proposal is that editors can create simple wikitext tables of example fragments in their language so that others could later do the technical work of setting up the lexemes and NLG functions.</q> The next step is to correlate your example sentences to the top-level NLG functions, then add 1 or 2 test cases to each function from your table.<br>I don't believe {{noping|Dnshitobu}} wrote up the process anywhere on-wiki, but that would be worth doing. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:30, 30 July 2026 (UTC) ::OK, I can try to do it. ::However, I should mention that the examples work kind of well in English, and perhaps they work in Dagbani, but they don't translate easily into Hebrew. Different nouns need different prepositions some letters require morphology transformations and some don't, etc. It cannot really be solved with a few basic concatenations as it was probably done in English. ::The same is true for probably most other languages. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 23:49, 30 July 2026 (UTC) ::Also, who do I notify when it's ready? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 00:58, 31 July 2026 (UTC) :::[[WF:Requests for connection and disconnection]] [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 01:15, 31 July 2026 (UTC) ::::But these are not functions or implementations. These are just example strings. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 09:58, 31 July 2026 (UTC) :::::Right, you have to create test cases from them. For example, the "part of" sentences #7 and #8 correspond to [[Z34637]], so start by adding a test there. Then create a new function with the same shape as [[Z34867]] and add all your sentences to it as tests. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 17:49, 31 July 2026 (UTC) ::::::I think people should get help also if they can just write down how a fragment looks like for a specific language. So it should be not required to create a test case. So far I am not good in implementing functions in Wikifunctions. In the last days I have thinked about how to find a good way to define the fragments if the inputs are modified. This is difficult and I am not sure what is the best way. In the past I proposed [[User:Hogü-456/Decision table for Fragment experiments|decision tables]] for it. From my point of view more ideas and ways how to implement functions are needed as I expected more content in more languages in Abstract Wikipedia so far. It seems to me like it is too complicated to contribute to Wikifunctions at the moment. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:31, 11 August 2026 (UTC) == Contributing to language functions 2: Natural language operations == At [https://meta.wikimedia.org/wiki/Requests_for_comment/The_future_of_Abstract_Wikipedia#c-YoshiRulz-20260730202700-Amire80-20260730200900 this comment], @[[User:YoshiRulz|YoshiRulz]] recommended using pages like [[Wikifunctions:Catalogue/Natural language operations/Hebrew]] to see what functions are missing. What can I actually do with that table? Is there a guide for writing such functions and fitting them into the NLG system? Is this much better than something like [[User:Dnshitobu/Dagbani Fragments]], which I've mentioned in another comment on this talk page? Or can both be used? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 22:17, 30 July 2026 (UTC) :The guide is at [[User:DSantamaria-WMF/Guide: Working with Z14294]] ({{ping|DSantamaria-WMF}} why is this not in Helpspace?), and mirrored in [[toolforge:abstract-data]] IIRC.<br>You can use whatever organisational method you find easiest. (Or if you're lucky enough to have someone to collaborate with, find consensus.) Starting with a Wikitext table means you're not forced to learn about {{Z|14294}} and function creation before you can start working. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:34, 30 July 2026 (UTC) ::About the guide, I just end that guide one week ago and I was asking for some feedback on its correctness, once I have some feedback on that I will move it to the proper space. ::And definitely the tool is meant to be used for those purposes (finding all the [https://www.wikifunctions.org/view/en/Z14294 Z14294] that needs coverage in a specific language for example). Let me know if I can help with that. [[User:DSantamaria-WMF|DSantamaria-WMF]] ([[User talk:DSantamaria-WMF|talk]]) 05:36, 31 July 2026 (UTC) :On [[Abstract:User:HenkvD/Tasks per language]] I drafted a list of tasks per languages and per language fragment. Feel free to comment on this draft. [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 10:17, 31 July 2026 (UTC) ::Linking to the topic two above, one extra thing for Tasks per Language could be a link to a (sectioned) list of ZIDs that are most important to translate. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:22, 5 August 2026 (UTC) == On a set type == In [[WF:TP]], sets were refused as an independent type (and we are redirected towards using Typed lists). After adding many functions relative to hereditary sets and von Neumann ordinals, I believe a proper hereditary set type could be welcome on Wikifunctions. Here is the rationale behind this: * In its current state the Wikifunctions composition language lacks basic arithmetic operations. It is interesting to provide a set-based "fallback" for those, even if its performance makes it rarely used. One of Wikifunction's goals is to "Imagine a programming system that allows us to make the next big leap in knowledge representation"<ref group="set">[[Wikifunctions:About]]</ref>, having a proper representation of natural numbers is a good start. * Set operations are the basis of mathematics. Mathematically, natural numbers are typically defined with sets.<ref group="set">[[w:Set-theoretic definition of natural numbers]]</ref> Note that these mathematical sets are well defined ''hereditary sets'': sets that only contain other hereditary sets or are the empty set. * Currently Typed list(Object) is the best available representation of hereditary sets. They are however unclear (Object could be anything, while hereditary sets can't contain anything), and a pain to document: every function performing arithmetic using set representation needs to write "von Neumann ordinals represented as hereditary sets"; simply making the input type "Hereditary set" is a much cleaner and clear solution. * Hereditary sets can easily be defined as Typed list(Hereditary set). I am however unsure wether this kind of recursive type is possible in Wikifunctions. * Hereditary sets have all the characteristics of a normal type (a validator, an equality function<ref group="set">{{Z+|Z34273}}</ref>, and even type converters<ref group="set">{{Z|Z39064}}'s <code>to_set</code> function</ref>). Making a proper type for them avoids repetitive work and allow for better integration in the Wikisource ecosystem. Note that all these functions are different from their Typed list equivalents (equality ignores duplicates, type converters return set objects and not list objects). I would love to see a proper hereditary set type being discussed. If this isn't the right place, please tell me, I'm quite new to the type proposal process :) [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 20:30, 8 August 2026 (UTC) :Another use is to avoid confusion, such as between {{Z|Z34270}} and {{Z|Z34273}}, which has already caused issues before.<ref group="set">[[Talk:Z36677#Wrong set equality]]</ref> [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 20:32, 8 August 2026 (UTC) :IMO being "reliant" on code Implementations for arithmetic isn't a problem. Von Neumann ordinals are useful as a mathematical foundation but not as a computational one. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:18, 9 August 2026 (UTC) :After further work on von Neumann ordinals related functions, it appears Wikifunctions' builtin type converter from a Python list to a Typed list really struggles with deeply nested lists. I believe having a strong type converter for hereditary sets can really help with fast computations. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 00:06, 13 August 2026 (UTC) :I don't have the whole answer, but here's some information to start. :> Hereditary sets can easily be defined as Typed list(Hereditary set). I am however unsure wether this kind of recursive type is possible in Wikifunctions. :This is possible! All of the needed features exist in Wikifunctions. If you try to define this type and find it's not possible, then that should be filed as a bug in Wikifunctions (and one we will triage fix through the normal channels). :I also want to set some expectations. While Wikifunctions can (barring bugs?) absolutely represent a hereditary set type, operations on that type will not necessarily have the expected asymptotic performance characteristics. Generally, the ZObject language specification doesn't allow for an object to have an arbitrary number of members, so any container type will end up relying on some kind of recursively-defined structure like WF's own List type. Practically, this means that the composition language could never do something like an O(1) set lookup. :That said, I also want to point you to code converters, which would allow the hereditary set type to be converted to a more efficient representation inside of the JS and Python code executors. That's a secondary concern for after the type exists. :Happy to discuss further! [[User:CMassaro (WMF)|CMassaro (WMF)]] ([[User talk:CMassaro (WMF)|talk]]) 16:02, 13 August 2026 (UTC) ::Hi! I'm guessing the proper way to discuss this would be to make a draft type proposal? I still have some free time left on my holiday and I would love to develop that idea further :) ::I'm aware of performance limitations; my goal is to rely on composition only as some kind of ''theoretical fallback'' while all performance intensive computation is done with code implementations. That way what I make can be "well-defined" and fast at the same time (ideally...). [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 21:38, 13 August 2026 (UTC) :::Yes, that makes sense. Are you on IRC? #wikipedia-abstract is a very friendly and helpful group; if you're looking to make a new type, that would be a good place to get pointers. [[User:CMassaro (WMF)|CMassaro (WMF)]] ([[User talk:CMassaro (WMF)|talk]]) 09:36, 14 August 2026 (UTC) <references group="set" /> == Wikifunctions & Abstract Wikipedia Newsletter #259: Congratulations Jules*. An apple is a fruit == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-08-05|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we congratulate Wikimedian of the Year and we discuss his favourite article in relation to Abstract Wikipedia, we introduce a new Type of function on Wikifunctions, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! We also remind you that in the next weeks these newsletter reminders will be paused, and that they will resume in mid-August. Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 13:19, 10 August 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30870212 --> : {{tq|Given that they are stored as persistent objects, their anonymity is kinda defeated, but it may be useful for testing and documentation purposes.}} Not exactly sure what the point is, then, since we'd still need the same amount of documentation in the description to say which function this is a nonce for. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:55, 10 August 2026 (UTC) ::You can use them without creating a persistent object, [https://www.wikifunctions.org/wiki/Z801?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z801%22%2C%22Z801K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z39025%22%2C%22Z39025K1%22%3A%5B%22Z38546%22%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z38926%22%2C%22Z38926K1%22%3A%22Z30795%22%2C%22Z38926K2%22%3A%22%5D%5D%22%7D%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z38926%22%2C%22Z38926K1%22%3A%22Z30035%22%2C%22Z38926K2%22%3A%22%5B%5B%22%7D%5D%2C%22Z39025K2%22%3A%7B%22Z1K1%22%3A%22Z11%22%2C%22Z11K1%22%3A%22Z1002%22%2C%22Z11K2%22%3A%22currying%22%7D%7D%7D example]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 21:54, 10 August 2026 (UTC) ::: Ooh, that's neat. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 00:17, 11 August 2026 (UTC) == Wikifunctions as a programming system == With [[Z38546|lambda]] and half<ref group="note">For it to be considered complete, shouldn't it take the environment in which to evaluate? Which reminds me, where's local variables in composition? Sure, it can be emulated via an [[w:Immediately invoked function expression|IIFE]], but how does that look like? So, macros as well. I look forward to how a generalized, multilingual Lisp interpreter function would look like..</ref>-of-an-[[Z38590|eval]], the runtime environment of Wikifunctions now resembles a somewhat less [[w:Greenspun's tenth rule|poor LISP]]. Whereas the runtime, as it stands now, is somewhat reminiscent of [[w:Smalltalk|Smalltalk]], [[w:Self (programming language)|Self]] and others, an [[w:object-oriented programming|object-oriented programming]] [https://arxiv.org/abs/2302.10003 ''system'']. <ref group="note">How I wish there was a Wikipedia article about programming systems in this sense... </ref> I wonder: how far/well the ''theory'' (in the sense of [[w:programming language theory|programming language theory]], [[w:semantics (programming languages)|semantics]] and such) behind Wikifunctions have been developed, whether that has been documented somewhere (beyond [[WF:Function model|Function model]]) or it still resides [[w:tacit knowledge|in the minds]] of the implementors for now, which direction<ref group="note">e.g. [[w:Metaobject#Metaobject protocol|Metaobject protocol]] (quite relevant, since it's object-oriented), higher-[[w:Kind (type theory)|kind]]ed types and so on</ref> you wish to develop this system and so on; where such discussions can take place. Among the [https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Goals#Secondary_goals secondary goals] is: <q>Faster development of new programming languages due to accessing a wider standard library (or repository) of functions in a new dedicated wiki.</q> For which we should have categorized and isolated the portion of functions (and objects), to be made available seperately as self-contained/sufficient collections, that are most relevant to implementing programming languages/systems. Has (if so, how much) there already been any work in this direction? Since Wikifunctions aims to be natural-language- as well as programming-language-[[w:agnostic (data)|agnostic]], it should be agnostic of any particular representation as well. Thus it should work with different representations (whether it's the underlying (JSON) representation of the objects, the specific choice of numberings, type system or even ontology) and be convertible among equivalence classes of representations (and conceptualizations?). It's this level of generality I'm quite interested about, and wish to have some in-depth discussion (here, insofar relevant to this project and elsewhere). ---- <references group="note"/> [[User:Smlckz|Smlckz]] ([[User talk:Smlckz|talk]]) 11:31, 12 August 2026 (UTC) :Hi @[[User:Smlckz|Smlckz]]! I am really interested in the viability of Wikifunctions as a programming system too, but I don't think you're in a for a great experience... While my experience here is quite limited, I worked a lot on a major issue that still bothers me: the composition language is incapable of basic arithmetic. If you look into [[Wikifunctions:Reserved ZIDs]], you'll notice that there isn't any built in implementation for addition, subtraction, and there isn't even a builtin type for Natural numbers. This leads to quite a few fundamental issues, like the fact that the built-in {{Z|80}} depends on the non-built-in {{Z|13518}}... :Strings aren't much better: the only core functions to manipulate them, {{Z|886}} and {{Z|888}} have been deprecated. :And while [[Wikifunctions:Function model]] is a great start it is out of date and is nowhere complete enough to be considered a proper specification. If you want any information as to how evaluation and the object model actually work you have to look into the Gitlab repos for the current implementation. :Last thing, the {{Z|823}} function is a total breach of purity, and allows functions to get information about there own implementation, the environment they run in, etc. This can even be used, I believe, as a source of randomness. :I have great hopes that Wikifunctions will become a strong programming system one day, but as of now, it's far behind any other functional programming languages. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 00:15, 13 August 2026 (UTC) ::I hope that folks who are interested, like you two, can help with moving in that direction. ::The development team is not focusing on that secondary goal currently. That shouldn't preclude anyone else from doing so. ::How does Z823 break purity? ::Honest question: do we need closure for anonymous functions, or is alpha conversion sufficient? --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 12:25, 13 August 2026 (UTC) :::Sorry for the use of the maybe unclear term purity, I stole it from the Nix language :) :::Purity would be the principle that the same inputs always return the same outputs, independently from the running environement. {{Z|823}} does the exact opposite by literally giving you information about the outside environment. This constitues a source of randomness that I really do not appreciate from a theoretical standpoint, as it potentially introduces painful runtime errors (race conditions even, albeit only in extreme cases) which no one likes to debug. :::I personally think that it is quite an useless function (4 uses in mainspace), but if people really want to keep it, I propose to restrict its usage to tests or make any function using it be marked as "impure" too. :::To answer your last question, I don't really understand it --- I'm sorry for showing my lack of computer science basics here :') If you wish to explain it further, I'd be happy to give you my opinion. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 21:44, 13 August 2026 (UTC) :::{{tq|Honest question: do we need closure for anonymous functions, or is alpha conversion sufficient?}} If we want to evolve towards a proper [[w:rewriting|rewriting]] system, conversion and reduction rules from lambda calculus might suffice. But, for now, if I have understood the current system correctly, we'd need to have closures, if only for reasons of efficiency. Imagine big, non-persistent, runtime objects, being referenced multiple times in anonymous functions, after beta reduction, to get represented with that many copies in their bodies.. (The evaluator might not be affected, but once these anonymous functions need to persist or even just pass through programming language boundaries, forcing normalization/serialization..) So, if we want to support anonymous functions as first-class objects of the kind of system we currently have, closures are essential. [[User:Smlckz|Smlckz]] ([[User talk:Smlckz|talk]]) 03:09, 14 August 2026 (UTC) ::{{tq|I worked a lot on a major issue that still bothers me: the composition language is incapable of basic arithmetic.}} When anonymous functions work better, we should be able to implement [[w:Church encoding|Church numerals]] using them. Similarly, when we'll have support for sum types, we could use that to implement [[w:Peano axioms|Peano arithmetic]] (as linked list of unit type). While these are interesting for theoretical purposes, we can't rely on them in practice, due to the kind of runtime we have here; it'd be too inefficient for any non-trivial use. Like functions can have multiple implementations, types could do the same, giving rise to typeclasses.. <small>The aspiration towards purity gives rise to expectations of realization of [[w:Curry–Howard correspondence|program-proof equivalence]], in having proofs of theorems hosted alongside ordinary functions (and perhaps proofs of correctness of such ordinary functions), but that's too far in the future for us to consider.</small> We can then have performant implementations of types alongside theoretically interesting ones. {{tq|This leads to quite a few fundamental issues, like the fact that the built-in {{Z|80}} depends on the non-built-in {{Z|13518}}...}} Which does sound quite backwards. I'd've expected to see a built-in natural number type, with byte defined as a derived type out of it. (For comparison, here's what Common Lisp came up with: [https://metaspec.dev/t_integer.html] [https://metaspec.dev/t_unsigned-byte.html]) {{tq|Last thing, the {{Z|823}} function is a total breach of purity, and allows functions to get information about there own implementation, the environment they run in, etc.}} This information can also be used to choose more performant (or, for a particular environment, a better-suited) implementation amongst available. I don't expect this system to be able uphold the level of purity expected from a purely functional programming language, but only up to a certain degree: that most functions won't directly need to rely on such escape hatches. (Compare Rust's <code>unsafe</code>. Similarly, consider the caveats of [https://wiki.haskell.org/index.php?title=Hask '''Hask'''].) [[User:Smlckz|Smlckz]] ([[User talk:Smlckz|talk]]) 17:41, 13 August 2026 (UTC) :::Church numerals are an idea I love, and Peano arithmetic too! My initial attempt with von Neumann ordinals quickly stopped because of speed concerns :') Typeclasses is an idea I had a while ago (although I phrased it as Single Type, Multiple Representations) and could further improve Wikifunctions' abstractness and maybe even performance. I agree the lack of a number type is a major flaw in the system. Last point, I think implementation choice should mostly be done by the system automatically; what you call <code>unsafe</code> is similar to the concept of impurity in Nix, where calling an impure function makes the function calling it impure too. I believe an automatic explicit visible marking of such impure functions could help prevent their abusive use. :::Given that some people seem interested in the ideas we discussed but it isn't a main focus at the moment, would you like us to discuss further ideas such as the writing of a formal Wikifunctions ''specification'', some new type proposals for an integer type, and maybe even develop the idea of typeclasses? :::If you'd like a more dynamic discussion I have Discord if needed (hope it's not illegal to say that!) [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 21:52, 13 August 2026 (UTC) ::::I'd like to discuss, along with participation from implementors, such that we don't build [[wikt:castle in the air|castle in the air]]. With how things are in flux, designing a specification now might not be a good idea. At least, we'd need multiple competing full-featured implementations such that the need for specification can naturally arise. We can certainly discuss existing implementations of various programming systems: what to pick, what to discard and what to innovate in our circumstances.. <small><small>I don't use Discord. You can talk with me on [[w:IRC|IRC]]: find me in the Libera.chat channel <code>#wikipedia-abstract</code>. If you don't have an IRC client set up, you can use Libera's [https://libera.chat/guides/clients web clients]. Mention the time (with timezone) you'll be available. We can discuss which (better or worse) protocol/platform to use for further communication there. </small></small> [[User:Smlckz|Smlckz]] ([[User talk:Smlckz|talk]]) 04:16, 14 August 2026 (UTC) :::::I do have IRC! <code>virinas-code</code>, I use the Konversation client. You do seem to have a lot more experience than me with functional programming so I'll be happy to discuss ideas with you :) :::::I'm typically available from 2PM to 8PM and from 11PM to 2AM-4AM in the Europe/Paris timezone. I think one of the first thing we should do is fix the built-in lack of a number type. A specification can come much later, but we do need to reinforce existing documentation (e.g. by completing [[Wikifunctions:Function model]]). [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 12:48, 14 August 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #260: Shoutout to User:99of9 == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-08-13|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we congratulate our own User:99of9 for his extensive work with the Wikifunctions & Abstract Wikipedia communities, we discuss what happened at Wikimania, we introduce a document for interested communities to join Abstract Wikipedia, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 15:55, 13 August 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30870212 --> a6ojik7mb1ajeuvyllxecdm0pv8mbgm 299806 299803 2026-08-16T05:47:54Z Omar M. Ghaly 99256 /* Showing where a function is used */ new section 299806 wikitext text/x-wiki {{shortcut|[[WF:CHAT]]|[[WF:PC]]|[[WF:VP]]}} __NEWSECTIONLINK__ [[Category:Help]] <!-- please do not remove this line --> Welcome to the Project chat, a place to discuss any and all aspects of Wikifunctions: the project itself, policy and proposals, individual data items, technical issues, etc. Other places to find help: * [[Wikifunctions:Administrators' noticeboard]] * [[Wikifunctions:Report a technical problem]] * [[Wikifunctions:FAQ]] {{Autoarchive resolved section |age = 1 |archive = ((FULLPAGENAME))/Archive/((year))/((month:##)) |timeout=30 }} {{Archives|{{#tag:div|<br />{{Flatlist|{{Special:PrefixIndex/WF:Project chat/Archive/|stripprefix=1|hideredirects=1}} |class=mw-collapsible-content|style=font-size:92%;}}|class="mw-collapsible mw-collapsible-toggle mw-collapsed"}} |prefix=WF:Project chat/Archive/ }} == Wikifunctions & Abstract Wikipedia Newsletter #257: Beyond syntactic tables == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-07-16|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we discuss syntactic tables and news in Types, we show some community blogposts and tools, we remind you of the Wikifunctions and Abstract Wikipedia events at Wikimania 2026, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! We also remind you that in the next weeks these newsletter reminders will be paused, and that they will resume in mid-August. Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 10:55, 17 July 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30755600 --> == Update on Blockly editor == In case anyone is actually using [[User:YoshiRulz/Blockly|my external editor based on Blockly]] (there's no analytics so I have no idea): I cleared out my "papercut" backlog yesterday, fixing bugs, making exporting smoother, and adding more blocks necessary for NLG functions. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:35, 20 July 2026 (UTC) :Great! I'll try it out now. [[User:So9q|So9q]] ([[User talk:So9q|talk]]) 18:15, 21 July 2026 (UTC) == Building reproducible, computable phenotypes on WikiFunctions == Hello all! Very new to WikiFunctions, more involved in the Wikidata side of things, but I was thinking that WikiFunctions may be a great space for computable phenotypes. These are structures (lists of rules) used in medicine to determine if a person has or doesn't have a particular condition (type 2 diabetes, asthma, etc.). There is a constant issue in my field of recreating the wheel for these phenotypes and very few resources where they are openly available (there was PheKB but it isn't updated often and only contains natural language descriptions of the phenotypes and often no code or other information to reproduce). My thought process was that an algorithm for a computable phenotype would essentially be a list of synthetic (fake) patients with certain characteristics, and then the computable phenotype would be run, and it would return a list of patients who have that condition. The major use case would be allowing individuals to download these code snippets to increase general reproducibility in medical care and studies overall. Would it be possible to utilize WikiFunctions for this? [[User:Superraptor123|Superraptor123]] ([[User talk:Superraptor123|talk]]) 08:25, 23 July 2026 (UTC) :({{Q|25203551}})<br>What system(s) are currently in use for doing such computations? Python scripts?<br>{{SITENAME}} currently does not cater to offline execution, so I imagine it wouldn't be suitable for medical ''practice'' where there are strict data protections. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:35, 23 July 2026 (UTC) ::Currently this involves something along the lines of a structured series of descriptors that make up the computable phenotype (ICD codes, RxNorm codes, lab test levels, age ranges, etc.), a fake "patient" (or list of "fake" patients) as input, and the patients that fit the computable phenotype criteria as output. In terms of systems currently in use, they are kind of-- everything. SQL, Java, SPARQL, Python, Perl, Ruby, etc. Currently I develop mostly using Python, so I would likely use that for implementation. And of course, yes, they would not be suitable for practice due to protections! For an example of an algorithm that I think could be useful to adapt, see: https://phekb.org/phenotype/type-2-diabetes-mellitus. [[User:Superraptor123|Superraptor123]] ([[User talk:Superraptor123|talk]]) 12:02, 23 July 2026 (UTC) :::So your reference is a decision tree, and are each of the "questions" evaluated by looking up a property/element in the input? That could be translated into a Function relatively easily. Most examples I can think of are NLG-related, like [[Z36580]], but there are [[WF:Catalogue/Wikidata_operations#Real_life_information_retrieved_using_Wikidata|some simpler Functions]] which extract parts of a given Wikidata Item, and [[Z34840]] works with the representations of numbers. What is the structure of the input EMR? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:54, 23 July 2026 (UTC) ::::Precisely-- I think most of these would be simple implementations, but good to generally have archived as most of them become lost media(-ish). Best-case, the input EMR would be a set of synthetic patients using the OMOP CDM (https://ohdsi.github.io/CommonDataModel/), the most common open data model in the space. It does mean it wouldn't be completely system agnostic, but it would most in the majority of situations. [[User:Superraptor123|Superraptor123]] ([[User talk:Superraptor123|talk]]) 14:07, 23 July 2026 (UTC) :::::If you decide to go ahead with this, you should [[WF:Type_proposals#Templates|propose a new type]] since it looks like a simple [[Z881|list]] or [[Z883|dict]] won't cover it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:31, 23 July 2026 (UTC) :Did you look much into the possibility of encoding these in Wikidata somehow? Have [[d:WD:WikiProject Medicine]] / [[meta:Wiki Project Med]] investigated it before? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:31, 23 July 2026 (UTC) ::I don't think so-- it could potentially be somewhat encoded in Wikidata-- main issue is that it uses a list of codes which Wikidata sometimes attaches to the same entity in ways that don't match up 1-to-1. And there may be drift in those codes over time, so the list of codes would have to be hard-coded. But there should generally be a way to link from the WikiFunction to Wikidata right? [[User:Superraptor123|Superraptor123]] ([[User talk:Superraptor123|talk]]) 22:06, 23 July 2026 (UTC) :::Linking ''to WF'' from an Item on Wikidata [[d:WD:Wikifunctions/Development|is an open question]], beyond sitelinks of course. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 12:02, 24 July 2026 (UTC) ::::So maybe creating functions here makes the most sense for the time being? I want to make sure I'm following the rules as intended but would that be okay for now? (Creating one or two and then presenting to the community to see if things look acceptable?) [[User:Superraptor123|Superraptor123]] ([[User talk:Superraptor123|talk]]) 06:46, 25 July 2026 (UTC) :::::Yes, you're welcome to try! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:53, 25 July 2026 (UTC) ::::::Thanks! I've been thinking about this a little bit-- in terms of objects, it may make sense to have an object that is an OMOP CDM database (which is allowed by their licensing, as the database schema is open source). But I'm wondering if it should instead be an extension of a more generic database object? [[User:Superraptor123|Superraptor123]] ([[User talk:Superraptor123|talk]]) 11:06, 28 July 2026 (UTC) == OWID's replacement for Extension:Graph == [[meta:OWID Gadget]] / [[c:Module:Owidslider]]<br>I'm currently watching the Wikimania talk "[https://wikimedia.eventyay.com/wm/wikimania2026/talk/CMPQQJ/ Bringing Interactive Graphs from Our World in Data to Wikipedia]" going through the latest iteration of their interactive graphs, and they seem to be in a good position now, including <abbr title="internationalisation">i18n</abbr>. I think it would be nice to use them in Abstract Wikipedia articles as well, but it's implemented as a Lua module + JS gadget. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:00, 23 July 2026 (UTC) == Friday's talks at Wikimania == {{noping|Mahir256}} just finished his talk/workshop "[https://wikimedia.eventyay.com/wm/wikimania2026/talk/HYTQBF From Abstract Content to Concrete Text with Wikidata Lexemes]" on {{Q|136813071}}. You can [https://www.youtube.com/watch?v=hvpOFVZhgnE&t=24370s watch it on YouTube here] (though there were audio problems, '''volume warning'''). <br>The workshop immediately before that was "[https://wikimedia.eventyay.com/wm/wikimania2026/talk/TWGKWB/ Making indigenous languages ready for Wikifunctions]". Hello to anyone who came from there! [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:58, 24 July 2026 (UTC) :@[[User:YoshiRulz|YoshiRulz]]: Thanks for highlighting these! There's also today's workshop [https://www.youtube.com/watch?v=nCVeXaAk77c on YouTube] about 90 minutes after the start of the stream, though that might not be as interesting to watch. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 13:28, 25 July 2026 (UTC) == Testing an unconnected implementation == Hi everyone! A few hours ago, I created [[Z38370|my first function]] together with [[Z38371|an unfinished Python implementation]]. When I wanted to test my implementation using the "Try this implementation" box in the bottom-right corner, I noticed that the button "Run function" was grayed out and there was a warning saying "This function has no connected implementations." As it seems, you can only run an implementation if its corresponding function has at least one connected implementation. The implementation you want to run doesn't even have to be connected itself, as I can run the unconnected implementation [[Z12949]] without any problems, even when I modify its code in the editor. Is this behavior intentional? And is there any way I can test my implementation? [[User:Tc14Hd|Tc14Hd]] ([[User talk:Tc14Hd|talk]]) 19:28, 28 July 2026 (UTC) :Yeah, it's [[phab:T343559#11421293|a pointless limitation]]. I've connected the test for you. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:56, 28 July 2026 (UTC) ::Thanks! I knew I couldn't be the only one who noticed this problem... [[User:Tc14Hd|Tc14Hd]] ([[User talk:Tc14Hd|talk]]) 13:00, 29 July 2026 (UTC) == [[Help:Categorization]] == Hi! Just wanted to let everyone know that I recently created [[Help:Categorization]] as a draft help page explaining how categories work. I'm new to Wikifunctions, but I used my knowledge of MediaWiki in general combined with some research to write it. If anyone would like to improve it, feel free to. [[User:Axolitl|Axolitl]] ([[User talk:Axolitl|talk]]) 04:32, 30 July 2026 (UTC) :It's just a general MediaWiki categories guide. It doesn't have anything special for Wikifunctions, which doesn't really have categories in the main namespace. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 16:42, 30 July 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #258: Abstract Wikipedia at Wikimania == <div lang="en" dir="ltr" class="mw-content-ltr">There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-07-29|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we discuss the presentations and workshops at Wikimania, including a features feedback request based on what we heard there, and highlight new features shipped this week including diffs for Wikifunctions. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! [[m:user:Quiddity (WMF)|Quiddity (WMF)]] 19:05, 30 July 2026 (UTC) </div> <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30870212 --> == Impact of labels translation == A lot of the edits on Wikifunctions are additions and changes of labels, descriptions, and aliases of functions, inputs, tests, and implementations. (I will subsequently call this "labels" for simplicity.) At Wikimania 2026, I heard from editors in several languages that they were encouraged to translate Wikifunctions' labels, and it made me wonder: Are there reasons to think that editing those labels has impact on the usage of Wikifunctions and Abstract Wikipedia by people who speak these languages? In general, I am quite famous as a major supporter of translating everything imaginable, but there should also be priorities, so if editing those labels doesn't have impact, then perhaps editors should be encouraged to translate something more visible. After English, [https://quarry.wmcloud.org/query/103687 the most common languages for editing labels] are German, French, Igbo, Italian, Indonesian, Bengali, Dutch, Japanese, Hindi, and Hebrew <small>([[User:Amire80/wikifunctionsanalytics|information about this data]])</small>. Looking a bit more deeply into some of those: * Hebrew labels were mostly contributed by @[[User:מקף|מקף]] (pronounced Maqaf), and a few were contributed by myself. I edit them mostly because I love seeing the UI translated as completely as possible, and since some object labels are integrated into the site's UI, they should be translated. Does this complete translation raise the usage of Wikifunctions by Hebrew speakers, though? I doubt it. Maqaf probably edits them because he creates some functions related to the Hebrew language, but that's just a guess, and I'd love to hear more about his motivation. * The top editor of German labels is @[[User:Ameisenigel|Ameisenigel]], who is generally a major contributor to translations across many Wikimedia projects, so perhaps his motivation is similar to mine, but he does it much more than I do. He also edits the content of actual functions, implementations, and tests. Some of the other German label editors do almost nothing but editing labels, although some, like @[[User:Lucas Werkmeister|Lucas Werkmeister]] and of course @[[User:Denny|Denny]] also contribute to actual functions and implementations. But back to the main question: German is the top language for label translations thanks to [[User:Ameisenigel|Ameisenigel]]'s huge work, but does it, for example, impact the creation of abstract content that works in German? When I try to select German on most abstract articles, I usually don't see a fully translated article. But maybe I'm not searching well? * The situation is a bit similar with French. @[[User:Jérémy-Günther-Heinz Jähnick|Jérémy-Günther-Heinz Jähnick]] is the top French label editor, but he makes almost no contributions to functions and implementations. The second top label editor is @[[User:VIGNERON|VIGNERON]], who does contribute quite a lot to functions and implementations. There are several other prolific French label editors, but most of them contribute little or nothing at all to functions and implementations. And as with German, I almost never see abstract articles fully translated into French. * Igbo has shown disproportionate label editing activity. I don't know why exactly, but I guess that there was some event that encouraged people to write labels (if anyone knows more, please tell me). All the top 10 Igbo label editors only wrote labels and didn't do anything else with functions or implementations. There are quite a lot of [[Wikifunctions:Catalogue/Natural language operations/Igbo|Igbo language functions]], all of which were made by @[[User:Dolphyb|Dolphyb]], who contributed very little to translations. This, by itself, is not a problem at all: it's very common that programmers mostly write code and translators mostly translate. There is still the same question, though: do those language functions and massive label translations contribute to achieving Abstract Wikipedia's goal of generating Igbo content? I haven't seen evidence to support that, but I'd love to see it if anyone can present it. * The situation with Indonesian is similar to the situation with Igbo, but there are [[Wikifunctions:Catalogue/Natural language operations/Igbo|much fewer language functions for Indonesian]]. So that's what I can glean. If I'm incorrect about anything or if you can add some more info, please speak up. Because of my interest in localization, I'll be very grateful to learn more. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:50, 30 July 2026 (UTC) :Adding labels in other languages has several advantages for the project. To name a few :* It is an easy introduction to Wikifunctions :* it is good for the image of Wikifunctions and Abstract Wikipedia as not being English centric :* Contributors of Wikifunctions should be able to add texts in their own languages, so translations main functions is vital for that. That includes labels, descriptions and inputs. :Not many labels are translated yet and not many functions work yet for other languages than English at the moment. The community is still very small, but I hope both will grow over time. They can mutually benefit each other. [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 21:19, 30 July 2026 (UTC) ::@[[User:HenkvD|HenkvD]], I heard similar claims before, but it's to scrutinize them. ::{{tq|It is an easy introduction to Wikifunctions}} - and what does this introduction lead to? I haven't seen clear evidence that translating labels leads to other contributions or to using functions. ::{{tq|it is good for the image of Wikifunctions and Abstract Wikipedia as not being English centric}} - is it actually good? Evidently, many people in recent critical discussions about Wikifunctions and Abstract Wikipedia still think that it's English-centric. ::{{tq|Contributors of Wikifunctions should be able to add texts in their own languages, so translations main functions is vital for that. That includes labels, descriptions and inputs}} - it ''sounds'' vital; as I said, I support localization of everything in principle, and this is the main reason for thinking like that. However, this doesn't answer my question: what is the ''actual'' impact? Wikifunctions has been online for three years, so we should have seen something by now, and we aren't seeing anything. ::{{tq|Not many labels are translated yet}} - how do you define "many"? Thousands of labels were translated, and I think that it is "many". But, as you say, {{tq|not many functions work yet for other languages than English at the moment}} - so evidently, translating labels didn't lead to writing those functions, at least yet. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 21:43, 30 July 2026 (UTC) :::Wikifunctions might be live for 3 years, but Abstract Wikipedia is only lie a few months. As it is early days for '''Language''' functions, and the first are made in English it still is English centric. THAT NEEDS TO CHANGE. Translations should help with that. [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 22:08, 30 July 2026 (UTC) :See also [[Help:Multilingual]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 21:25, 30 July 2026 (UTC) ::Does it say anything about the ''impact'' of translating labels? I don't see it. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 21:44, 30 July 2026 (UTC) :::No, I bring it up only as a possible explanation of translators' motives, and to point out where the documentation is should you want to improve it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:00, 30 July 2026 (UTC) :@[[User:Amire80|Amire80]]: I've seen folks at Wikimania use Abstract Wikipedia in their language and start and edit articles in Tyap, Japanese, and French. Having labels for those functions unlocks the Abstract Wikipedia to be used entirely in their language. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 06:07, 31 July 2026 (UTC) ::I understand the general idea of what this is supposed to be. I wonder whether there is actual measurable impact. ::You give Tyap as a successful example, but it's in fact the example of the opposite. I found zero functions whose name is translated into this language. I found one implementation whose name is translated into Tyap, [[Z29740]], and also a few translated language names and type names. My ''intuition'' is that type names are actually among the most important things to translate here, but very few of them are translated at the moment, and I'm trying to talk about measurable impact here and not about intuition. And as you say in the newsletter, the Tyap contributor was able to do something, even though almost nothing is translated into his language. ::The label translation statistics for Japanese and French are very good, but seeing something at Wikimania is anecdotal; it's not measurable impact. ::So again: I understand the general idea of why localization is desirable. I've dedicated more than sixteen years of my life to promoting this idea, I keep doing it now, and I plan to keep doing for as long as my health allows me to do it. But here, I'm asking not about the idea, but about the impact. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 09:57, 31 July 2026 (UTC) :::Hi {{ping|Amire80}}. I’m not skilled at programming, but I manage to handle the translation work—even if it isn’t perfect. I’m doing my bit to help out. [[User:Jérémy-Günther-Heinz Jähnick|Jérémy-Günther-Heinz Jähnick]] ([[User talk:Jérémy-Günther-Heinz Jähnick|talk]]) 22:29, 1 August 2026 (UTC) ::::Thank you! It's fine, not everyone has to know programming. I'm just wondering how much is it actually helping out. I'm not necessarily saying that it doesn't, but I do wonder how to measure that it does. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 05:50, 2 August 2026 (UTC) :::@[[User:Amire80|Amire80]]: I don't even understand what you are asking for. Measuring what impact, and how? The Tyap editor was able to use it because he also spoke English. If he wouldn't have, he would have an even harder time to use the interface. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 07:30, 2 August 2026 (UTC) ::::Does the translation of function labels into a language have a measurable impact on the usage of Wikifunctions and Abstract Wikipedia in that language? ::::For example, a lot of function labels are translated into Igbo. Does it mean that a lot of abstract articles are fully readable in Igbo? ::::Same question about German, French, Italian, etc. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 11:44, 2 August 2026 (UTC) :::::Translation of labels makes it easier to understand the function side of Abstract Wikipedia, and easier to add and change the lemma. It does NOT have affect on the final text in the language. It may help in writing functions for that language. As Abstract Wikipedia is a fairly new project with few contributors the impact cannot be measured. How would you measure that anyway? [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 12:02, 2 August 2026 (UTC) ::::::They ''can'' make it easier to understand the function, but ''do'' they make it easier? ::::::For example, there was obviously some organized activity to translate labels into Igbo. Look at [https://quarry.wmcloud.org/query/107942 this query]: You can see that there was a lot of label editing activity in Igbo in February, March, April, May, June, and September 2024, and very little activity in other times. It was probably related to this event: [[:m:Event:Translation of catalogue of available functions on wikifunctions igbo]]. ::::::There was also [https://diff.wikimedia.org/2026/01/16/introducing-data-and-functions-reflections-from-indonesian-data-and-technology-week-2025/ a similar event for Indonesian], and you can see in [https://quarry.wmcloud.org/query/107943 the statistics for Indonesian] that there was a peak of edits in December 2025, as described in the blog post. ::::::I don't know if these events were funded with money, but they were definitely ''organized''. Organization requires effort. And of course, effort was also invested into the actual translation. Effort should be invested if it has some impact, and if it has no impact, then it should be invested elsewhere. ::::::How would I measure it? Some examples: ::::::# Are there abstract articles that can actually be fully viewable in Igbo and Indonesian? As far as I can see, there aren't, but correct me if I'm wrong. ::::::# Are there many language functions that can generate text in Igbo and Indonesian, and are those functions actually used? The answer to the first question is "not many" ([[Wikifunctions:Catalogue/Natural language operations/Igbo|Igbo]], [[Wikifunctions:Catalogue/Natural language operations/Indonesian|Indonesian]]); the answer to the second and more important question is "they are probably not used". But again, correct me if I'm wrong. ::::::[[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 21:14, 4 August 2026 (UTC) :::::::I think you're right. To help translation to make more impact, we could document which of our 39,000 objects are most important to translate. For example, the list of types, the list of the fragment functions most used on AW, and the list of functions most used in compositions on WF. Your query tool may be able to help make the third of these? --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:58, 5 August 2026 (UTC) ::::::::I'll try, thanks for the tip! [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 02:09, 5 August 2026 (UTC) :Perhaps the more useful question is not the impact of contributing labels, but the impact of not contributing them. At present, a user who cannot search for a function using their own language is effectively required to use English (or another well-supported language). Such users do not create a visible failure case. :It may therefore be difficult to measure the benefit of translated labels from usage statistics alone because the absence of translations creates a barrier before usage even begins. :There may also be a feedback loop. English currently has the greatest discoverability, which means English-speaking contributors are more likely to notice when a function cannot be found, and to add aliases or improve labels accordingly. This may mean that English has a higher proportion of functions with aliases, and typically more aliases for any such function. Languages with less discoverability have fewer opportunities for this kind of positive feedback. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:09, 5 August 2026 (UTC) ::The questions to ask about this are: which languages are the most successful ones in terms of abstract articles translation? What made them successful? Can it be replicated? ::But that would be a topic for a separate thread. ::Here, I'm wondering about the impact of what people do invest their effort in. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 11:04, 5 August 2026 (UTC) == Contributing to language functions 1: Language Fragments == At Wikimania, @[[User:Dnshitobu|Dnshitobu]] recommended cloning a page like [[User:Dnshitobu/Dagbani Fragments]] and filling it with my own language. If I understand correctly, it's supposed to help to create functions for handling my language. I created [[User:Amire80/Hebrew Fragments]] and started filling it. There are a bunch of problems with it, but let's say that I can complete it. Is it actually useful? Once it's complete, what do I do with it? More broadly, if it is useful, is there a written guideline anywhere that recommends doing it? If I didn't visit Wikimania, I wouldn't know about it. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 22:10, 30 July 2026 (UTC) :From [[WF:Status_updates/2026-07-29#Abstract_Wikipedia_at_Wikimania|this week's newsletter]]: <q>[Dnshitobu's] main proposal is that editors can create simple wikitext tables of example fragments in their language so that others could later do the technical work of setting up the lexemes and NLG functions.</q> The next step is to correlate your example sentences to the top-level NLG functions, then add 1 or 2 test cases to each function from your table.<br>I don't believe {{noping|Dnshitobu}} wrote up the process anywhere on-wiki, but that would be worth doing. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:30, 30 July 2026 (UTC) ::OK, I can try to do it. ::However, I should mention that the examples work kind of well in English, and perhaps they work in Dagbani, but they don't translate easily into Hebrew. Different nouns need different prepositions some letters require morphology transformations and some don't, etc. It cannot really be solved with a few basic concatenations as it was probably done in English. ::The same is true for probably most other languages. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 23:49, 30 July 2026 (UTC) ::Also, who do I notify when it's ready? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 00:58, 31 July 2026 (UTC) :::[[WF:Requests for connection and disconnection]] [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 01:15, 31 July 2026 (UTC) ::::But these are not functions or implementations. These are just example strings. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 09:58, 31 July 2026 (UTC) :::::Right, you have to create test cases from them. For example, the "part of" sentences #7 and #8 correspond to [[Z34637]], so start by adding a test there. Then create a new function with the same shape as [[Z34867]] and add all your sentences to it as tests. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 17:49, 31 July 2026 (UTC) ::::::I think people should get help also if they can just write down how a fragment looks like for a specific language. So it should be not required to create a test case. So far I am not good in implementing functions in Wikifunctions. In the last days I have thinked about how to find a good way to define the fragments if the inputs are modified. This is difficult and I am not sure what is the best way. In the past I proposed [[User:Hogü-456/Decision table for Fragment experiments|decision tables]] for it. From my point of view more ideas and ways how to implement functions are needed as I expected more content in more languages in Abstract Wikipedia so far. It seems to me like it is too complicated to contribute to Wikifunctions at the moment. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:31, 11 August 2026 (UTC) == Contributing to language functions 2: Natural language operations == At [https://meta.wikimedia.org/wiki/Requests_for_comment/The_future_of_Abstract_Wikipedia#c-YoshiRulz-20260730202700-Amire80-20260730200900 this comment], @[[User:YoshiRulz|YoshiRulz]] recommended using pages like [[Wikifunctions:Catalogue/Natural language operations/Hebrew]] to see what functions are missing. What can I actually do with that table? Is there a guide for writing such functions and fitting them into the NLG system? Is this much better than something like [[User:Dnshitobu/Dagbani Fragments]], which I've mentioned in another comment on this talk page? Or can both be used? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 22:17, 30 July 2026 (UTC) :The guide is at [[User:DSantamaria-WMF/Guide: Working with Z14294]] ({{ping|DSantamaria-WMF}} why is this not in Helpspace?), and mirrored in [[toolforge:abstract-data]] IIRC.<br>You can use whatever organisational method you find easiest. (Or if you're lucky enough to have someone to collaborate with, find consensus.) Starting with a Wikitext table means you're not forced to learn about {{Z|14294}} and function creation before you can start working. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:34, 30 July 2026 (UTC) ::About the guide, I just end that guide one week ago and I was asking for some feedback on its correctness, once I have some feedback on that I will move it to the proper space. ::And definitely the tool is meant to be used for those purposes (finding all the [https://www.wikifunctions.org/view/en/Z14294 Z14294] that needs coverage in a specific language for example). Let me know if I can help with that. [[User:DSantamaria-WMF|DSantamaria-WMF]] ([[User talk:DSantamaria-WMF|talk]]) 05:36, 31 July 2026 (UTC) :On [[Abstract:User:HenkvD/Tasks per language]] I drafted a list of tasks per languages and per language fragment. Feel free to comment on this draft. [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 10:17, 31 July 2026 (UTC) ::Linking to the topic two above, one extra thing for Tasks per Language could be a link to a (sectioned) list of ZIDs that are most important to translate. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:22, 5 August 2026 (UTC) == On a set type == In [[WF:TP]], sets were refused as an independent type (and we are redirected towards using Typed lists). After adding many functions relative to hereditary sets and von Neumann ordinals, I believe a proper hereditary set type could be welcome on Wikifunctions. Here is the rationale behind this: * In its current state the Wikifunctions composition language lacks basic arithmetic operations. It is interesting to provide a set-based "fallback" for those, even if its performance makes it rarely used. One of Wikifunction's goals is to "Imagine a programming system that allows us to make the next big leap in knowledge representation"<ref group="set">[[Wikifunctions:About]]</ref>, having a proper representation of natural numbers is a good start. * Set operations are the basis of mathematics. Mathematically, natural numbers are typically defined with sets.<ref group="set">[[w:Set-theoretic definition of natural numbers]]</ref> Note that these mathematical sets are well defined ''hereditary sets'': sets that only contain other hereditary sets or are the empty set. * Currently Typed list(Object) is the best available representation of hereditary sets. They are however unclear (Object could be anything, while hereditary sets can't contain anything), and a pain to document: every function performing arithmetic using set representation needs to write "von Neumann ordinals represented as hereditary sets"; simply making the input type "Hereditary set" is a much cleaner and clear solution. * Hereditary sets can easily be defined as Typed list(Hereditary set). I am however unsure wether this kind of recursive type is possible in Wikifunctions. * Hereditary sets have all the characteristics of a normal type (a validator, an equality function<ref group="set">{{Z+|Z34273}}</ref>, and even type converters<ref group="set">{{Z|Z39064}}'s <code>to_set</code> function</ref>). Making a proper type for them avoids repetitive work and allow for better integration in the Wikisource ecosystem. Note that all these functions are different from their Typed list equivalents (equality ignores duplicates, type converters return set objects and not list objects). I would love to see a proper hereditary set type being discussed. If this isn't the right place, please tell me, I'm quite new to the type proposal process :) [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 20:30, 8 August 2026 (UTC) :Another use is to avoid confusion, such as between {{Z|Z34270}} and {{Z|Z34273}}, which has already caused issues before.<ref group="set">[[Talk:Z36677#Wrong set equality]]</ref> [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 20:32, 8 August 2026 (UTC) :IMO being "reliant" on code Implementations for arithmetic isn't a problem. Von Neumann ordinals are useful as a mathematical foundation but not as a computational one. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:18, 9 August 2026 (UTC) :After further work on von Neumann ordinals related functions, it appears Wikifunctions' builtin type converter from a Python list to a Typed list really struggles with deeply nested lists. I believe having a strong type converter for hereditary sets can really help with fast computations. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 00:06, 13 August 2026 (UTC) :I don't have the whole answer, but here's some information to start. :> Hereditary sets can easily be defined as Typed list(Hereditary set). I am however unsure wether this kind of recursive type is possible in Wikifunctions. :This is possible! All of the needed features exist in Wikifunctions. If you try to define this type and find it's not possible, then that should be filed as a bug in Wikifunctions (and one we will triage fix through the normal channels). :I also want to set some expectations. While Wikifunctions can (barring bugs?) absolutely represent a hereditary set type, operations on that type will not necessarily have the expected asymptotic performance characteristics. Generally, the ZObject language specification doesn't allow for an object to have an arbitrary number of members, so any container type will end up relying on some kind of recursively-defined structure like WF's own List type. Practically, this means that the composition language could never do something like an O(1) set lookup. :That said, I also want to point you to code converters, which would allow the hereditary set type to be converted to a more efficient representation inside of the JS and Python code executors. That's a secondary concern for after the type exists. :Happy to discuss further! [[User:CMassaro (WMF)|CMassaro (WMF)]] ([[User talk:CMassaro (WMF)|talk]]) 16:02, 13 August 2026 (UTC) ::Hi! I'm guessing the proper way to discuss this would be to make a draft type proposal? I still have some free time left on my holiday and I would love to develop that idea further :) ::I'm aware of performance limitations; my goal is to rely on composition only as some kind of ''theoretical fallback'' while all performance intensive computation is done with code implementations. That way what I make can be "well-defined" and fast at the same time (ideally...). [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 21:38, 13 August 2026 (UTC) :::Yes, that makes sense. Are you on IRC? #wikipedia-abstract is a very friendly and helpful group; if you're looking to make a new type, that would be a good place to get pointers. [[User:CMassaro (WMF)|CMassaro (WMF)]] ([[User talk:CMassaro (WMF)|talk]]) 09:36, 14 August 2026 (UTC) <references group="set" /> == Wikifunctions & Abstract Wikipedia Newsletter #259: Congratulations Jules*. An apple is a fruit == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-08-05|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we congratulate Wikimedian of the Year and we discuss his favourite article in relation to Abstract Wikipedia, we introduce a new Type of function on Wikifunctions, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! We also remind you that in the next weeks these newsletter reminders will be paused, and that they will resume in mid-August. Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 13:19, 10 August 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30870212 --> : {{tq|Given that they are stored as persistent objects, their anonymity is kinda defeated, but it may be useful for testing and documentation purposes.}} Not exactly sure what the point is, then, since we'd still need the same amount of documentation in the description to say which function this is a nonce for. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:55, 10 August 2026 (UTC) ::You can use them without creating a persistent object, [https://www.wikifunctions.org/wiki/Z801?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z801%22%2C%22Z801K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z39025%22%2C%22Z39025K1%22%3A%5B%22Z38546%22%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z38926%22%2C%22Z38926K1%22%3A%22Z30795%22%2C%22Z38926K2%22%3A%22%5D%5D%22%7D%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z38926%22%2C%22Z38926K1%22%3A%22Z30035%22%2C%22Z38926K2%22%3A%22%5B%5B%22%7D%5D%2C%22Z39025K2%22%3A%7B%22Z1K1%22%3A%22Z11%22%2C%22Z11K1%22%3A%22Z1002%22%2C%22Z11K2%22%3A%22currying%22%7D%7D%7D example]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 21:54, 10 August 2026 (UTC) ::: Ooh, that's neat. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 00:17, 11 August 2026 (UTC) == Wikifunctions as a programming system == With [[Z38546|lambda]] and half<ref group="note">For it to be considered complete, shouldn't it take the environment in which to evaluate? Which reminds me, where's local variables in composition? Sure, it can be emulated via an [[w:Immediately invoked function expression|IIFE]], but how does that look like? So, macros as well. I look forward to how a generalized, multilingual Lisp interpreter function would look like..</ref>-of-an-[[Z38590|eval]], the runtime environment of Wikifunctions now resembles a somewhat less [[w:Greenspun's tenth rule|poor LISP]]. Whereas the runtime, as it stands now, is somewhat reminiscent of [[w:Smalltalk|Smalltalk]], [[w:Self (programming language)|Self]] and others, an [[w:object-oriented programming|object-oriented programming]] [https://arxiv.org/abs/2302.10003 ''system'']. <ref group="note">How I wish there was a Wikipedia article about programming systems in this sense... </ref> I wonder: how far/well the ''theory'' (in the sense of [[w:programming language theory|programming language theory]], [[w:semantics (programming languages)|semantics]] and such) behind Wikifunctions have been developed, whether that has been documented somewhere (beyond [[WF:Function model|Function model]]) or it still resides [[w:tacit knowledge|in the minds]] of the implementors for now, which direction<ref group="note">e.g. [[w:Metaobject#Metaobject protocol|Metaobject protocol]] (quite relevant, since it's object-oriented), higher-[[w:Kind (type theory)|kind]]ed types and so on</ref> you wish to develop this system and so on; where such discussions can take place. Among the [https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Goals#Secondary_goals secondary goals] is: <q>Faster development of new programming languages due to accessing a wider standard library (or repository) of functions in a new dedicated wiki.</q> For which we should have categorized and isolated the portion of functions (and objects), to be made available seperately as self-contained/sufficient collections, that are most relevant to implementing programming languages/systems. Has (if so, how much) there already been any work in this direction? Since Wikifunctions aims to be natural-language- as well as programming-language-[[w:agnostic (data)|agnostic]], it should be agnostic of any particular representation as well. Thus it should work with different representations (whether it's the underlying (JSON) representation of the objects, the specific choice of numberings, type system or even ontology) and be convertible among equivalence classes of representations (and conceptualizations?). It's this level of generality I'm quite interested about, and wish to have some in-depth discussion (here, insofar relevant to this project and elsewhere). ---- <references group="note"/> [[User:Smlckz|Smlckz]] ([[User talk:Smlckz|talk]]) 11:31, 12 August 2026 (UTC) :Hi @[[User:Smlckz|Smlckz]]! I am really interested in the viability of Wikifunctions as a programming system too, but I don't think you're in a for a great experience... While my experience here is quite limited, I worked a lot on a major issue that still bothers me: the composition language is incapable of basic arithmetic. If you look into [[Wikifunctions:Reserved ZIDs]], you'll notice that there isn't any built in implementation for addition, subtraction, and there isn't even a builtin type for Natural numbers. This leads to quite a few fundamental issues, like the fact that the built-in {{Z|80}} depends on the non-built-in {{Z|13518}}... :Strings aren't much better: the only core functions to manipulate them, {{Z|886}} and {{Z|888}} have been deprecated. :And while [[Wikifunctions:Function model]] is a great start it is out of date and is nowhere complete enough to be considered a proper specification. If you want any information as to how evaluation and the object model actually work you have to look into the Gitlab repos for the current implementation. :Last thing, the {{Z|823}} function is a total breach of purity, and allows functions to get information about there own implementation, the environment they run in, etc. This can even be used, I believe, as a source of randomness. :I have great hopes that Wikifunctions will become a strong programming system one day, but as of now, it's far behind any other functional programming languages. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 00:15, 13 August 2026 (UTC) ::I hope that folks who are interested, like you two, can help with moving in that direction. ::The development team is not focusing on that secondary goal currently. That shouldn't preclude anyone else from doing so. ::How does Z823 break purity? ::Honest question: do we need closure for anonymous functions, or is alpha conversion sufficient? --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 12:25, 13 August 2026 (UTC) :::Sorry for the use of the maybe unclear term purity, I stole it from the Nix language :) :::Purity would be the principle that the same inputs always return the same outputs, independently from the running environement. {{Z|823}} does the exact opposite by literally giving you information about the outside environment. This constitues a source of randomness that I really do not appreciate from a theoretical standpoint, as it potentially introduces painful runtime errors (race conditions even, albeit only in extreme cases) which no one likes to debug. :::I personally think that it is quite an useless function (4 uses in mainspace), but if people really want to keep it, I propose to restrict its usage to tests or make any function using it be marked as "impure" too. :::To answer your last question, I don't really understand it --- I'm sorry for showing my lack of computer science basics here :') If you wish to explain it further, I'd be happy to give you my opinion. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 21:44, 13 August 2026 (UTC) :::{{tq|Honest question: do we need closure for anonymous functions, or is alpha conversion sufficient?}} If we want to evolve towards a proper [[w:rewriting|rewriting]] system, conversion and reduction rules from lambda calculus might suffice. But, for now, if I have understood the current system correctly, we'd need to have closures, if only for reasons of efficiency. Imagine big, non-persistent, runtime objects, being referenced multiple times in anonymous functions, after beta reduction, to get represented with that many copies in their bodies.. (The evaluator might not be affected, but once these anonymous functions need to persist or even just pass through programming language boundaries, forcing normalization/serialization..) So, if we want to support anonymous functions as first-class objects of the kind of system we currently have, closures are essential. [[User:Smlckz|Smlckz]] ([[User talk:Smlckz|talk]]) 03:09, 14 August 2026 (UTC) ::{{tq|I worked a lot on a major issue that still bothers me: the composition language is incapable of basic arithmetic.}} When anonymous functions work better, we should be able to implement [[w:Church encoding|Church numerals]] using them. Similarly, when we'll have support for sum types, we could use that to implement [[w:Peano axioms|Peano arithmetic]] (as linked list of unit type). While these are interesting for theoretical purposes, we can't rely on them in practice, due to the kind of runtime we have here; it'd be too inefficient for any non-trivial use. Like functions can have multiple implementations, types could do the same, giving rise to typeclasses.. <small>The aspiration towards purity gives rise to expectations of realization of [[w:Curry–Howard correspondence|program-proof equivalence]], in having proofs of theorems hosted alongside ordinary functions (and perhaps proofs of correctness of such ordinary functions), but that's too far in the future for us to consider.</small> We can then have performant implementations of types alongside theoretically interesting ones. {{tq|This leads to quite a few fundamental issues, like the fact that the built-in {{Z|80}} depends on the non-built-in {{Z|13518}}...}} Which does sound quite backwards. I'd've expected to see a built-in natural number type, with byte defined as a derived type out of it. (For comparison, here's what Common Lisp came up with: [https://metaspec.dev/t_integer.html] [https://metaspec.dev/t_unsigned-byte.html]) {{tq|Last thing, the {{Z|823}} function is a total breach of purity, and allows functions to get information about there own implementation, the environment they run in, etc.}} This information can also be used to choose more performant (or, for a particular environment, a better-suited) implementation amongst available. I don't expect this system to be able uphold the level of purity expected from a purely functional programming language, but only up to a certain degree: that most functions won't directly need to rely on such escape hatches. (Compare Rust's <code>unsafe</code>. Similarly, consider the caveats of [https://wiki.haskell.org/index.php?title=Hask '''Hask'''].) [[User:Smlckz|Smlckz]] ([[User talk:Smlckz|talk]]) 17:41, 13 August 2026 (UTC) :::Church numerals are an idea I love, and Peano arithmetic too! My initial attempt with von Neumann ordinals quickly stopped because of speed concerns :') Typeclasses is an idea I had a while ago (although I phrased it as Single Type, Multiple Representations) and could further improve Wikifunctions' abstractness and maybe even performance. I agree the lack of a number type is a major flaw in the system. Last point, I think implementation choice should mostly be done by the system automatically; what you call <code>unsafe</code> is similar to the concept of impurity in Nix, where calling an impure function makes the function calling it impure too. I believe an automatic explicit visible marking of such impure functions could help prevent their abusive use. :::Given that some people seem interested in the ideas we discussed but it isn't a main focus at the moment, would you like us to discuss further ideas such as the writing of a formal Wikifunctions ''specification'', some new type proposals for an integer type, and maybe even develop the idea of typeclasses? :::If you'd like a more dynamic discussion I have Discord if needed (hope it's not illegal to say that!) [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 21:52, 13 August 2026 (UTC) ::::I'd like to discuss, along with participation from implementors, such that we don't build [[wikt:castle in the air|castle in the air]]. With how things are in flux, designing a specification now might not be a good idea. At least, we'd need multiple competing full-featured implementations such that the need for specification can naturally arise. We can certainly discuss existing implementations of various programming systems: what to pick, what to discard and what to innovate in our circumstances.. <small><small>I don't use Discord. You can talk with me on [[w:IRC|IRC]]: find me in the Libera.chat channel <code>#wikipedia-abstract</code>. If you don't have an IRC client set up, you can use Libera's [https://libera.chat/guides/clients web clients]. Mention the time (with timezone) you'll be available. We can discuss which (better or worse) protocol/platform to use for further communication there. </small></small> [[User:Smlckz|Smlckz]] ([[User talk:Smlckz|talk]]) 04:16, 14 August 2026 (UTC) :::::I do have IRC! <code>virinas-code</code>, I use the Konversation client. You do seem to have a lot more experience than me with functional programming so I'll be happy to discuss ideas with you :) :::::I'm typically available from 2PM to 8PM and from 11PM to 2AM-4AM in the Europe/Paris timezone. I think one of the first thing we should do is fix the built-in lack of a number type. A specification can come much later, but we do need to reinforce existing documentation (e.g. by completing [[Wikifunctions:Function model]]). [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 12:48, 14 August 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #260: Shoutout to User:99of9 == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-08-13|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we congratulate our own User:99of9 for his extensive work with the Wikifunctions & Abstract Wikipedia communities, we discuss what happened at Wikimania, we introduce a document for interested communities to join Abstract Wikipedia, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 15:55, 13 August 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30870212 --> == Showing where a function is used == Compositions allows to see the smaller functions/compositions that a specific implementation has used, but what about the other way around? Showing where a certain small function or composition was used in other bigger implementations. This would both show the impact of smaller, essential functions while also being helpful for people trying to build new implementations by following the same logic that has been implemented by someone else already to save time. What do you all think? [[User:Omar M. Ghaly|Omar M. Ghaly]] ([[User talk:Omar M. Ghaly|talk]]) 05:47, 16 August 2026 (UTC) e5lsexr8ew95p4g30ov9j9otlvo3m2e 299808 299806 2026-08-16T05:50:32Z YoshiRulz 10156 /* Showing where a function is used */ Reply 299808 wikitext text/x-wiki {{shortcut|[[WF:CHAT]]|[[WF:PC]]|[[WF:VP]]}} __NEWSECTIONLINK__ [[Category:Help]] <!-- please do not remove this line --> Welcome to the Project chat, a place to discuss any and all aspects of Wikifunctions: the project itself, policy and proposals, individual data items, technical issues, etc. Other places to find help: * [[Wikifunctions:Administrators' noticeboard]] * [[Wikifunctions:Report a technical problem]] * [[Wikifunctions:FAQ]] {{Autoarchive resolved section |age = 1 |archive = ((FULLPAGENAME))/Archive/((year))/((month:##)) |timeout=30 }} {{Archives|{{#tag:div|<br />{{Flatlist|{{Special:PrefixIndex/WF:Project chat/Archive/|stripprefix=1|hideredirects=1}} |class=mw-collapsible-content|style=font-size:92%;}}|class="mw-collapsible mw-collapsible-toggle mw-collapsed"}} |prefix=WF:Project chat/Archive/ }} == Wikifunctions & Abstract Wikipedia Newsletter #257: Beyond syntactic tables == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-07-16|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we discuss syntactic tables and news in Types, we show some community blogposts and tools, we remind you of the Wikifunctions and Abstract Wikipedia events at Wikimania 2026, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! We also remind you that in the next weeks these newsletter reminders will be paused, and that they will resume in mid-August. Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 10:55, 17 July 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30755600 --> == Update on Blockly editor == In case anyone is actually using [[User:YoshiRulz/Blockly|my external editor based on Blockly]] (there's no analytics so I have no idea): I cleared out my "papercut" backlog yesterday, fixing bugs, making exporting smoother, and adding more blocks necessary for NLG functions. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:35, 20 July 2026 (UTC) :Great! I'll try it out now. [[User:So9q|So9q]] ([[User talk:So9q|talk]]) 18:15, 21 July 2026 (UTC) == Building reproducible, computable phenotypes on WikiFunctions == Hello all! Very new to WikiFunctions, more involved in the Wikidata side of things, but I was thinking that WikiFunctions may be a great space for computable phenotypes. These are structures (lists of rules) used in medicine to determine if a person has or doesn't have a particular condition (type 2 diabetes, asthma, etc.). There is a constant issue in my field of recreating the wheel for these phenotypes and very few resources where they are openly available (there was PheKB but it isn't updated often and only contains natural language descriptions of the phenotypes and often no code or other information to reproduce). My thought process was that an algorithm for a computable phenotype would essentially be a list of synthetic (fake) patients with certain characteristics, and then the computable phenotype would be run, and it would return a list of patients who have that condition. The major use case would be allowing individuals to download these code snippets to increase general reproducibility in medical care and studies overall. Would it be possible to utilize WikiFunctions for this? [[User:Superraptor123|Superraptor123]] ([[User talk:Superraptor123|talk]]) 08:25, 23 July 2026 (UTC) :({{Q|25203551}})<br>What system(s) are currently in use for doing such computations? Python scripts?<br>{{SITENAME}} currently does not cater to offline execution, so I imagine it wouldn't be suitable for medical ''practice'' where there are strict data protections. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:35, 23 July 2026 (UTC) ::Currently this involves something along the lines of a structured series of descriptors that make up the computable phenotype (ICD codes, RxNorm codes, lab test levels, age ranges, etc.), a fake "patient" (or list of "fake" patients) as input, and the patients that fit the computable phenotype criteria as output. In terms of systems currently in use, they are kind of-- everything. SQL, Java, SPARQL, Python, Perl, Ruby, etc. Currently I develop mostly using Python, so I would likely use that for implementation. And of course, yes, they would not be suitable for practice due to protections! For an example of an algorithm that I think could be useful to adapt, see: https://phekb.org/phenotype/type-2-diabetes-mellitus. [[User:Superraptor123|Superraptor123]] ([[User talk:Superraptor123|talk]]) 12:02, 23 July 2026 (UTC) :::So your reference is a decision tree, and are each of the "questions" evaluated by looking up a property/element in the input? That could be translated into a Function relatively easily. Most examples I can think of are NLG-related, like [[Z36580]], but there are [[WF:Catalogue/Wikidata_operations#Real_life_information_retrieved_using_Wikidata|some simpler Functions]] which extract parts of a given Wikidata Item, and [[Z34840]] works with the representations of numbers. What is the structure of the input EMR? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:54, 23 July 2026 (UTC) ::::Precisely-- I think most of these would be simple implementations, but good to generally have archived as most of them become lost media(-ish). Best-case, the input EMR would be a set of synthetic patients using the OMOP CDM (https://ohdsi.github.io/CommonDataModel/), the most common open data model in the space. It does mean it wouldn't be completely system agnostic, but it would most in the majority of situations. [[User:Superraptor123|Superraptor123]] ([[User talk:Superraptor123|talk]]) 14:07, 23 July 2026 (UTC) :::::If you decide to go ahead with this, you should [[WF:Type_proposals#Templates|propose a new type]] since it looks like a simple [[Z881|list]] or [[Z883|dict]] won't cover it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:31, 23 July 2026 (UTC) :Did you look much into the possibility of encoding these in Wikidata somehow? Have [[d:WD:WikiProject Medicine]] / [[meta:Wiki Project Med]] investigated it before? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:31, 23 July 2026 (UTC) ::I don't think so-- it could potentially be somewhat encoded in Wikidata-- main issue is that it uses a list of codes which Wikidata sometimes attaches to the same entity in ways that don't match up 1-to-1. And there may be drift in those codes over time, so the list of codes would have to be hard-coded. But there should generally be a way to link from the WikiFunction to Wikidata right? [[User:Superraptor123|Superraptor123]] ([[User talk:Superraptor123|talk]]) 22:06, 23 July 2026 (UTC) :::Linking ''to WF'' from an Item on Wikidata [[d:WD:Wikifunctions/Development|is an open question]], beyond sitelinks of course. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 12:02, 24 July 2026 (UTC) ::::So maybe creating functions here makes the most sense for the time being? I want to make sure I'm following the rules as intended but would that be okay for now? (Creating one or two and then presenting to the community to see if things look acceptable?) [[User:Superraptor123|Superraptor123]] ([[User talk:Superraptor123|talk]]) 06:46, 25 July 2026 (UTC) :::::Yes, you're welcome to try! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:53, 25 July 2026 (UTC) ::::::Thanks! I've been thinking about this a little bit-- in terms of objects, it may make sense to have an object that is an OMOP CDM database (which is allowed by their licensing, as the database schema is open source). But I'm wondering if it should instead be an extension of a more generic database object? [[User:Superraptor123|Superraptor123]] ([[User talk:Superraptor123|talk]]) 11:06, 28 July 2026 (UTC) == OWID's replacement for Extension:Graph == [[meta:OWID Gadget]] / [[c:Module:Owidslider]]<br>I'm currently watching the Wikimania talk "[https://wikimedia.eventyay.com/wm/wikimania2026/talk/CMPQQJ/ Bringing Interactive Graphs from Our World in Data to Wikipedia]" going through the latest iteration of their interactive graphs, and they seem to be in a good position now, including <abbr title="internationalisation">i18n</abbr>. I think it would be nice to use them in Abstract Wikipedia articles as well, but it's implemented as a Lua module + JS gadget. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:00, 23 July 2026 (UTC) == Friday's talks at Wikimania == {{noping|Mahir256}} just finished his talk/workshop "[https://wikimedia.eventyay.com/wm/wikimania2026/talk/HYTQBF From Abstract Content to Concrete Text with Wikidata Lexemes]" on {{Q|136813071}}. You can [https://www.youtube.com/watch?v=hvpOFVZhgnE&t=24370s watch it on YouTube here] (though there were audio problems, '''volume warning'''). <br>The workshop immediately before that was "[https://wikimedia.eventyay.com/wm/wikimania2026/talk/TWGKWB/ Making indigenous languages ready for Wikifunctions]". Hello to anyone who came from there! [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:58, 24 July 2026 (UTC) :@[[User:YoshiRulz|YoshiRulz]]: Thanks for highlighting these! There's also today's workshop [https://www.youtube.com/watch?v=nCVeXaAk77c on YouTube] about 90 minutes after the start of the stream, though that might not be as interesting to watch. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 13:28, 25 July 2026 (UTC) == Testing an unconnected implementation == Hi everyone! A few hours ago, I created [[Z38370|my first function]] together with [[Z38371|an unfinished Python implementation]]. When I wanted to test my implementation using the "Try this implementation" box in the bottom-right corner, I noticed that the button "Run function" was grayed out and there was a warning saying "This function has no connected implementations." As it seems, you can only run an implementation if its corresponding function has at least one connected implementation. The implementation you want to run doesn't even have to be connected itself, as I can run the unconnected implementation [[Z12949]] without any problems, even when I modify its code in the editor. Is this behavior intentional? And is there any way I can test my implementation? [[User:Tc14Hd|Tc14Hd]] ([[User talk:Tc14Hd|talk]]) 19:28, 28 July 2026 (UTC) :Yeah, it's [[phab:T343559#11421293|a pointless limitation]]. I've connected the test for you. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:56, 28 July 2026 (UTC) ::Thanks! I knew I couldn't be the only one who noticed this problem... [[User:Tc14Hd|Tc14Hd]] ([[User talk:Tc14Hd|talk]]) 13:00, 29 July 2026 (UTC) == [[Help:Categorization]] == Hi! Just wanted to let everyone know that I recently created [[Help:Categorization]] as a draft help page explaining how categories work. I'm new to Wikifunctions, but I used my knowledge of MediaWiki in general combined with some research to write it. If anyone would like to improve it, feel free to. [[User:Axolitl|Axolitl]] ([[User talk:Axolitl|talk]]) 04:32, 30 July 2026 (UTC) :It's just a general MediaWiki categories guide. It doesn't have anything special for Wikifunctions, which doesn't really have categories in the main namespace. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 16:42, 30 July 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #258: Abstract Wikipedia at Wikimania == <div lang="en" dir="ltr" class="mw-content-ltr">There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-07-29|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we discuss the presentations and workshops at Wikimania, including a features feedback request based on what we heard there, and highlight new features shipped this week including diffs for Wikifunctions. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! [[m:user:Quiddity (WMF)|Quiddity (WMF)]] 19:05, 30 July 2026 (UTC) </div> <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30870212 --> == Impact of labels translation == A lot of the edits on Wikifunctions are additions and changes of labels, descriptions, and aliases of functions, inputs, tests, and implementations. (I will subsequently call this "labels" for simplicity.) At Wikimania 2026, I heard from editors in several languages that they were encouraged to translate Wikifunctions' labels, and it made me wonder: Are there reasons to think that editing those labels has impact on the usage of Wikifunctions and Abstract Wikipedia by people who speak these languages? In general, I am quite famous as a major supporter of translating everything imaginable, but there should also be priorities, so if editing those labels doesn't have impact, then perhaps editors should be encouraged to translate something more visible. After English, [https://quarry.wmcloud.org/query/103687 the most common languages for editing labels] are German, French, Igbo, Italian, Indonesian, Bengali, Dutch, Japanese, Hindi, and Hebrew <small>([[User:Amire80/wikifunctionsanalytics|information about this data]])</small>. Looking a bit more deeply into some of those: * Hebrew labels were mostly contributed by @[[User:מקף|מקף]] (pronounced Maqaf), and a few were contributed by myself. I edit them mostly because I love seeing the UI translated as completely as possible, and since some object labels are integrated into the site's UI, they should be translated. Does this complete translation raise the usage of Wikifunctions by Hebrew speakers, though? I doubt it. Maqaf probably edits them because he creates some functions related to the Hebrew language, but that's just a guess, and I'd love to hear more about his motivation. * The top editor of German labels is @[[User:Ameisenigel|Ameisenigel]], who is generally a major contributor to translations across many Wikimedia projects, so perhaps his motivation is similar to mine, but he does it much more than I do. He also edits the content of actual functions, implementations, and tests. Some of the other German label editors do almost nothing but editing labels, although some, like @[[User:Lucas Werkmeister|Lucas Werkmeister]] and of course @[[User:Denny|Denny]] also contribute to actual functions and implementations. But back to the main question: German is the top language for label translations thanks to [[User:Ameisenigel|Ameisenigel]]'s huge work, but does it, for example, impact the creation of abstract content that works in German? When I try to select German on most abstract articles, I usually don't see a fully translated article. But maybe I'm not searching well? * The situation is a bit similar with French. @[[User:Jérémy-Günther-Heinz Jähnick|Jérémy-Günther-Heinz Jähnick]] is the top French label editor, but he makes almost no contributions to functions and implementations. The second top label editor is @[[User:VIGNERON|VIGNERON]], who does contribute quite a lot to functions and implementations. There are several other prolific French label editors, but most of them contribute little or nothing at all to functions and implementations. And as with German, I almost never see abstract articles fully translated into French. * Igbo has shown disproportionate label editing activity. I don't know why exactly, but I guess that there was some event that encouraged people to write labels (if anyone knows more, please tell me). All the top 10 Igbo label editors only wrote labels and didn't do anything else with functions or implementations. There are quite a lot of [[Wikifunctions:Catalogue/Natural language operations/Igbo|Igbo language functions]], all of which were made by @[[User:Dolphyb|Dolphyb]], who contributed very little to translations. This, by itself, is not a problem at all: it's very common that programmers mostly write code and translators mostly translate. There is still the same question, though: do those language functions and massive label translations contribute to achieving Abstract Wikipedia's goal of generating Igbo content? I haven't seen evidence to support that, but I'd love to see it if anyone can present it. * The situation with Indonesian is similar to the situation with Igbo, but there are [[Wikifunctions:Catalogue/Natural language operations/Igbo|much fewer language functions for Indonesian]]. So that's what I can glean. If I'm incorrect about anything or if you can add some more info, please speak up. Because of my interest in localization, I'll be very grateful to learn more. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:50, 30 July 2026 (UTC) :Adding labels in other languages has several advantages for the project. To name a few :* It is an easy introduction to Wikifunctions :* it is good for the image of Wikifunctions and Abstract Wikipedia as not being English centric :* Contributors of Wikifunctions should be able to add texts in their own languages, so translations main functions is vital for that. That includes labels, descriptions and inputs. :Not many labels are translated yet and not many functions work yet for other languages than English at the moment. The community is still very small, but I hope both will grow over time. They can mutually benefit each other. [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 21:19, 30 July 2026 (UTC) ::@[[User:HenkvD|HenkvD]], I heard similar claims before, but it's to scrutinize them. ::{{tq|It is an easy introduction to Wikifunctions}} - and what does this introduction lead to? I haven't seen clear evidence that translating labels leads to other contributions or to using functions. ::{{tq|it is good for the image of Wikifunctions and Abstract Wikipedia as not being English centric}} - is it actually good? Evidently, many people in recent critical discussions about Wikifunctions and Abstract Wikipedia still think that it's English-centric. ::{{tq|Contributors of Wikifunctions should be able to add texts in their own languages, so translations main functions is vital for that. That includes labels, descriptions and inputs}} - it ''sounds'' vital; as I said, I support localization of everything in principle, and this is the main reason for thinking like that. However, this doesn't answer my question: what is the ''actual'' impact? Wikifunctions has been online for three years, so we should have seen something by now, and we aren't seeing anything. ::{{tq|Not many labels are translated yet}} - how do you define "many"? Thousands of labels were translated, and I think that it is "many". But, as you say, {{tq|not many functions work yet for other languages than English at the moment}} - so evidently, translating labels didn't lead to writing those functions, at least yet. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 21:43, 30 July 2026 (UTC) :::Wikifunctions might be live for 3 years, but Abstract Wikipedia is only lie a few months. As it is early days for '''Language''' functions, and the first are made in English it still is English centric. THAT NEEDS TO CHANGE. Translations should help with that. [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 22:08, 30 July 2026 (UTC) :See also [[Help:Multilingual]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 21:25, 30 July 2026 (UTC) ::Does it say anything about the ''impact'' of translating labels? I don't see it. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 21:44, 30 July 2026 (UTC) :::No, I bring it up only as a possible explanation of translators' motives, and to point out where the documentation is should you want to improve it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:00, 30 July 2026 (UTC) :@[[User:Amire80|Amire80]]: I've seen folks at Wikimania use Abstract Wikipedia in their language and start and edit articles in Tyap, Japanese, and French. Having labels for those functions unlocks the Abstract Wikipedia to be used entirely in their language. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 06:07, 31 July 2026 (UTC) ::I understand the general idea of what this is supposed to be. I wonder whether there is actual measurable impact. ::You give Tyap as a successful example, but it's in fact the example of the opposite. I found zero functions whose name is translated into this language. I found one implementation whose name is translated into Tyap, [[Z29740]], and also a few translated language names and type names. My ''intuition'' is that type names are actually among the most important things to translate here, but very few of them are translated at the moment, and I'm trying to talk about measurable impact here and not about intuition. And as you say in the newsletter, the Tyap contributor was able to do something, even though almost nothing is translated into his language. ::The label translation statistics for Japanese and French are very good, but seeing something at Wikimania is anecdotal; it's not measurable impact. ::So again: I understand the general idea of why localization is desirable. I've dedicated more than sixteen years of my life to promoting this idea, I keep doing it now, and I plan to keep doing for as long as my health allows me to do it. But here, I'm asking not about the idea, but about the impact. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 09:57, 31 July 2026 (UTC) :::Hi {{ping|Amire80}}. I’m not skilled at programming, but I manage to handle the translation work—even if it isn’t perfect. I’m doing my bit to help out. [[User:Jérémy-Günther-Heinz Jähnick|Jérémy-Günther-Heinz Jähnick]] ([[User talk:Jérémy-Günther-Heinz Jähnick|talk]]) 22:29, 1 August 2026 (UTC) ::::Thank you! It's fine, not everyone has to know programming. I'm just wondering how much is it actually helping out. I'm not necessarily saying that it doesn't, but I do wonder how to measure that it does. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 05:50, 2 August 2026 (UTC) :::@[[User:Amire80|Amire80]]: I don't even understand what you are asking for. Measuring what impact, and how? The Tyap editor was able to use it because he also spoke English. If he wouldn't have, he would have an even harder time to use the interface. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 07:30, 2 August 2026 (UTC) ::::Does the translation of function labels into a language have a measurable impact on the usage of Wikifunctions and Abstract Wikipedia in that language? ::::For example, a lot of function labels are translated into Igbo. Does it mean that a lot of abstract articles are fully readable in Igbo? ::::Same question about German, French, Italian, etc. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 11:44, 2 August 2026 (UTC) :::::Translation of labels makes it easier to understand the function side of Abstract Wikipedia, and easier to add and change the lemma. It does NOT have affect on the final text in the language. It may help in writing functions for that language. As Abstract Wikipedia is a fairly new project with few contributors the impact cannot be measured. How would you measure that anyway? [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 12:02, 2 August 2026 (UTC) ::::::They ''can'' make it easier to understand the function, but ''do'' they make it easier? ::::::For example, there was obviously some organized activity to translate labels into Igbo. Look at [https://quarry.wmcloud.org/query/107942 this query]: You can see that there was a lot of label editing activity in Igbo in February, March, April, May, June, and September 2024, and very little activity in other times. It was probably related to this event: [[:m:Event:Translation of catalogue of available functions on wikifunctions igbo]]. ::::::There was also [https://diff.wikimedia.org/2026/01/16/introducing-data-and-functions-reflections-from-indonesian-data-and-technology-week-2025/ a similar event for Indonesian], and you can see in [https://quarry.wmcloud.org/query/107943 the statistics for Indonesian] that there was a peak of edits in December 2025, as described in the blog post. ::::::I don't know if these events were funded with money, but they were definitely ''organized''. Organization requires effort. And of course, effort was also invested into the actual translation. Effort should be invested if it has some impact, and if it has no impact, then it should be invested elsewhere. ::::::How would I measure it? Some examples: ::::::# Are there abstract articles that can actually be fully viewable in Igbo and Indonesian? As far as I can see, there aren't, but correct me if I'm wrong. ::::::# Are there many language functions that can generate text in Igbo and Indonesian, and are those functions actually used? The answer to the first question is "not many" ([[Wikifunctions:Catalogue/Natural language operations/Igbo|Igbo]], [[Wikifunctions:Catalogue/Natural language operations/Indonesian|Indonesian]]); the answer to the second and more important question is "they are probably not used". But again, correct me if I'm wrong. ::::::[[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 21:14, 4 August 2026 (UTC) :::::::I think you're right. To help translation to make more impact, we could document which of our 39,000 objects are most important to translate. For example, the list of types, the list of the fragment functions most used on AW, and the list of functions most used in compositions on WF. Your query tool may be able to help make the third of these? --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:58, 5 August 2026 (UTC) ::::::::I'll try, thanks for the tip! [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 02:09, 5 August 2026 (UTC) :Perhaps the more useful question is not the impact of contributing labels, but the impact of not contributing them. At present, a user who cannot search for a function using their own language is effectively required to use English (or another well-supported language). Such users do not create a visible failure case. :It may therefore be difficult to measure the benefit of translated labels from usage statistics alone because the absence of translations creates a barrier before usage even begins. :There may also be a feedback loop. English currently has the greatest discoverability, which means English-speaking contributors are more likely to notice when a function cannot be found, and to add aliases or improve labels accordingly. This may mean that English has a higher proportion of functions with aliases, and typically more aliases for any such function. Languages with less discoverability have fewer opportunities for this kind of positive feedback. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:09, 5 August 2026 (UTC) ::The questions to ask about this are: which languages are the most successful ones in terms of abstract articles translation? What made them successful? Can it be replicated? ::But that would be a topic for a separate thread. ::Here, I'm wondering about the impact of what people do invest their effort in. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 11:04, 5 August 2026 (UTC) == Contributing to language functions 1: Language Fragments == At Wikimania, @[[User:Dnshitobu|Dnshitobu]] recommended cloning a page like [[User:Dnshitobu/Dagbani Fragments]] and filling it with my own language. If I understand correctly, it's supposed to help to create functions for handling my language. I created [[User:Amire80/Hebrew Fragments]] and started filling it. There are a bunch of problems with it, but let's say that I can complete it. Is it actually useful? Once it's complete, what do I do with it? More broadly, if it is useful, is there a written guideline anywhere that recommends doing it? If I didn't visit Wikimania, I wouldn't know about it. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 22:10, 30 July 2026 (UTC) :From [[WF:Status_updates/2026-07-29#Abstract_Wikipedia_at_Wikimania|this week's newsletter]]: <q>[Dnshitobu's] main proposal is that editors can create simple wikitext tables of example fragments in their language so that others could later do the technical work of setting up the lexemes and NLG functions.</q> The next step is to correlate your example sentences to the top-level NLG functions, then add 1 or 2 test cases to each function from your table.<br>I don't believe {{noping|Dnshitobu}} wrote up the process anywhere on-wiki, but that would be worth doing. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:30, 30 July 2026 (UTC) ::OK, I can try to do it. ::However, I should mention that the examples work kind of well in English, and perhaps they work in Dagbani, but they don't translate easily into Hebrew. Different nouns need different prepositions some letters require morphology transformations and some don't, etc. It cannot really be solved with a few basic concatenations as it was probably done in English. ::The same is true for probably most other languages. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 23:49, 30 July 2026 (UTC) ::Also, who do I notify when it's ready? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 00:58, 31 July 2026 (UTC) :::[[WF:Requests for connection and disconnection]] [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 01:15, 31 July 2026 (UTC) ::::But these are not functions or implementations. These are just example strings. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 09:58, 31 July 2026 (UTC) :::::Right, you have to create test cases from them. For example, the "part of" sentences #7 and #8 correspond to [[Z34637]], so start by adding a test there. Then create a new function with the same shape as [[Z34867]] and add all your sentences to it as tests. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 17:49, 31 July 2026 (UTC) ::::::I think people should get help also if they can just write down how a fragment looks like for a specific language. So it should be not required to create a test case. So far I am not good in implementing functions in Wikifunctions. In the last days I have thinked about how to find a good way to define the fragments if the inputs are modified. This is difficult and I am not sure what is the best way. In the past I proposed [[User:Hogü-456/Decision table for Fragment experiments|decision tables]] for it. From my point of view more ideas and ways how to implement functions are needed as I expected more content in more languages in Abstract Wikipedia so far. It seems to me like it is too complicated to contribute to Wikifunctions at the moment. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:31, 11 August 2026 (UTC) == Contributing to language functions 2: Natural language operations == At [https://meta.wikimedia.org/wiki/Requests_for_comment/The_future_of_Abstract_Wikipedia#c-YoshiRulz-20260730202700-Amire80-20260730200900 this comment], @[[User:YoshiRulz|YoshiRulz]] recommended using pages like [[Wikifunctions:Catalogue/Natural language operations/Hebrew]] to see what functions are missing. What can I actually do with that table? Is there a guide for writing such functions and fitting them into the NLG system? Is this much better than something like [[User:Dnshitobu/Dagbani Fragments]], which I've mentioned in another comment on this talk page? Or can both be used? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 22:17, 30 July 2026 (UTC) :The guide is at [[User:DSantamaria-WMF/Guide: Working with Z14294]] ({{ping|DSantamaria-WMF}} why is this not in Helpspace?), and mirrored in [[toolforge:abstract-data]] IIRC.<br>You can use whatever organisational method you find easiest. (Or if you're lucky enough to have someone to collaborate with, find consensus.) Starting with a Wikitext table means you're not forced to learn about {{Z|14294}} and function creation before you can start working. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:34, 30 July 2026 (UTC) ::About the guide, I just end that guide one week ago and I was asking for some feedback on its correctness, once I have some feedback on that I will move it to the proper space. ::And definitely the tool is meant to be used for those purposes (finding all the [https://www.wikifunctions.org/view/en/Z14294 Z14294] that needs coverage in a specific language for example). Let me know if I can help with that. [[User:DSantamaria-WMF|DSantamaria-WMF]] ([[User talk:DSantamaria-WMF|talk]]) 05:36, 31 July 2026 (UTC) :On [[Abstract:User:HenkvD/Tasks per language]] I drafted a list of tasks per languages and per language fragment. Feel free to comment on this draft. [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 10:17, 31 July 2026 (UTC) ::Linking to the topic two above, one extra thing for Tasks per Language could be a link to a (sectioned) list of ZIDs that are most important to translate. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:22, 5 August 2026 (UTC) == On a set type == In [[WF:TP]], sets were refused as an independent type (and we are redirected towards using Typed lists). After adding many functions relative to hereditary sets and von Neumann ordinals, I believe a proper hereditary set type could be welcome on Wikifunctions. Here is the rationale behind this: * In its current state the Wikifunctions composition language lacks basic arithmetic operations. It is interesting to provide a set-based "fallback" for those, even if its performance makes it rarely used. One of Wikifunction's goals is to "Imagine a programming system that allows us to make the next big leap in knowledge representation"<ref group="set">[[Wikifunctions:About]]</ref>, having a proper representation of natural numbers is a good start. * Set operations are the basis of mathematics. Mathematically, natural numbers are typically defined with sets.<ref group="set">[[w:Set-theoretic definition of natural numbers]]</ref> Note that these mathematical sets are well defined ''hereditary sets'': sets that only contain other hereditary sets or are the empty set. * Currently Typed list(Object) is the best available representation of hereditary sets. They are however unclear (Object could be anything, while hereditary sets can't contain anything), and a pain to document: every function performing arithmetic using set representation needs to write "von Neumann ordinals represented as hereditary sets"; simply making the input type "Hereditary set" is a much cleaner and clear solution. * Hereditary sets can easily be defined as Typed list(Hereditary set). I am however unsure wether this kind of recursive type is possible in Wikifunctions. * Hereditary sets have all the characteristics of a normal type (a validator, an equality function<ref group="set">{{Z+|Z34273}}</ref>, and even type converters<ref group="set">{{Z|Z39064}}'s <code>to_set</code> function</ref>). Making a proper type for them avoids repetitive work and allow for better integration in the Wikisource ecosystem. Note that all these functions are different from their Typed list equivalents (equality ignores duplicates, type converters return set objects and not list objects). I would love to see a proper hereditary set type being discussed. If this isn't the right place, please tell me, I'm quite new to the type proposal process :) [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 20:30, 8 August 2026 (UTC) :Another use is to avoid confusion, such as between {{Z|Z34270}} and {{Z|Z34273}}, which has already caused issues before.<ref group="set">[[Talk:Z36677#Wrong set equality]]</ref> [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 20:32, 8 August 2026 (UTC) :IMO being "reliant" on code Implementations for arithmetic isn't a problem. Von Neumann ordinals are useful as a mathematical foundation but not as a computational one. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:18, 9 August 2026 (UTC) :After further work on von Neumann ordinals related functions, it appears Wikifunctions' builtin type converter from a Python list to a Typed list really struggles with deeply nested lists. I believe having a strong type converter for hereditary sets can really help with fast computations. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 00:06, 13 August 2026 (UTC) :I don't have the whole answer, but here's some information to start. :> Hereditary sets can easily be defined as Typed list(Hereditary set). I am however unsure wether this kind of recursive type is possible in Wikifunctions. :This is possible! All of the needed features exist in Wikifunctions. If you try to define this type and find it's not possible, then that should be filed as a bug in Wikifunctions (and one we will triage fix through the normal channels). :I also want to set some expectations. While Wikifunctions can (barring bugs?) absolutely represent a hereditary set type, operations on that type will not necessarily have the expected asymptotic performance characteristics. Generally, the ZObject language specification doesn't allow for an object to have an arbitrary number of members, so any container type will end up relying on some kind of recursively-defined structure like WF's own List type. Practically, this means that the composition language could never do something like an O(1) set lookup. :That said, I also want to point you to code converters, which would allow the hereditary set type to be converted to a more efficient representation inside of the JS and Python code executors. That's a secondary concern for after the type exists. :Happy to discuss further! [[User:CMassaro (WMF)|CMassaro (WMF)]] ([[User talk:CMassaro (WMF)|talk]]) 16:02, 13 August 2026 (UTC) ::Hi! I'm guessing the proper way to discuss this would be to make a draft type proposal? I still have some free time left on my holiday and I would love to develop that idea further :) ::I'm aware of performance limitations; my goal is to rely on composition only as some kind of ''theoretical fallback'' while all performance intensive computation is done with code implementations. That way what I make can be "well-defined" and fast at the same time (ideally...). [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 21:38, 13 August 2026 (UTC) :::Yes, that makes sense. Are you on IRC? #wikipedia-abstract is a very friendly and helpful group; if you're looking to make a new type, that would be a good place to get pointers. [[User:CMassaro (WMF)|CMassaro (WMF)]] ([[User talk:CMassaro (WMF)|talk]]) 09:36, 14 August 2026 (UTC) <references group="set" /> == Wikifunctions & Abstract Wikipedia Newsletter #259: Congratulations Jules*. An apple is a fruit == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-08-05|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we congratulate Wikimedian of the Year and we discuss his favourite article in relation to Abstract Wikipedia, we introduce a new Type of function on Wikifunctions, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! We also remind you that in the next weeks these newsletter reminders will be paused, and that they will resume in mid-August. Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 13:19, 10 August 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30870212 --> : {{tq|Given that they are stored as persistent objects, their anonymity is kinda defeated, but it may be useful for testing and documentation purposes.}} Not exactly sure what the point is, then, since we'd still need the same amount of documentation in the description to say which function this is a nonce for. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:55, 10 August 2026 (UTC) ::You can use them without creating a persistent object, [https://www.wikifunctions.org/wiki/Z801?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z801%22%2C%22Z801K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z39025%22%2C%22Z39025K1%22%3A%5B%22Z38546%22%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z38926%22%2C%22Z38926K1%22%3A%22Z30795%22%2C%22Z38926K2%22%3A%22%5D%5D%22%7D%2C%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z38926%22%2C%22Z38926K1%22%3A%22Z30035%22%2C%22Z38926K2%22%3A%22%5B%5B%22%7D%5D%2C%22Z39025K2%22%3A%7B%22Z1K1%22%3A%22Z11%22%2C%22Z11K1%22%3A%22Z1002%22%2C%22Z11K2%22%3A%22currying%22%7D%7D%7D example]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 21:54, 10 August 2026 (UTC) ::: Ooh, that's neat. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 00:17, 11 August 2026 (UTC) == Wikifunctions as a programming system == With [[Z38546|lambda]] and half<ref group="note">For it to be considered complete, shouldn't it take the environment in which to evaluate? Which reminds me, where's local variables in composition? Sure, it can be emulated via an [[w:Immediately invoked function expression|IIFE]], but how does that look like? So, macros as well. I look forward to how a generalized, multilingual Lisp interpreter function would look like..</ref>-of-an-[[Z38590|eval]], the runtime environment of Wikifunctions now resembles a somewhat less [[w:Greenspun's tenth rule|poor LISP]]. Whereas the runtime, as it stands now, is somewhat reminiscent of [[w:Smalltalk|Smalltalk]], [[w:Self (programming language)|Self]] and others, an [[w:object-oriented programming|object-oriented programming]] [https://arxiv.org/abs/2302.10003 ''system'']. <ref group="note">How I wish there was a Wikipedia article about programming systems in this sense... </ref> I wonder: how far/well the ''theory'' (in the sense of [[w:programming language theory|programming language theory]], [[w:semantics (programming languages)|semantics]] and such) behind Wikifunctions have been developed, whether that has been documented somewhere (beyond [[WF:Function model|Function model]]) or it still resides [[w:tacit knowledge|in the minds]] of the implementors for now, which direction<ref group="note">e.g. [[w:Metaobject#Metaobject protocol|Metaobject protocol]] (quite relevant, since it's object-oriented), higher-[[w:Kind (type theory)|kind]]ed types and so on</ref> you wish to develop this system and so on; where such discussions can take place. Among the [https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Goals#Secondary_goals secondary goals] is: <q>Faster development of new programming languages due to accessing a wider standard library (or repository) of functions in a new dedicated wiki.</q> For which we should have categorized and isolated the portion of functions (and objects), to be made available seperately as self-contained/sufficient collections, that are most relevant to implementing programming languages/systems. Has (if so, how much) there already been any work in this direction? Since Wikifunctions aims to be natural-language- as well as programming-language-[[w:agnostic (data)|agnostic]], it should be agnostic of any particular representation as well. Thus it should work with different representations (whether it's the underlying (JSON) representation of the objects, the specific choice of numberings, type system or even ontology) and be convertible among equivalence classes of representations (and conceptualizations?). It's this level of generality I'm quite interested about, and wish to have some in-depth discussion (here, insofar relevant to this project and elsewhere). ---- <references group="note"/> [[User:Smlckz|Smlckz]] ([[User talk:Smlckz|talk]]) 11:31, 12 August 2026 (UTC) :Hi @[[User:Smlckz|Smlckz]]! I am really interested in the viability of Wikifunctions as a programming system too, but I don't think you're in a for a great experience... While my experience here is quite limited, I worked a lot on a major issue that still bothers me: the composition language is incapable of basic arithmetic. If you look into [[Wikifunctions:Reserved ZIDs]], you'll notice that there isn't any built in implementation for addition, subtraction, and there isn't even a builtin type for Natural numbers. This leads to quite a few fundamental issues, like the fact that the built-in {{Z|80}} depends on the non-built-in {{Z|13518}}... :Strings aren't much better: the only core functions to manipulate them, {{Z|886}} and {{Z|888}} have been deprecated. :And while [[Wikifunctions:Function model]] is a great start it is out of date and is nowhere complete enough to be considered a proper specification. If you want any information as to how evaluation and the object model actually work you have to look into the Gitlab repos for the current implementation. :Last thing, the {{Z|823}} function is a total breach of purity, and allows functions to get information about there own implementation, the environment they run in, etc. This can even be used, I believe, as a source of randomness. :I have great hopes that Wikifunctions will become a strong programming system one day, but as of now, it's far behind any other functional programming languages. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 00:15, 13 August 2026 (UTC) ::I hope that folks who are interested, like you two, can help with moving in that direction. ::The development team is not focusing on that secondary goal currently. That shouldn't preclude anyone else from doing so. ::How does Z823 break purity? ::Honest question: do we need closure for anonymous functions, or is alpha conversion sufficient? --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 12:25, 13 August 2026 (UTC) :::Sorry for the use of the maybe unclear term purity, I stole it from the Nix language :) :::Purity would be the principle that the same inputs always return the same outputs, independently from the running environement. {{Z|823}} does the exact opposite by literally giving you information about the outside environment. This constitues a source of randomness that I really do not appreciate from a theoretical standpoint, as it potentially introduces painful runtime errors (race conditions even, albeit only in extreme cases) which no one likes to debug. :::I personally think that it is quite an useless function (4 uses in mainspace), but if people really want to keep it, I propose to restrict its usage to tests or make any function using it be marked as "impure" too. :::To answer your last question, I don't really understand it --- I'm sorry for showing my lack of computer science basics here :') If you wish to explain it further, I'd be happy to give you my opinion. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 21:44, 13 August 2026 (UTC) :::{{tq|Honest question: do we need closure for anonymous functions, or is alpha conversion sufficient?}} If we want to evolve towards a proper [[w:rewriting|rewriting]] system, conversion and reduction rules from lambda calculus might suffice. But, for now, if I have understood the current system correctly, we'd need to have closures, if only for reasons of efficiency. Imagine big, non-persistent, runtime objects, being referenced multiple times in anonymous functions, after beta reduction, to get represented with that many copies in their bodies.. (The evaluator might not be affected, but once these anonymous functions need to persist or even just pass through programming language boundaries, forcing normalization/serialization..) So, if we want to support anonymous functions as first-class objects of the kind of system we currently have, closures are essential. [[User:Smlckz|Smlckz]] ([[User talk:Smlckz|talk]]) 03:09, 14 August 2026 (UTC) ::{{tq|I worked a lot on a major issue that still bothers me: the composition language is incapable of basic arithmetic.}} When anonymous functions work better, we should be able to implement [[w:Church encoding|Church numerals]] using them. Similarly, when we'll have support for sum types, we could use that to implement [[w:Peano axioms|Peano arithmetic]] (as linked list of unit type). While these are interesting for theoretical purposes, we can't rely on them in practice, due to the kind of runtime we have here; it'd be too inefficient for any non-trivial use. Like functions can have multiple implementations, types could do the same, giving rise to typeclasses.. <small>The aspiration towards purity gives rise to expectations of realization of [[w:Curry–Howard correspondence|program-proof equivalence]], in having proofs of theorems hosted alongside ordinary functions (and perhaps proofs of correctness of such ordinary functions), but that's too far in the future for us to consider.</small> We can then have performant implementations of types alongside theoretically interesting ones. {{tq|This leads to quite a few fundamental issues, like the fact that the built-in {{Z|80}} depends on the non-built-in {{Z|13518}}...}} Which does sound quite backwards. I'd've expected to see a built-in natural number type, with byte defined as a derived type out of it. (For comparison, here's what Common Lisp came up with: [https://metaspec.dev/t_integer.html] [https://metaspec.dev/t_unsigned-byte.html]) {{tq|Last thing, the {{Z|823}} function is a total breach of purity, and allows functions to get information about there own implementation, the environment they run in, etc.}} This information can also be used to choose more performant (or, for a particular environment, a better-suited) implementation amongst available. I don't expect this system to be able uphold the level of purity expected from a purely functional programming language, but only up to a certain degree: that most functions won't directly need to rely on such escape hatches. (Compare Rust's <code>unsafe</code>. Similarly, consider the caveats of [https://wiki.haskell.org/index.php?title=Hask '''Hask'''].) [[User:Smlckz|Smlckz]] ([[User talk:Smlckz|talk]]) 17:41, 13 August 2026 (UTC) :::Church numerals are an idea I love, and Peano arithmetic too! My initial attempt with von Neumann ordinals quickly stopped because of speed concerns :') Typeclasses is an idea I had a while ago (although I phrased it as Single Type, Multiple Representations) and could further improve Wikifunctions' abstractness and maybe even performance. I agree the lack of a number type is a major flaw in the system. Last point, I think implementation choice should mostly be done by the system automatically; what you call <code>unsafe</code> is similar to the concept of impurity in Nix, where calling an impure function makes the function calling it impure too. I believe an automatic explicit visible marking of such impure functions could help prevent their abusive use. :::Given that some people seem interested in the ideas we discussed but it isn't a main focus at the moment, would you like us to discuss further ideas such as the writing of a formal Wikifunctions ''specification'', some new type proposals for an integer type, and maybe even develop the idea of typeclasses? :::If you'd like a more dynamic discussion I have Discord if needed (hope it's not illegal to say that!) [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 21:52, 13 August 2026 (UTC) ::::I'd like to discuss, along with participation from implementors, such that we don't build [[wikt:castle in the air|castle in the air]]. With how things are in flux, designing a specification now might not be a good idea. At least, we'd need multiple competing full-featured implementations such that the need for specification can naturally arise. We can certainly discuss existing implementations of various programming systems: what to pick, what to discard and what to innovate in our circumstances.. <small><small>I don't use Discord. You can talk with me on [[w:IRC|IRC]]: find me in the Libera.chat channel <code>#wikipedia-abstract</code>. If you don't have an IRC client set up, you can use Libera's [https://libera.chat/guides/clients web clients]. Mention the time (with timezone) you'll be available. We can discuss which (better or worse) protocol/platform to use for further communication there. </small></small> [[User:Smlckz|Smlckz]] ([[User talk:Smlckz|talk]]) 04:16, 14 August 2026 (UTC) :::::I do have IRC! <code>virinas-code</code>, I use the Konversation client. You do seem to have a lot more experience than me with functional programming so I'll be happy to discuss ideas with you :) :::::I'm typically available from 2PM to 8PM and from 11PM to 2AM-4AM in the Europe/Paris timezone. I think one of the first thing we should do is fix the built-in lack of a number type. A specification can come much later, but we do need to reinforce existing documentation (e.g. by completing [[Wikifunctions:Function model]]). [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 12:48, 14 August 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #260: Shoutout to User:99of9 == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-08-13|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we congratulate our own User:99of9 for his extensive work with the Wikifunctions & Abstract Wikipedia communities, we discuss what happened at Wikimania, we introduce a document for interested communities to join Abstract Wikipedia, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 15:55, 13 August 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30870212 --> == Showing where a function is used == Compositions allows to see the smaller functions/compositions that a specific implementation has used, but what about the other way around? Showing where a certain small function or composition was used in other bigger implementations. This would both show the impact of smaller, essential functions while also being helpful for people trying to build new implementations by following the same logic that has been implemented by someone else already to save time. What do you all think? [[User:Omar M. Ghaly|Omar M. Ghaly]] ([[User talk:Omar M. Ghaly|talk]]) 05:47, 16 August 2026 (UTC) :[[Special:WhatLinksHere]]/[[Special:FunctionUsage]] [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:50, 16 August 2026 (UTC) sc8cc3349yhuvn3f8lfxbjpdgxyuxqu Wikifunctions talk:Main Page 5 3346 299791 296054 2026-08-16T01:02:04Z Omar M. Ghaly 99256 /* Showing where a function is used */ new section 299791 wikitext text/x-wiki *''This is the place where you can discuss the Main Page.'' ** ''The Main Page can be translated at [[Template:Main page]].'' ** ''The Main Page News can be translated at [[Template:Main page/News]].'' *'''''General project discussion takes place at [[Wikifunctions:Project chat]].''''' {{Autoarchive resolved section |age = 1 |archive = ((FULLPAGENAME))/Archive/((year))/((month:##)) |timeout=30 }} {{Archives|{{Flatlist|{{Special:PrefixIndex/Wikifunctions talk:Main Page/Archive/|stripprefix=1}} }} }} ;Sandbox links: Use the sandboxes for complex edit suggestions. * [[Template:Main page/sandbox]] and [[Template:Main page/sandbox/styles.css]] == Promotion of multilingual functions == Could we replace the following? * {{Z|13587}} with {{Z|16437}} * {{Z|19514}} seems to only work for English despite taking Lexemes as input [[User:Autom|Autom]] ([[User talk:Autom|talk]]) 15:32, 22 July 2026 (UTC) :{{s}} do you have a suggestion for the second replacement? [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:46, 23 July 2026 (UTC) ::No, I couldn't find a function that performs a similar task. It would be great to showcase a function that works with lexemes in the spirit of Z19514 (useful but not overly complicated). [[User:Autom|Autom]] ([[User talk:Autom|talk]]) 08:13, 24 July 2026 (UTC) ::The generalisation of [[Z19514]] would be {{Z|19530}}. See also the several other times this topic has been raised here in the archives. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:03, 26 July 2026 (UTC) == Showing where a function is used == Compositions allows to see the smaller functions/compositions that a specific implementation has used, but what about the other way around? Showing where a certain small function or composition was used in other bigger implementations. This would both show the impact of smaller, essential functions while also being helpful for people trying to build new implementations by following the same logic that has been implemented by someone else already to save time. What do you all think? [[User:Omar M. Ghaly|Omar M. Ghaly]] ([[User talk:Omar M. Ghaly|talk]]) 01:02, 16 August 2026 (UTC) nmmbs38osxexc87j0q98dmf20a47ibq 299797 299791 2026-08-16T01:59:59Z 99of9 1622 /* Showing where a function is used */ Reply 299797 wikitext text/x-wiki *''This is the place where you can discuss the Main Page.'' ** ''The Main Page can be translated at [[Template:Main page]].'' ** ''The Main Page News can be translated at [[Template:Main page/News]].'' *'''''General project discussion takes place at [[Wikifunctions:Project chat]].''''' {{Autoarchive resolved section |age = 1 |archive = ((FULLPAGENAME))/Archive/((year))/((month:##)) |timeout=30 }} {{Archives|{{Flatlist|{{Special:PrefixIndex/Wikifunctions talk:Main Page/Archive/|stripprefix=1}} }} }} ;Sandbox links: Use the sandboxes for complex edit suggestions. * [[Template:Main page/sandbox]] and [[Template:Main page/sandbox/styles.css]] == Promotion of multilingual functions == Could we replace the following? * {{Z|13587}} with {{Z|16437}} * {{Z|19514}} seems to only work for English despite taking Lexemes as input [[User:Autom|Autom]] ([[User talk:Autom|talk]]) 15:32, 22 July 2026 (UTC) :{{s}} do you have a suggestion for the second replacement? [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:46, 23 July 2026 (UTC) ::No, I couldn't find a function that performs a similar task. It would be great to showcase a function that works with lexemes in the spirit of Z19514 (useful but not overly complicated). [[User:Autom|Autom]] ([[User talk:Autom|talk]]) 08:13, 24 July 2026 (UTC) ::The generalisation of [[Z19514]] would be {{Z|19530}}. See also the several other times this topic has been raised here in the archives. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:03, 26 July 2026 (UTC) == Showing where a function is used == Compositions allows to see the smaller functions/compositions that a specific implementation has used, but what about the other way around? Showing where a certain small function or composition was used in other bigger implementations. This would both show the impact of smaller, essential functions while also being helpful for people trying to build new implementations by following the same logic that has been implemented by someone else already to save time. What do you all think? [[User:Omar M. Ghaly|Omar M. Ghaly]] ([[User talk:Omar M. Ghaly|talk]]) 01:02, 16 August 2026 (UTC) :You'd be better posting this at [[Wikifunctions:Project_chat]]. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:59, 16 August 2026 (UTC) gutfvopzggpmoksl54wmhz7vwe2wvrs 299807 299797 2026-08-16T05:48:15Z Omar M. Ghaly 99256 /* Showing where a function is used */ Reply 299807 wikitext text/x-wiki *''This is the place where you can discuss the Main Page.'' ** ''The Main Page can be translated at [[Template:Main page]].'' ** ''The Main Page News can be translated at [[Template:Main page/News]].'' *'''''General project discussion takes place at [[Wikifunctions:Project chat]].''''' {{Autoarchive resolved section |age = 1 |archive = ((FULLPAGENAME))/Archive/((year))/((month:##)) |timeout=30 }} {{Archives|{{Flatlist|{{Special:PrefixIndex/Wikifunctions talk:Main Page/Archive/|stripprefix=1}} }} }} ;Sandbox links: Use the sandboxes for complex edit suggestions. * [[Template:Main page/sandbox]] and [[Template:Main page/sandbox/styles.css]] == Promotion of multilingual functions == Could we replace the following? * {{Z|13587}} with {{Z|16437}} * {{Z|19514}} seems to only work for English despite taking Lexemes as input [[User:Autom|Autom]] ([[User talk:Autom|talk]]) 15:32, 22 July 2026 (UTC) :{{s}} do you have a suggestion for the second replacement? [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:46, 23 July 2026 (UTC) ::No, I couldn't find a function that performs a similar task. It would be great to showcase a function that works with lexemes in the spirit of Z19514 (useful but not overly complicated). [[User:Autom|Autom]] ([[User talk:Autom|talk]]) 08:13, 24 July 2026 (UTC) ::The generalisation of [[Z19514]] would be {{Z|19530}}. See also the several other times this topic has been raised here in the archives. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:03, 26 July 2026 (UTC) == Showing where a function is used == Compositions allows to see the smaller functions/compositions that a specific implementation has used, but what about the other way around? Showing where a certain small function or composition was used in other bigger implementations. This would both show the impact of smaller, essential functions while also being helpful for people trying to build new implementations by following the same logic that has been implemented by someone else already to save time. What do you all think? [[User:Omar M. Ghaly|Omar M. Ghaly]] ([[User talk:Omar M. Ghaly|talk]]) 01:02, 16 August 2026 (UTC) :You'd be better posting this at [[Wikifunctions:Project_chat]]. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:59, 16 August 2026 (UTC) ::Thanks for informing me! [[User:Omar M. Ghaly|Omar M. Ghaly]] ([[User talk:Omar M. Ghaly|talk]]) 05:48, 16 August 2026 (UTC) 2eb7z6ak05fktbf67gocoyuy7f4g905 Z21794 0 48021 299800 158268 2026-08-16T02:45:18Z Feeglgeef 8776 299800 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z21794" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z21791", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z21791", "Z21791K1": { "Z1K1": "Z7", "Z7K1": "Z6825", "Z6825K1": { "Z1K1": "Z6095", "Z6095K1": "L55756" } }, "Z21791K2": { "Z1K1": "Z7", "Z7K1": "Z6825", "Z6825K1": { "Z1K1": "Z6095", "Z6095K1": "L721785" } }, "Z21791K3": "Z16662" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "ella es una fundadora española" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "ella es una fundadora española" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } eideh8c59c7z8l7tds18xaforslx8s2 Z32823 0 79253 299641 298113 2026-08-15T15:19:14Z Artsiom91 2118 add Russian 299641 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z32823" }, "Z2K2": { "Z1K1": "Z14294", "Z14294K1": [ "Z14293", { "Z1K1": "Z14293", "Z14293K1": "Z38994", "Z14293K2": "Z33034" }, { "Z1K1": "Z14293", "Z14293K1": "Z39489", "Z14293K2": [ "Z60", "Z1005" ] } ], "Z14294K2": "Z39018" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "config for demonym" }, { "Z1K1": "Z11", "Z11K1": "Z1592", "Z11K2": "konfiguration för demonym" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } n5ldjrsve2l8k2xsop103fqzx1frewf Z33024 0 79571 299670 299537 2026-08-15T18:27:59Z WikiLambda system 3 Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]]) 299670 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z33024" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z33024K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "items" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Elemente" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z33024K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language " }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Sprache" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z11" }, "Z8K3": [ "Z20", "Z33025", "Z34679", "Z34688", "Z38847" ], "Z8K4": [ "Z14", "Z39472", "Z34678" ], "Z8K5": "Z33024" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "label texts for Wikidata items [QIDs]" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Bezeichnungstexte für Wikidata-Elemente" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "label monolingual texts for Wikidata items" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns the text from label in the given language, for each Wikidata item referenced" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Gibt für jedes referenzierte Wikidata-Element den Text aus der Bezeichnung in der angegebenen Sprache zurück" } ] } } g6aa9vacjbwxpqjk95nupe1isuwimz0 Wikifunctions:Type proposals/Syntactic table 4 79588 299804 288660 2026-08-16T05:44:38Z Carnildo 54460 /* Comments */ 299804 wikitext text/x-wiki : ''Experimentally implemented'': {{Z+|Z36462}} --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 12:49, 17 June 2026 (UTC) One aim of the NLG system is to have a small number of language-specific functions. It is OK to have many abstract functions, but the specific languages should ideally be less numerous. For example, consider the following six outputs: # Brač is an island. # Brač is a beautiful island. # Brač is a beautiful [[:en:Island|island]]. # '''Brač''' is an island. # '''Brač''' is a beautiful island. # '''Brač''' is a beautiful [[:en:Island|island]]. How many language-specific functions would that need? If I look at the current best practices, I seem to land on six language-specific functions, one for each output. Even though grammatically there seem to be only two major operations: * Connect two noun phrases in a predicative sentence: Brač is an island * Combine an adjective and a noun to form a noun phrase: a beautiful island Besides that, we would have functions to turn a phrase into a link or to give strong emphasis to a phrase, but do these need to be language-specific? I think not. We seem to have all the necessary pieces for the outputs already available: * <code>Indefinite noun phrase with adjective</code>: a beautiful island ([https://www.wikifunctions.org/wiki/Z22664?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22664%22%2C%22Z22664K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q23442%22%7D%2C%22Z22664K2%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q7242%22%7D%2C%22Z22664K3%22%3A%22Z1002%22%7D function call]) * <code>Article-less instantiating fragment</code>: Brač is an island. ([https://www.wikifunctions.org/wiki/Z26039?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z26039%22%2C%22Z26039K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q922%22%7D%2C%22Z26039K2%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q23442%22%7D%2C%22Z26039K3%22%3A%22Z1002%22%7D function call]) * <code>Strong importance</code>: '''Brač''' ([https://www.wikifunctions.org/view/en/Z28914?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z28914%22%2C%22Z28914K1%22%3A%22Bra%C4%8D%22%7D function call]) * <code>HTML link to Wikipedia article about Wikidata item</code>: [[:en:Island|island]] ([https://www.wikifunctions.org/view/en/Z29588?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z29588%22%2C%22Z29588K1%22%3A%22Z1002%22%2C%22Z29588K2%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q23442%22%7D%7D function call]) But it is currently not possible to plug these together to allow for the creation of the outputs above, beyond the first one. That’s partially because of the involved types: * <code>indefinite noun phrase with adjective</code> takes two <code>Wikidata item references</code> and a <code>language</code> and returns a <code>string</code> * <code>article-less instantiating fragment</code> does the same * <code>Strong importance</code> takes a <code>string</code> and returns an <code>HTML fragment</code> * <code>HTML link to Wikipedia article about Wikidata item</code> takes a <code>language</code> and a <code>Wikidata item reference</code> and returns an <code>HTML fragment</code> It seems that what we would want to do is the following (the language parameter has been omitted for legibility): # <code>instantiating( Brač, island )</code> # <code>instantiating( Brač, noun with adjective( island, beauty ) )</code> # <code>instantiating( Brač, noun with adjective( link( island ), beauty ) )</code> # <code>instantiating( strong( Brač ), island )</code> # <code>instantiating( strong( Brač ), noun with adjective( island, beauty ) )</code> # <code>instantiating( strong( Brač ), noun with adjective( link( island ), beauty ) )</code> If we want to be able to do this, the type of <code>Brač</code> and the return type of <code>strong</code> must be the same, as well as the type of <code>island</code> and the return types of <code>link</code> and <code>noun with adjective</code>. What could that type be? In English, as usual, we may get seduced to a certain simplicity: we could probably just use <code>HTML fragment</code> as the type and probably get away with it! All of the operations above seem to work out. But in French (or Italian or Spanish or many other languages) that wouldn’t work: <code>noun with adjective</code> needs to know the gender of the noun in order to select the right form of the adjective (the adjective and the noun need to agree with each other). HTML fragment does not provide that information. I don’t think that there currently is a good type for that. I suggest introducing a new type, the <code>syntactic table</code>. This is inspired by [[:en:Grammatical Framework (programming language)|Grammatical Framework]], and in core similar to a [[Wikifunctions:Type proposals/Syntactic type|proposal I made last year]], but I learned a lot from the comments and modified the type accordingly, making it considerably simpler. <code>Syntactic table</code> has the following four keys: # <code>Language</code>, i.e. which <code>natural language</code> is this table for # <code>Part of speech</code>, i.e. which part of speech is this (noun, noun phrase, verb, adjective, etc.) (is this a lightweight enumeration or a <code>Wikidata item reference</code>?) # <code>Inherent features</code>, <code>list</code> of <code>Wikidata item references</code> representing grammatical features, e.g. <code>masculine</code>, <code>plural</code>, etc. # <code>Options</code>, a <code>list</code> of <code>pairs</code> of a <code>list</code> of <code>Wikidata item references</code> (representing grammatical features) and a <code>list</code> of <code>HTML fragments</code> Or, do visualize it, here is a visualization of the syntactic table for the German noun ''“Stadt”'', meaning ''city''. {| class="wikitable" |'''''language''''' | colspan="4" |German |- |'''''Part of speech''''' | colspan="4" |noun |- |'''''Inherent feature''''' | colspan="4" |feminine |- |'''''options''''' |'''nominative''' |'''genitive''' |'''dative''' |'''accusative''' |- |'''singular''' |Stadt |Stadt |Stadt |Stadt |- |'''plural''' |Städte |Städte |Städten |Städte |} And here is a partial visualization of the syntactic table for the German adjective ''“schön”'', meaning ''beautiful''. {| class="wikitable" |'''''language''''' | colspan="4" |German |- |'''''Part of speech''''' | colspan="4" |adjective |- |'''''Inherent feature''''' | colspan="4" |— |- | rowspan="2" |'''''options''''' | colspan="3" |'''singular''' | rowspan="2" |'''plural''' |- |'''masculine''' |'''feminine''' |'''neuter''' |- |'''nominative''' |schöner |schöne |schönes |schönen |- |'''genitive''' |schönen |schönen |schönen |schönen |- |'''dative''' |schönen |schönen |schönen |schönen |- |'''accusative''' |schönen |schöne |schönes |schönen |} Now there would be a number of functions working on <code>syntactic tables</code>: for example, the <code>merge</code> function, which takes two tables and returns a table, representing the merger. The inherent features of each of the tables are used to filter the options in each other tables. In addition, the options are combined together to create a new map of forms. So the result of the merging the two tables with a simple spaced concatenation would be: {| class="wikitable" |'''''language''''' | colspan="4" |German |- |'''''Part of speech''''' | colspan="4" |core noun phrase |- |'''''Inherent feature''''' | colspan="4" |feminine |- |'''''options''''' |'''nominative''' |'''genitive''' |'''dative''' |'''accusative''' |- |'''singular''' |schöne Stadt |schönen Stadt |schönen Stadt |schöne Stadt |- |'''plural''' |schönen Städte |schönen Städte |schönen Städten |schönen Städte |} Another function could be used to bold a part of the text (which is a mostly language-independent operation). So we might have bolded the noun ''‘Stadt’'' before, which would result in the following output: {| class="wikitable" |'''''language''''' | colspan="4" |German |- |'''''Part of speech''''' | colspan="4" |noun |- |'''''Inherent feature''''' | colspan="4" |feminine |- |'''''options''''' |'''nominative''' |'''genitive''' |'''dative''' |'''accusative''' |- |'''singular''' |'''Stadt''' |'''Stadt''' |'''Stadt''' |'''Stadt''' |- |'''plural''' |'''Städte''' |'''Städte''' |'''Städten''' |'''Städte''' |} If we merge that with the adjective as before, we get the following result: {| class="wikitable" |'''''language''''' | colspan="4" |German |- |'''''Part of speech''''' | colspan="4" |core noun phrase |- |'''''Inherent feature''''' | colspan="4" |feminine |- |'''''options''''' |'''nominative''' |'''genitive''' |'''dative''' |'''accusative''' |- |'''singular''' |schöne '''Stadt''' |schönen '''Stadt''' |schönen '''Stadt''' |schöne '''Stadt''' |- |'''plural''' |schönen '''Städte''' |schönen '''Städte''' |schönen '''Städten''' |schönen '''Städte''' |} And if we merge that with an indefinite article, we get a full noun phrase: {| class="wikitable" |'''''language''''' | colspan="4" |German |- |'''''Part of speech''''' | colspan="4" |noun phrase |- |'''''Inherent feature''''' | colspan="4" |feminine |- |'''''options''''' |'''nominative''' |'''genitive''' |'''dative''' |'''accusative''' |- |'''singular''' |eine schöne '''Stadt''' |einer schönen '''Stadt''' |einer schönen '''Stadt''' |eine schöne '''Stadt''' |- |'''plural''' |schönen '''Städte''' |schönen '''Städte''' |schönen '''Städten''' |schönen '''Städte''' |} Note that we are always operating on <code>syntactic tables</code>, both in the input and in the output, allowing us to combine the functions flexibly. Compared to my [[Wikifunctions:Type proposals/Syntactic type|previous proposal]], we would not be creating hundreds of types, but just a small number (one basically, maybe some supporting types), answering one of the biggest criticisms. Also, the new type will be available immediately for all languages that want to use it. To summarize, the idea is to have two kind of functions: functions that are usable across all (or at least most) languages (such as <code>link</code> or <code>strong emphasis</code>) and functions that need to be implemented in each language (such as <code>noun with adjective</code>). Both can use the same type, and thus be combined in a way that can reduce the number of functions in the latter group. == Discusssion == === Cory's thoughts === This proposal can get us very far for languages with simple (-ish) morphologies. It will be less effective for morphologically rich language, where a syntactic table might contain thousands of forms, and where it might be more natural to apply these kinds of transformations only to parts of words. For example, while some languages might be okay with <blockquote>schönen <bold>Städte</bold></blockquote> others might prefer something like <blockquote>schönen <bold>Städt</bold>e</blockquote> (note the "e" standing outside of the bold chunk). This can even happen in English: if we wanted to make the phrasal verb "pick up" bold in a sentence, we'd have to deal with non-consecutive bold tokens, e.g. <blockquote>Please <bold>pick</bold> it <bold>up</bold>.</blockquote> More broadly, NLP systems tend to handle this kind of metadata in one of two ways: offset and inset annotation. Inset annotation looks like the above examples: tags that intervene directly in a data structure. Offset annotation might look more like this: <pre> { "text": "Please pick it up.", "spans": [ { "tag": "bold", "begin": 7, "end": 11 }, { "tag": "bold", "begin": 15, "end": 17 } ] } </pre> Decisions like this are not unrelated to how we decide to represent linguistic elements more generally. A general, robust solution would involve treating linguistic units not as literal text strings but as symbolic transformational nodes. In this case, the system wouldn't operate over "Stadt" but over a richer structure containing 1) the syntactic usage of "Stadt," 2) the eventual inflected form of "Stadt," and 3) any additional annotations, such as bold text, that should be applied to the token. It is also possible for these two paradigms to play nicely together. At the end of the day, our system will need to produce specific surface forms in sequence to create sentences, but how we get to those surface forms can vary. Some languages might use syntactic tables while others might need to function in terms of symbolic morphological transformations (if only to reduce the search space of possible syntactic tables!). === Further thoughts by Denny === Cory’s point is valid. In some languages, we will easily get to hundreds of forms. That may not be feasible. Questions are whether we can avoid to expand all these forms, or whether, maybe with a smart usage of quoting functions or some other mechanism, we can find a way to scale the system. == Alternatives == * [[WF:Type proposals/Semantic unit]] * [[WF:Type proposals/Abstract sentence]] == Comments == * <s>{{s}}: this isn't perfect, but it's much much better. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:32, 2 April 2026 (UTC)</s> {{neutral}}: I'd like more opporitunity to review the two competing proposals on this topic, which one we go with is important. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 13:59, 10 April 2026 (UTC) * {{s}} I feel that this is a step that's required for handling different types of phrases. [[User:Jsamwrites|John Samuel]] 17:59, 2 April 2026 (UTC) * {{s}} I like the idea as I really like spreadsheet functions and tables. As I like Boilerplate templates I hope this proposal can help making it easier to create a function for a specific sentence representing some Wikidata statements.--[[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 16:17, 3 April 2026 (UTC) * {{neutral|Comment}} I'm skeptical that we can attain general prose in non-European languages even with this extra context.<!-- --><br>Looking at your example of <code>noun_with_adjective[de] := (noun, adj) => matrix_product(concat_with_space)(adj, noun)</code>,<!-- --> each of the cells/entries in the table is a single [[Z89]], so it seems this Type is limited to grammars where applying an adjective to a noun is just a prefix and/or suffix.<!-- --> I've [[Talk:Z27137#Japanese|previously remarked]] that [[d:Q2116774|counters in Japanese]] can "migrate" to the verb (unlike in English, German, etc. where counters behave like adjectives).<!-- --> To accommodate this, either the language-specific <code>merge</code> Function would have to parse and split off the counter when embedding the noun phrase into a sentence,<!-- --> or this Type would have to somehow encode a split result with additional tagging on each segment.<!-- --><br>IMO a better model for applying formatting like boldface and hyperlinks would be as <code>Z882(Z11, Z883(Z6091, Z881(Z882(Z13518, Z13518))))</code>,<!-- --> that is, to do all linguistic processing on plaintext, but keep track of which span(s) in the string corresponds to each Item from the outer callsite.<!-- --> Then that outer Function can format and linkify the final string by iterating those ranges as ordered by their start index.<!-- --> edit: [[abstract:Project:Abstract article architectures#Modest improvement to current architecture using spans]]<!-- --> [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 17:53, 3 April 2026 (UTC) * {{o|Weakly oppose}} While I completely support the need to scale NLG functions outside simple fragment generating functions, I'm skeptical on the bottom-up approach that syntactic tables use. As already addressed, starting composing a sentence from the constituent parts is problematic, since in many instances the behaviour of a part of the sentence depends in non trivial ways to the entire structure of the sentence (in ways that are sometimes not neatly encodable in a simple table). I think that usually the best approach for NLG is top-down, which means that a function should try to generate an entire sentence, delegating to other functions the generation of parts of a sentence (providing the necessary grammatical context). When I have time, I'll try to formulate an alternative proposal. This type could still be a useful intetnal tool, but I think using it as the foundation for modular NLG can be very problematic. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:14, 5 April 2026 (UTC) *:I've now formulated the proposal for [[Wikifunctions:Type proposals/Abstract sentence]] [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:22, 7 April 2026 (UTC) * {{o}} per YoshiRulz and Dv103; I have started proposing types based on my own efforts at language generation at ,[[Wikifunctions:Type proposals/Syntactic unit]] and [[Wikifunctions:Type proposals/Semantic unit]]. [[User:Mahir256|Mahir256]] ([[User talk:Mahir256|talk]]) 17:54, 5 April 2026 (UTC) *:Thanks for the links :) [[User:So9q|So9q]] ([[User talk:So9q|talk]]) 21:00, 5 April 2026 (UTC) * I’m not opposed to this proposal, but I do question the wisdom of characterizing a type without formalizing it. We already see the inconvenience with {{Z|Z11}}, where we are unable to identify that a function is limited to a particular language. For what are logically more constrained functions, I think the “too many types” is a valid objection, but if types have no part to play in managing the inevitable complexity, what is the alternative? : I hesitate to leap to solutions, but we should at least explore “generic” types here. In any event, I believe we should make some distinction at the type level, based on the syntactic category (“part of speech” in the proposal). For example, constructions that (logically) require a noun phrase for a particular argument should resist having that argument provided by a function that returns a verb phrase (which would need to be wrapped in a nominalization function). That looks and feels like type-handling, of course, but the real question remains: If syntactic categories are not represented by persistent or generic types, how are the constraints associated with those categories represented and enforced, particularly when constructing compositions, as opposed to evaluating them. :[[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:16, 17 June 2026 (UTC) ::I think these are great questions. My favorite proposal is still to create specific types for (English / French / Dagbani / ...) (nouns / verb / noun phrase / adjective / ...), in addition to abstract (noun / verb / noun phrase / adjective ...), but there was too much pushback on that one. ::My sense is that we can kick off this one (I did so yesterday) and try it out. We can later still switch to a "many types" solution, most of the functions would be basically the same. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 12:47, 17 June 2026 (UTC) :::Yes. As I say, I’m not opposed; I just think that we should expect to end up with “many” types, with whichever structures, whether or not we factor out the language. As I understand the proposal, the complex “generic” type of a K4 object would be the same in every instance, so it is purely structural, with no surfacing of the permitted or expected combinations. Is that right? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:58, 17 June 2026 (UTC) ::::that's correct, K4 is purely structural. One could write functions that check that the table for an English noun is all correct, but as a datatype it is not aware of it. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:05, 22 June 2026 (UTC) ::::That's actually a good idea, I implemented {{Z|Z36770}} in order to validate English nouns, as an example. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:26, 22 June 2026 (UTC) {{o}} It seems likely that it'll work for English, and I'll accept Denny's claim that it works for German, but other languages will run into problems because this only deals with syntax, not semantics. To visualize the issue, let's look at the Spanish syntactic tables for the noun "amigo" (friend) and the adjective "viejo" (old): {| class="wikitable" |'''''language''''' | colspan="2" |Spanish |- |'''''Part of speech''''' | colspan="2" |noun |- |'''''Inherent feature''''' | colspan="2" |masculine |- |'''''options''''' | |- |'''singular''' |amigo |- |'''plural''' |amigos |} {| class="wikitable" |'''''language''''' | colspan="3" |Spanish |- |'''''Part of speech''''' | colspan="3" |adjective |- |'''''Inherent feature''''' | colspan="5" | - |- |rowspan="2"|'''''options''''' |colspan="2"|'''singular''' |colspan="2"|'''plural''' |- |'''''masculine''''' |'''''feminine''''' |'''''masculine''''' |'''''feminine''''' |- | |viejo |vieja |viejos |viejas |} The hypothetical <code>merge</code> function, following the common rule for Spanish word order, might produce the following: {| class="wikitable" |'''''language''''' | colspan="2" |Spanish |- |'''''Part of speech''''' | colspan="2" |core noun phrase |- |'''''Inherent feature''''' | colspan="2" |masculine |- |'''''options''''' | |- |'''singular''' |amigo viejo |- |'''plural''' |amigos viejos |} But there's a problem: this table only represents half the possible meanings for combining the words "amigo" and "viejo". If you combine them in the other order, you get this table: {| class="wikitable" |'''''language''''' | colspan="2" |Spanish |- |'''''Part of speech''''' | colspan="2" |core noun phrase |- |'''''Inherent feature''''' | colspan="2" |masculine |- |'''''options''''' | |- |'''singular''' |viejo amigo |- |'''plural''' |viejos amigos |} The two don't mean the same thing. "Viejo amigo" means "old (=long-time) friend", while "amigo viejo" means "old (=elderly) friend". And "viejo" is hardly the only adjective with this property; I can purchase a "nuevo carro" from a used-car salesman. This is all without getting into higher-level functions. <code>instantiating()</code> (Wiktionary "be" definition 2.3) might be reasonably simple in Spanish, but <code>attributive()</code> (Wiktionary "be" 2.4) requires a whole mess of semantic metadata to select the correct verb (for example, "está sucio" can be remedied by washing, while "es sucio" can't). --[[User:Carnildo|Carnildo]] ([[User talk:Carnildo|talk]]) 05:44, 16 August 2026 (UTC) bcjunexy3h9vtdyeib7qc2w6ow03fao Wikifunctions:Requests for connection and disconnection 4 81533 299656 297795 2026-08-15T16:18:56Z Artsiom91 2118 new request 299656 wikitext text/x-wiki {{archives|{{flatlist|{{Special:PrefixIndex/WF:Requests for connection and disconnection/Archives/|stripprefix=1|hideredirects=1}}}}|prefix=WF:Requests for connection and disconnection/Archives/}} This page allows non-[[WF:functioneers|functioneers]] to request the connection or disconnection of implementations and tests to/from a function. To add a request, add the details of your request (Remember to add <nowiki>~~~~</nowiki> to sign!), using the <nowiki>{{Z|<your five id numbers here>}}</nowiki> template to reference and link to a specific ZID. Functioneers may, at their discretion, refuse to connect implementations that do not pass or do not have tests, and tests that do not pass or do not make logical sense. == Requests == Please connect the implementation and tests for [[Z39473]] and [[Z39489]] (the second depends on the first).--[[User:Artsiom91|Artsiom91]] ([[User talk:Artsiom91|talk]]) 16:18, 15 August 2026 (UTC) Please connect the implementation and tests for [[Z32728]]. [[User:Webmaster2024|Webmaster2024]] ([[User talk:Webmaster2024|talk]]) 13:15, 1 August 2026 (UTC) :The output is slightly different than expected for both tests. It's okay to have edge cases which fail, but there should be passing tests as well. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 16:22, 1 August 2026 (UTC) ::I've fixed one test now, please also connect nested functions. [[User:Webmaster2024|Webmaster2024]] ([[User talk:Webmaster2024|talk]]) 18:01, 1 August 2026 (UTC) :::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 18:11, 1 August 2026 (UTC) Please connect the implementation and test for [[Z33679]]. Thank you. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 03:42, 17 April 2026 (UTC) :{{done}} --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:50, 17 April 2026 (UTC) Please connect the implementations and tests for [[Z33785]], [[Z33788]], and [[Z33780]]. Thank you! [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 03:13, 20 April 2026 (UTC) :{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:48, 20 April 2026 (UTC) Please connect the Python implementation of {{Z|Z33803}}. Thank you. [[User:OzmoOzmo|OzmoOzmo]] ([[User talk:OzmoOzmo|talk]]) 10:48, 20 April 2026 (UTC) :The function is a duplicate of {{Z|Z20430}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 10:56, 20 April 2026 (UTC) ::Now I've connected the implementation to {{Z|Z20430}}. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:02, 20 April 2026 (UTC) {{Z|Z33859}} (an implementation of {{Z|Z32297}} for Filipino, Tagalog and Kapampangan) with its sole implementation {{Z|Z33860}}. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] <small>([[User talk:UndueMarmot|talk]])</small> 12:20, 21 April 2026 (UTC) :{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 12:24, 21 April 2026 (UTC) Please connect the implementation of {{Z|33878}}. Thank you! [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 16:42, 21 April 2026 (UTC) :Could you add some tests to check its correctness? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 16:54, 21 April 2026 (UTC) ::{{D}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 17:03, 21 April 2026 (UTC) Please connect the test cases and passing implementation of {{Z|Z24602}}. Thank you! [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 21:12, 22 April 2026 (UTC) :...Of course the moment I say that I find at least one of the test cases are passing with an invalid input... Will debug. [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 21:15, 22 April 2026 (UTC) :Please connect the test cases instead so it will be easier to debug! [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 21:23, 22 April 2026 (UTC) ::{{done}} [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 21:34, 22 April 2026 (UTC) Please connect [[Z33955]] with its implementation and test cases. Thanks. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 21:31, 22 April 2026 (UTC) :{{done}}. Also, please consider requesting functioneer, I would support it! And thank you for your welcome on WD, too! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 21:36, 22 April 2026 (UTC) Please disconnect the implementation {{Z|Z30288}} so that it can be fixed and reconnected. It erroneously compares the second element of the second typed pair to itself, and thus breaks many other functions and test cases reliant on it. Added a test case for this, which it of course fails. Thank you very much! <small>(resolves many headaches)</small> [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 03:30, 24 April 2026 (UTC) :{{done}} Please kindly check. [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 03:40, 24 April 2026 (UTC) :Oops! Sorry about that. Thanks for fixing this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 07:41, 24 April 2026 (UTC) Please connect the implementations and tests for [[Z34124]] and its helper [[Z34127]]. Thank you! [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 23:49, 24 April 2026 (UTC) :{{Done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 23:58, 24 April 2026 (UTC) Please connect the implementation and tests for [[Z34204]]. Thank you! [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 05:28, 26 April 2026 (UTC) :{{Done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:31, 26 April 2026 (UTC) Please connect the implementation and test cases for [[Z33951]], [[Z34009]] and [[Z34008]]. Thank you. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 06:32, 26 April 2026 (UTC) :{{done}} except for {{z|Z34008}} since it fail for all test cases. [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 07:01, 26 April 2026 (UTC) ::Oh. The test cases fail mainly because the implementations for Z33951 and Z34009 were not connected yet. I guess we have to wait for a while until the connected implementation goes through. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 13:20, 26 April 2026 (UTC) :::{{done}} by YoshiRulz. Thank you. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 15:58, 26 April 2026 (UTC) Please connect the implementation and test cases for [[Z34212]]. Thank you. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 15:58, 26 April 2026 (UTC) :{{done}} by myself, as I was just granted functioneer. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 16:20, 26 April 2026 (UTC) Please disconnect {{Z|Z20694}}. A string without diacritics could be a valid pinyin due to the existence of neutral tone. The pinyin does not correspond to a real phrase, but it doesn't violate any rules for pinyin. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 16:08, 26 April 2026 (UTC) :{{done}} by myself, as I was just granted functioneer. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 16:20, 26 April 2026 (UTC) Is it possible to connect {{Z|Z34293}} and its respective tests please? It's a really simple piece of code, I might have gone a bit overboard with the tests though. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 13:01, 27 April 2026 (UTC) :{{done}} [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 13:13, 27 April 2026 (UTC) A similar one (but any this time!): {{Z|Z34367}}. Could it be possible to connect it and its tests? This time there's a reasonable amount of them and they cover most cases too ;) [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 16:33, 27 April 2026 (UTC) :{{done}} [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 17:24, 27 April 2026 (UTC) Hello! Can somebody please connect the following functions? * {{Z|Z34308}} * {{Z|Z34165}} (its dependency is currently unimplemented) * {{Z|Z34139}} And perhaps the tests for: * {{Z|Z34149}} * {{Z|Z34150}} Pinging @[[User:Dv103|Dv103]] because they helped me with this function and have the functioneer role. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:28, 27 April 2026 (UTC) :{{d}} except the implementation of {{Z|Z34165}}, since it doesn't work (first requires the implementation of {{Z|Z34149}}). [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 17:13, 27 April 2026 (UTC) Could {{Z|Z34273}}, {{Z|Z34378}} and {{Z|Z34380}} please be connected? Note that they all recursively depend on each other, so it's not possible to only activate a few of them. Thanks! [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 21:28, 27 April 2026 (UTC) :{{done}}, thank you for your contributions. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:48, 28 April 2026 (UTC) Another little thing, is it possible to disconnect {{Z|Z34263}}'s test cases {{Z|Z34269}} and {{Z|Z34267}} please? I'd like to rewrite them using {{Z|Z34273}}. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 08:31, 28 April 2026 (UTC) :{{Done}}, please proceed. [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 09:01, 28 April 2026 (UTC) ::Sorry for the late response, had an exam today... Anyways, I reworked them a little and they can be connected again! [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 20:05, 28 April 2026 (UTC) Is it possible to connect some new tests related to my previous functions ({{Z|Z34471}}, {{Z|Z34470}}, {{Z|Z34472}})? They implement the fact that in formal set theory {∅;∅} and {∅} are the exact same sets: duplicate elements behave in the same way as if they were only present once. Thanks in advance! [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 20:34, 28 April 2026 (UTC) :{{done}} [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 20:40, 28 April 2026 (UTC) Hello again! Could {{Z|Z34409}} and its tests please be connected? Thanks again! [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 10:41, 29 April 2026 (UTC) :Your Implementation failed [[Z34491]] and [[Z34494]] when I connected it, so I've left it disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:05, 29 April 2026 (UTC) ::Interesting... What failed exactly? When I look at error logs for tests all it says is "no connected implementation"... [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 11:09, 29 April 2026 (UTC) :::In all 3 cases, the returned value was equal to the input (a flattening step was missing). I think my fix is correct, but please double-check it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 12:13, 29 April 2026 (UTC) ::::Took a look at it, forgot the <math>\operatorname{Pred}(\{ \O \})=\O</math> part in the recursion (whoopsies!). Made an alternative implementation {{Z|Z34509}} using only set operations and builtins; my goal with all those functions is that they don't depend on any other "complex" functions, they should be as simple as possible. Note that it doesn't remove duplicates, but this doesn't matter since <math>\{ \O, \O \} = \{ \O \}</math> anyways. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 16:15, 29 April 2026 (UTC) Andd back with another set-related function: {{Z|Z34519}}! This one paves the way for set union (and maybe an alternative implementation of predecessor?). Could it please be connected? Thanks!! [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 19:38, 29 April 2026 (UTC) :{{done}} [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:38, 29 April 2026 (UTC) As promised, here is {{Z|Z34538}}! Can it be connected please? If you need more tests before I'll add some! [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 20:59, 29 April 2026 (UTC) :{{done}}. Also, if you'd like to request functioneer rights, I'd support it. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 21:59, 29 April 2026 (UTC) ::Thanks a lot for the offer! I might consider it a bit later, for now I promise to calm down a little with the requests :) [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 20:25, 30 April 2026 (UTC) Hi! First could {{Z|Z34544}} please be connected? It corresponds to the mathematical definition of predecessor and seems to be a ''bit'' faster than other implementations :) I've also made {{Z|Z34585}} and {{Z|Z34620}}, could they please be connected? They both have a few tests, but I'm going to add some more for edge cases like duplicate elements (which should be ignored when working with sets). Thanks a lot! [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 20:28, 30 April 2026 (UTC) :{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:34, 30 April 2026 (UTC) Please disconnect {{Z|21875}} so I can add a word to its hardcoded list of exceptions, and then it can be reconnected... Or if you're so willing, simply add "Unicode" to the EXCEPTIONS_DICT in the code for me. Thank you! [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 00:48, 6 May 2026 (UTC) :{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 01:02, 6 May 2026 (UTC) Can you please connect implementation of {{Z|35161}}. This is my first function, to be used for {{Z|35158}} for which the implementation is to be written. [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 10:25, 14 May 2026 (UTC) :{{Done}}. I also have connected the tests on the {{z|35158}} [[User:OwlyKnight|OwlyKnight]] ([[User talk:OwlyKnight|talk]]) 10:36, 14 May 2026 (UTC) I have created implementation {{Z|35166}}. It fails but I can't test it as it is not connected. Please connect if that is the proper procedure. If not: what should I do? [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 17:22, 14 May 2026 (UTC) :You were passing a literal <code>Z40(some_call(...))</code> to {{Z|802}}. {{Z|40}}'s identity field needs to be a {{Z|9}}, specifically [[Z41]] or [[Z42]]. [[Special:Diff/274691|Fixed]] (by passing <code>some_call(...)</code> unwrapped to [[Z802]]). [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 17:29, 14 May 2026 (UTC) ::Thanks for fixing that, but still the test case fail, amd I can't test it as it is not connected. What to do next? [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 05:36, 15 May 2026 (UTC) :::If you check on the (i) icon or Detail link, you can find why is it error. The [[Z35159]] test fail due to {{z|Z28290}}; while the [[Z35160]] fail due to {{z|Z28248}}. I think it's because of the lack of lexeme or grammatical feature on the given lexeme on Wikidata rather than the implementation itself. You may need to contribute more on Wikidata lexeme. Thanks! [[User:OwlyKnight|OwlyKnight]] ([[User talk:OwlyKnight|talk]]) 07:05, 15 May 2026 (UTC) ::::Thanks. I managed to fix the issues (gramatical feature and link of lexeme to Wikidata lemma for "dorp". It is working now. Please connect. [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 09:11, 15 May 2026 (UTC) :::::{{Done}} thank you for your contributions :D [[User:OwlyKnight|OwlyKnight]] ([[User talk:OwlyKnight|talk]]) 11:44, 15 May 2026 (UTC) Please connect {{Z|35196}} and its tests. Thanks [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) : Was {{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 16:09, 15 May 2026 (UTC) Please connect {{Z|35505}} and its tests. Thanks [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 15:11, 22 May 2026 (UTC) :{{already done}} by [[User:Dv103]]. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 00:52, 23 May 2026 (UTC) Please connect {{Z|35978}} and its tests. [[User:Sophisticatedevening|Sophisticatedevening]] ([[User talk:Sophisticatedevening|talk]]) 07:54, 2 June 2026 (UTC) :{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 10:46, 2 June 2026 (UTC) Please connect implementation {{Z|Z36113}} to function {{Z|Z36106}}. I don't see an way to do my own tests while the implementation is disconnected, the "Run function" button is always greyed out. [[User:Strobilomyces|Strobilomyces]] ([[User talk:Strobilomyces|talk]]) 13:33, 8 June 2026 (UTC) :{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:14, 8 June 2026 (UTC) Please connect {{Z|36537}} and {{Z|36538}} to {{Z|36536}}. The function has already been added to {{Z|32402}}. PS: Is there a way to copy-paste a composition implementation? I can make an Esperanto function for this which has identical structure to the existing English, Spanish, and French functions besides the localized strings, but it’s unnecessarily difficult to do all the clicking and typing manually to recreate them. Thank you! [[User:Gabldotink|Gabldotink]] ([[User talk:Gabldotink|talk]]) 20:32, 19 June 2026 (UTC) :{{done}} You can use the localStorage clipboard: Open the editor for the Implementation, click the topmost <code>&hellip;</code> button, then <code>Copy to clipboard</code>. When you make a blank Implementation, click the topmost(!) <code>&hellip;</code> button, then <code>Paste from clipboard</code>, select the expression, and then you can go through and fill in all [[Z18]]s (since they don't get converted automatically) and update any [[Z6]] literals. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:39, 19 June 2026 (UTC) ::Thank you very much! Please also connect {{Z|36541}} and {{Z|36546}} to {{Z|36540}}. [[User:Gabldotink|Gabldotink]] ([[User talk:Gabldotink|talk]]) 21:07, 19 June 2026 (UTC) :::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 21:11, 19 June 2026 (UTC) [[Category:Functioneers|*R]] [[Category:Noticeboards]] Please connect test cases {{z|Z37757}}, {{z|Z37758}} and {{z|Z37759}} to {{z|Z37756}} for testing! [[User:Chaotic Enby|Chaotic Enby]] ([[User talk:Chaotic Enby|talk]]) 17:02, 14 July 2026 (UTC) :{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 17:06, 14 July 2026 (UTC) :: Now that {{z|Z37764}} works, can you please connect it too? Thanks a lot in advance! [[User:Chaotic Enby|Chaotic Enby]] ([[User talk:Chaotic Enby|talk]]) 21:48, 14 July 2026 (UTC) :::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 21:55, 14 July 2026 (UTC) Please temporarily disconnect test cases from {{z|Z37719}} so I can replace the argument "Plural subject: {{z|Z40}}" by the more precise "Subject number: {{z|Z26934}}" and update everything. [[User:Chaotic Enby|Chaotic Enby]] ([[User talk:Chaotic Enby|talk]]) 21:47, 14 July 2026 (UTC) :{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 21:56, 14 July 2026 (UTC) :: Everything has been updated so it can be reconnected! Thanks a lot once more! (and sorry for the bother, please tell me if you prefer I straight-up request functioneer) [[User:Chaotic Enby|Chaotic Enby]] ([[User talk:Chaotic Enby|talk]]) 22:04, 14 July 2026 (UTC) :::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 06:37, 15 July 2026 (UTC) :I worry you're wasting your time with these new functions, for [[Talk:Z37719#This_function_cannot_be_implemented_in_every_language|reasons explained here]] by {{noping|Dv103}}. See [[WF:Type proposals/Abstract sentence]] etc. where the structure for the next "generation" of NLG functions are being worked out. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 06:44, 15 July 2026 (UTC) :: Thanks a lot @[[User:YoshiRulz|YoshiRulz]]. I have been informed by several Wikifunctions editors (also on Telegram and Discord) that I shouldn't be using the new types as they were still experimental, what should I be doing in that case? [[User:Chaotic Enby|Chaotic Enby]] ([[User talk:Chaotic Enby|talk]]) 18:06, 18 July 2026 (UTC) :::If you have nothing to add to the new type discussion, the next most helpful thing to do would probably be documenting and fixing edge cases in the [[WF:Catalogue/Natural_language_operations/English|helper functions for English]]. Outside of NLG, you could work on docs (projectspace, but also test cases), or functions that operate on WD items and their relationships. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:10, 18 July 2026 (UTC) :::: Thanks again! Looking at that specific discussion, it looks like there isn't much support for the current proposal of abstract sentences? I'll look at the {{tq|functions that operate on WD items}} part, but I've been a bit worried that this limits us to relatively simple sentences for now – is there a way to implement some kind of syntactic recursion? [[User:Chaotic Enby|Chaotic Enby]] ([[User talk:Chaotic Enby|talk]]) 19:37, 18 July 2026 (UTC) Please connect implementation and tests for {{z|Z38250}} for testing! [[User:Wcalenieja|Wcalenieja]] ([[User talk:Wcalenieja|talk]]) 15:40, 25 July 2026 (UTC) :{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:45, 25 July 2026 (UTC) ::Could you also connect the implementation and tests in {{z|Z38262}}? Thanks, [[User:Wcalenieja|Wcalenieja]] ([[User talk:Wcalenieja|talk]]) 16:02, 25 July 2026 (UTC) :::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 16:11, 25 July 2026 (UTC) Please connect {{Z|Z38277}} to {{Z|Z38274}}. I could not find a way to add a test before the implementation is connected to the function. This is my first contribution, so I'm sorry if I did something wrong. Thank you![[User:Seudo|Seudo]] ([[User talk:Seudo|talk]]) 17:31, 25 July 2026 (UTC) :You can add tests immediately, they just don't show up in the editor for Implementations until they're connected, so you have to "guess-and-check". [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 18:00, 25 July 2026 (UTC) ::Thank you for the explanation. So I added tests [[Z38293]] and [[Z38292]], to be connected to {{Z|Z38274}}, and [[Z38294]] to be connected to {{Z|Z20785}} (the second and third ones currently fail because of a bug in {{Z|Z20786}} which I explained at [[Talk:Z20786]]. [[User:Seudo|Seudo]] ([[User talk:Seudo|talk]]) 19:46, 25 July 2026 (UTC) :::Connected tests, disconnected implementations so you can fix them. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:50, 25 July 2026 (UTC) ::::I fixed {{Z|Z20786}}, thanks. [[User:Seudo|Seudo]] ([[User talk:Seudo|talk]]) 20:02, 25 July 2026 (UTC) :::Your tests include the article "le" on the date, but the composition does not. Which is correct? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:08, 25 July 2026 (UTC) ::::I fixed the composition and tried to handle also the differences between female and male genders (and therefore added a test [[Z38301]] for female). [[User:Seudo|Seudo]] ([[User talk:Seudo|talk]]) 20:31, 25 July 2026 (UTC) :All {{done}}! [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:37, 25 July 2026 (UTC) ::::But I'm sorry I'm asking so much to you. Is there some kind of sandbox where I could test my composition before asking it to be connected? [[User:Seudo|Seudo]] ([[User talk:Seudo|talk]]) 20:38, 25 July 2026 (UTC) :::::A sandbox Implementation? There are some on [[Z10119]], but I would say that's not a very effective way to edit/debug. You can build up compositions from scratch using the copy/paste feature and [[Z801]], or by using [[User:YoshiRulz/Blockly|my editor]], then use Test cases to help you refine it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:48, 25 July 2026 (UTC) Please connect the JavaScript implementation {{Z|38297}} and test cases {{Z|38296}} and {{Z|38298}} to {{Z|38295}} (missing properties from peer items). The implementation passes both tests (2/2). Thank you. [[User:Brianwinum|Brian Winum]] ([[User talk:Brianwinum|talk]]) 20:03, 25 July 2026 (UTC) :{{done}}, but is this not just a worse [[d:WD:Recoin]]? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:06, 25 July 2026 (UTC) Please connect the implementation and the test for {{Z|38923}}. Thanks. [[User:Ioe2015|Ioe2015]] ([[User talk:Ioe2015|talk]]) 06:24, 6 August 2026 (UTC) :Nice work! I made a change to the label calls in the composition, and it already works. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 07:51, 6 August 2026 (UTC) ::@[[User:Ioe2015|Ioe2015]], {{done|connected}}. Regards, [[User:ZI Jony|<span style="color:#8B0000">'''ZI Jony'''</span>]] [[User talk:ZI Jony|<sup><span style="color:Green"><i>(Talk)</i></span></sup>]] 08:30, 6 August 2026 (UTC) Back with more math functions! Could {{Z|Z39036}} be connected please? [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 17:23, 8 August 2026 (UTC) :And, in a similar category, {{Z|Z39043}} too please :) [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 17:38, 8 August 2026 (UTC) ::@[[User:Virinas-code|Virinas-code]], {{done}}. Regards, [[User:ZI Jony|<span style="color:#8B0000">'''ZI Jony'''</span>]] [[User talk:ZI Jony|<sup><span style="color:Green"><i>(Talk)</i></span></sup>]] 17:47, 8 August 2026 (UTC) Math is fun, fast math is best. Could {{Z|Z39064}} and {{Z|Z39065}} be connected please? [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 20:11, 8 August 2026 (UTC) :And {{Z|Z39066}} too, it'll hopefully fix a bunch of tests :) [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 20:13, 8 August 2026 (UTC) ::{{done}} Please apply for functioneer if you feel ready. I would support your application. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:12, 9 August 2026 (UTC) A request for disconnection this time... Could {{Z|Z34264}} and {{Z|Z39064}} be disconnected while connecting the faster Python implementation {{Z|Z39071}}? The composition implementation seems to struggle with large numbers as it hits a recursion limit. I am unsure wether the Python implementation is affected too; I'd like to see if the disconnection helps. (oh, and I've applied for functioneer!) [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 22:30, 9 August 2026 (UTC) :Oh, and could {{Z|Z39073}} have its Python implementation and tests connected too? It should hopefully fix test validation errors. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 22:33, 9 August 2026 (UTC) ::{{done}} [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 22:36, 9 August 2026 (UTC) e5nv9rbhninjl5pc2b9xghl3ah5iv85 299661 299656 2026-08-15T16:22:13Z ZI Jony 1002 /* Requests */ Reply 299661 wikitext text/x-wiki {{archives|{{flatlist|{{Special:PrefixIndex/WF:Requests for connection and disconnection/Archives/|stripprefix=1|hideredirects=1}}}}|prefix=WF:Requests for connection and disconnection/Archives/}} This page allows non-[[WF:functioneers|functioneers]] to request the connection or disconnection of implementations and tests to/from a function. To add a request, add the details of your request (Remember to add <nowiki>~~~~</nowiki> to sign!), using the <nowiki>{{Z|<your five id numbers here>}}</nowiki> template to reference and link to a specific ZID. Functioneers may, at their discretion, refuse to connect implementations that do not pass or do not have tests, and tests that do not pass or do not make logical sense. == Requests == Please connect the implementation and tests for [[Z39473]] and [[Z39489]] (the second depends on the first).--[[User:Artsiom91|Artsiom91]] ([[User talk:Artsiom91|talk]]) 16:18, 15 August 2026 (UTC) :@[[User:Artsiom91|Artsiom91]] both {{done|done}}. Regards, [[User:ZI Jony|<span style="color:#8B0000">'''ZI Jony'''</span>]] [[User talk:ZI Jony|<sup><span style="color:Green"><i>(Talk)</i></span></sup>]] 16:22, 15 August 2026 (UTC) Please connect the implementation and tests for [[Z32728]]. [[User:Webmaster2024|Webmaster2024]] ([[User talk:Webmaster2024|talk]]) 13:15, 1 August 2026 (UTC) :The output is slightly different than expected for both tests. It's okay to have edge cases which fail, but there should be passing tests as well. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 16:22, 1 August 2026 (UTC) ::I've fixed one test now, please also connect nested functions. [[User:Webmaster2024|Webmaster2024]] ([[User talk:Webmaster2024|talk]]) 18:01, 1 August 2026 (UTC) :::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 18:11, 1 August 2026 (UTC) Please connect the implementation and test for [[Z33679]]. Thank you. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 03:42, 17 April 2026 (UTC) :{{done}} --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:50, 17 April 2026 (UTC) Please connect the implementations and tests for [[Z33785]], [[Z33788]], and [[Z33780]]. Thank you! [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 03:13, 20 April 2026 (UTC) :{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 03:48, 20 April 2026 (UTC) Please connect the Python implementation of {{Z|Z33803}}. Thank you. [[User:OzmoOzmo|OzmoOzmo]] ([[User talk:OzmoOzmo|talk]]) 10:48, 20 April 2026 (UTC) :The function is a duplicate of {{Z|Z20430}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 10:56, 20 April 2026 (UTC) ::Now I've connected the implementation to {{Z|Z20430}}. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:02, 20 April 2026 (UTC) {{Z|Z33859}} (an implementation of {{Z|Z32297}} for Filipino, Tagalog and Kapampangan) with its sole implementation {{Z|Z33860}}. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] <small>([[User talk:UndueMarmot|talk]])</small> 12:20, 21 April 2026 (UTC) :{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 12:24, 21 April 2026 (UTC) Please connect the implementation of {{Z|33878}}. Thank you! [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 16:42, 21 April 2026 (UTC) :Could you add some tests to check its correctness? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 16:54, 21 April 2026 (UTC) ::{{D}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 17:03, 21 April 2026 (UTC) Please connect the test cases and passing implementation of {{Z|Z24602}}. Thank you! [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 21:12, 22 April 2026 (UTC) :...Of course the moment I say that I find at least one of the test cases are passing with an invalid input... Will debug. [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 21:15, 22 April 2026 (UTC) :Please connect the test cases instead so it will be easier to debug! [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 21:23, 22 April 2026 (UTC) ::{{done}} [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 21:34, 22 April 2026 (UTC) Please connect [[Z33955]] with its implementation and test cases. Thanks. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 21:31, 22 April 2026 (UTC) :{{done}}. Also, please consider requesting functioneer, I would support it! And thank you for your welcome on WD, too! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 21:36, 22 April 2026 (UTC) Please disconnect the implementation {{Z|Z30288}} so that it can be fixed and reconnected. It erroneously compares the second element of the second typed pair to itself, and thus breaks many other functions and test cases reliant on it. Added a test case for this, which it of course fails. Thank you very much! <small>(resolves many headaches)</small> [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 03:30, 24 April 2026 (UTC) :{{done}} Please kindly check. [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 03:40, 24 April 2026 (UTC) :Oops! Sorry about that. Thanks for fixing this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 07:41, 24 April 2026 (UTC) Please connect the implementations and tests for [[Z34124]] and its helper [[Z34127]]. Thank you! [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 23:49, 24 April 2026 (UTC) :{{Done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 23:58, 24 April 2026 (UTC) Please connect the implementation and tests for [[Z34204]]. Thank you! [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 05:28, 26 April 2026 (UTC) :{{Done}} [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 05:31, 26 April 2026 (UTC) Please connect the implementation and test cases for [[Z33951]], [[Z34009]] and [[Z34008]]. Thank you. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 06:32, 26 April 2026 (UTC) :{{done}} except for {{z|Z34008}} since it fail for all test cases. [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 07:01, 26 April 2026 (UTC) ::Oh. The test cases fail mainly because the implementations for Z33951 and Z34009 were not connected yet. I guess we have to wait for a while until the connected implementation goes through. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 13:20, 26 April 2026 (UTC) :::{{done}} by YoshiRulz. Thank you. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 15:58, 26 April 2026 (UTC) Please connect the implementation and test cases for [[Z34212]]. Thank you. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 15:58, 26 April 2026 (UTC) :{{done}} by myself, as I was just granted functioneer. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 16:20, 26 April 2026 (UTC) Please disconnect {{Z|Z20694}}. A string without diacritics could be a valid pinyin due to the existence of neutral tone. The pinyin does not correspond to a real phrase, but it doesn't violate any rules for pinyin. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 16:08, 26 April 2026 (UTC) :{{done}} by myself, as I was just granted functioneer. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 16:20, 26 April 2026 (UTC) Is it possible to connect {{Z|Z34293}} and its respective tests please? It's a really simple piece of code, I might have gone a bit overboard with the tests though. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 13:01, 27 April 2026 (UTC) :{{done}} [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 13:13, 27 April 2026 (UTC) A similar one (but any this time!): {{Z|Z34367}}. Could it be possible to connect it and its tests? This time there's a reasonable amount of them and they cover most cases too ;) [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 16:33, 27 April 2026 (UTC) :{{done}} [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 17:24, 27 April 2026 (UTC) Hello! Can somebody please connect the following functions? * {{Z|Z34308}} * {{Z|Z34165}} (its dependency is currently unimplemented) * {{Z|Z34139}} And perhaps the tests for: * {{Z|Z34149}} * {{Z|Z34150}} Pinging @[[User:Dv103|Dv103]] because they helped me with this function and have the functioneer role. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:28, 27 April 2026 (UTC) :{{d}} except the implementation of {{Z|Z34165}}, since it doesn't work (first requires the implementation of {{Z|Z34149}}). [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 17:13, 27 April 2026 (UTC) Could {{Z|Z34273}}, {{Z|Z34378}} and {{Z|Z34380}} please be connected? Note that they all recursively depend on each other, so it's not possible to only activate a few of them. Thanks! [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 21:28, 27 April 2026 (UTC) :{{done}}, thank you for your contributions. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:48, 28 April 2026 (UTC) Another little thing, is it possible to disconnect {{Z|Z34263}}'s test cases {{Z|Z34269}} and {{Z|Z34267}} please? I'd like to rewrite them using {{Z|Z34273}}. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 08:31, 28 April 2026 (UTC) :{{Done}}, please proceed. [[User:NikolasKHF|NikolasKHF]] ([[User talk:NikolasKHF|talk]]) 09:01, 28 April 2026 (UTC) ::Sorry for the late response, had an exam today... Anyways, I reworked them a little and they can be connected again! [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 20:05, 28 April 2026 (UTC) Is it possible to connect some new tests related to my previous functions ({{Z|Z34471}}, {{Z|Z34470}}, {{Z|Z34472}})? They implement the fact that in formal set theory {∅;∅} and {∅} are the exact same sets: duplicate elements behave in the same way as if they were only present once. Thanks in advance! [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 20:34, 28 April 2026 (UTC) :{{done}} [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 20:40, 28 April 2026 (UTC) Hello again! Could {{Z|Z34409}} and its tests please be connected? Thanks again! [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 10:41, 29 April 2026 (UTC) :Your Implementation failed [[Z34491]] and [[Z34494]] when I connected it, so I've left it disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 11:05, 29 April 2026 (UTC) ::Interesting... What failed exactly? When I look at error logs for tests all it says is "no connected implementation"... [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 11:09, 29 April 2026 (UTC) :::In all 3 cases, the returned value was equal to the input (a flattening step was missing). I think my fix is correct, but please double-check it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 12:13, 29 April 2026 (UTC) ::::Took a look at it, forgot the <math>\operatorname{Pred}(\{ \O \})=\O</math> part in the recursion (whoopsies!). Made an alternative implementation {{Z|Z34509}} using only set operations and builtins; my goal with all those functions is that they don't depend on any other "complex" functions, they should be as simple as possible. Note that it doesn't remove duplicates, but this doesn't matter since <math>\{ \O, \O \} = \{ \O \}</math> anyways. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 16:15, 29 April 2026 (UTC) Andd back with another set-related function: {{Z|Z34519}}! This one paves the way for set union (and maybe an alternative implementation of predecessor?). Could it please be connected? Thanks!! [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 19:38, 29 April 2026 (UTC) :{{done}} [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:38, 29 April 2026 (UTC) As promised, here is {{Z|Z34538}}! Can it be connected please? If you need more tests before I'll add some! [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 20:59, 29 April 2026 (UTC) :{{done}}. Also, if you'd like to request functioneer rights, I'd support it. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 21:59, 29 April 2026 (UTC) ::Thanks a lot for the offer! I might consider it a bit later, for now I promise to calm down a little with the requests :) [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 20:25, 30 April 2026 (UTC) Hi! First could {{Z|Z34544}} please be connected? It corresponds to the mathematical definition of predecessor and seems to be a ''bit'' faster than other implementations :) I've also made {{Z|Z34585}} and {{Z|Z34620}}, could they please be connected? They both have a few tests, but I'm going to add some more for edge cases like duplicate elements (which should be ignored when working with sets). Thanks a lot! [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 20:28, 30 April 2026 (UTC) :{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:34, 30 April 2026 (UTC) Please disconnect {{Z|21875}} so I can add a word to its hardcoded list of exceptions, and then it can be reconnected... Or if you're so willing, simply add "Unicode" to the EXCEPTIONS_DICT in the code for me. Thank you! [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 00:48, 6 May 2026 (UTC) :{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 01:02, 6 May 2026 (UTC) Can you please connect implementation of {{Z|35161}}. This is my first function, to be used for {{Z|35158}} for which the implementation is to be written. [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 10:25, 14 May 2026 (UTC) :{{Done}}. I also have connected the tests on the {{z|35158}} [[User:OwlyKnight|OwlyKnight]] ([[User talk:OwlyKnight|talk]]) 10:36, 14 May 2026 (UTC) I have created implementation {{Z|35166}}. It fails but I can't test it as it is not connected. Please connect if that is the proper procedure. If not: what should I do? [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 17:22, 14 May 2026 (UTC) :You were passing a literal <code>Z40(some_call(...))</code> to {{Z|802}}. {{Z|40}}'s identity field needs to be a {{Z|9}}, specifically [[Z41]] or [[Z42]]. [[Special:Diff/274691|Fixed]] (by passing <code>some_call(...)</code> unwrapped to [[Z802]]). [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 17:29, 14 May 2026 (UTC) ::Thanks for fixing that, but still the test case fail, amd I can't test it as it is not connected. What to do next? [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 05:36, 15 May 2026 (UTC) :::If you check on the (i) icon or Detail link, you can find why is it error. The [[Z35159]] test fail due to {{z|Z28290}}; while the [[Z35160]] fail due to {{z|Z28248}}. I think it's because of the lack of lexeme or grammatical feature on the given lexeme on Wikidata rather than the implementation itself. You may need to contribute more on Wikidata lexeme. Thanks! [[User:OwlyKnight|OwlyKnight]] ([[User talk:OwlyKnight|talk]]) 07:05, 15 May 2026 (UTC) ::::Thanks. I managed to fix the issues (gramatical feature and link of lexeme to Wikidata lemma for "dorp". It is working now. Please connect. [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 09:11, 15 May 2026 (UTC) :::::{{Done}} thank you for your contributions :D [[User:OwlyKnight|OwlyKnight]] ([[User talk:OwlyKnight|talk]]) 11:44, 15 May 2026 (UTC) Please connect {{Z|35196}} and its tests. Thanks [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) : Was {{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 16:09, 15 May 2026 (UTC) Please connect {{Z|35505}} and its tests. Thanks [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 15:11, 22 May 2026 (UTC) :{{already done}} by [[User:Dv103]]. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 00:52, 23 May 2026 (UTC) Please connect {{Z|35978}} and its tests. [[User:Sophisticatedevening|Sophisticatedevening]] ([[User talk:Sophisticatedevening|talk]]) 07:54, 2 June 2026 (UTC) :{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 10:46, 2 June 2026 (UTC) Please connect implementation {{Z|Z36113}} to function {{Z|Z36106}}. I don't see an way to do my own tests while the implementation is disconnected, the "Run function" button is always greyed out. [[User:Strobilomyces|Strobilomyces]] ([[User talk:Strobilomyces|talk]]) 13:33, 8 June 2026 (UTC) :{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:14, 8 June 2026 (UTC) Please connect {{Z|36537}} and {{Z|36538}} to {{Z|36536}}. The function has already been added to {{Z|32402}}. PS: Is there a way to copy-paste a composition implementation? I can make an Esperanto function for this which has identical structure to the existing English, Spanish, and French functions besides the localized strings, but it’s unnecessarily difficult to do all the clicking and typing manually to recreate them. Thank you! [[User:Gabldotink|Gabldotink]] ([[User talk:Gabldotink|talk]]) 20:32, 19 June 2026 (UTC) :{{done}} You can use the localStorage clipboard: Open the editor for the Implementation, click the topmost <code>&hellip;</code> button, then <code>Copy to clipboard</code>. When you make a blank Implementation, click the topmost(!) <code>&hellip;</code> button, then <code>Paste from clipboard</code>, select the expression, and then you can go through and fill in all [[Z18]]s (since they don't get converted automatically) and update any [[Z6]] literals. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:39, 19 June 2026 (UTC) ::Thank you very much! Please also connect {{Z|36541}} and {{Z|36546}} to {{Z|36540}}. [[User:Gabldotink|Gabldotink]] ([[User talk:Gabldotink|talk]]) 21:07, 19 June 2026 (UTC) :::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 21:11, 19 June 2026 (UTC) [[Category:Functioneers|*R]] [[Category:Noticeboards]] Please connect test cases {{z|Z37757}}, {{z|Z37758}} and {{z|Z37759}} to {{z|Z37756}} for testing! [[User:Chaotic Enby|Chaotic Enby]] ([[User talk:Chaotic Enby|talk]]) 17:02, 14 July 2026 (UTC) :{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 17:06, 14 July 2026 (UTC) :: Now that {{z|Z37764}} works, can you please connect it too? Thanks a lot in advance! [[User:Chaotic Enby|Chaotic Enby]] ([[User talk:Chaotic Enby|talk]]) 21:48, 14 July 2026 (UTC) :::{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 21:55, 14 July 2026 (UTC) Please temporarily disconnect test cases from {{z|Z37719}} so I can replace the argument "Plural subject: {{z|Z40}}" by the more precise "Subject number: {{z|Z26934}}" and update everything. [[User:Chaotic Enby|Chaotic Enby]] ([[User talk:Chaotic Enby|talk]]) 21:47, 14 July 2026 (UTC) :{{done}} [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 21:56, 14 July 2026 (UTC) :: Everything has been updated so it can be reconnected! Thanks a lot once more! (and sorry for the bother, please tell me if you prefer I straight-up request functioneer) [[User:Chaotic Enby|Chaotic Enby]] ([[User talk:Chaotic Enby|talk]]) 22:04, 14 July 2026 (UTC) :::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 06:37, 15 July 2026 (UTC) :I worry you're wasting your time with these new functions, for [[Talk:Z37719#This_function_cannot_be_implemented_in_every_language|reasons explained here]] by {{noping|Dv103}}. See [[WF:Type proposals/Abstract sentence]] etc. where the structure for the next "generation" of NLG functions are being worked out. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 06:44, 15 July 2026 (UTC) :: Thanks a lot @[[User:YoshiRulz|YoshiRulz]]. I have been informed by several Wikifunctions editors (also on Telegram and Discord) that I shouldn't be using the new types as they were still experimental, what should I be doing in that case? [[User:Chaotic Enby|Chaotic Enby]] ([[User talk:Chaotic Enby|talk]]) 18:06, 18 July 2026 (UTC) :::If you have nothing to add to the new type discussion, the next most helpful thing to do would probably be documenting and fixing edge cases in the [[WF:Catalogue/Natural_language_operations/English|helper functions for English]]. Outside of NLG, you could work on docs (projectspace, but also test cases), or functions that operate on WD items and their relationships. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:10, 18 July 2026 (UTC) :::: Thanks again! Looking at that specific discussion, it looks like there isn't much support for the current proposal of abstract sentences? I'll look at the {{tq|functions that operate on WD items}} part, but I've been a bit worried that this limits us to relatively simple sentences for now – is there a way to implement some kind of syntactic recursion? [[User:Chaotic Enby|Chaotic Enby]] ([[User talk:Chaotic Enby|talk]]) 19:37, 18 July 2026 (UTC) Please connect implementation and tests for {{z|Z38250}} for testing! [[User:Wcalenieja|Wcalenieja]] ([[User talk:Wcalenieja|talk]]) 15:40, 25 July 2026 (UTC) :{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:45, 25 July 2026 (UTC) ::Could you also connect the implementation and tests in {{z|Z38262}}? Thanks, [[User:Wcalenieja|Wcalenieja]] ([[User talk:Wcalenieja|talk]]) 16:02, 25 July 2026 (UTC) :::{{done}} [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 16:11, 25 July 2026 (UTC) Please connect {{Z|Z38277}} to {{Z|Z38274}}. I could not find a way to add a test before the implementation is connected to the function. This is my first contribution, so I'm sorry if I did something wrong. Thank you![[User:Seudo|Seudo]] ([[User talk:Seudo|talk]]) 17:31, 25 July 2026 (UTC) :You can add tests immediately, they just don't show up in the editor for Implementations until they're connected, so you have to "guess-and-check". [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 18:00, 25 July 2026 (UTC) ::Thank you for the explanation. So I added tests [[Z38293]] and [[Z38292]], to be connected to {{Z|Z38274}}, and [[Z38294]] to be connected to {{Z|Z20785}} (the second and third ones currently fail because of a bug in {{Z|Z20786}} which I explained at [[Talk:Z20786]]. [[User:Seudo|Seudo]] ([[User talk:Seudo|talk]]) 19:46, 25 July 2026 (UTC) :::Connected tests, disconnected implementations so you can fix them. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:50, 25 July 2026 (UTC) ::::I fixed {{Z|Z20786}}, thanks. [[User:Seudo|Seudo]] ([[User talk:Seudo|talk]]) 20:02, 25 July 2026 (UTC) :::Your tests include the article "le" on the date, but the composition does not. Which is correct? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:08, 25 July 2026 (UTC) ::::I fixed the composition and tried to handle also the differences between female and male genders (and therefore added a test [[Z38301]] for female). [[User:Seudo|Seudo]] ([[User talk:Seudo|talk]]) 20:31, 25 July 2026 (UTC) :All {{done}}! [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:37, 25 July 2026 (UTC) ::::But I'm sorry I'm asking so much to you. Is there some kind of sandbox where I could test my composition before asking it to be connected? [[User:Seudo|Seudo]] ([[User talk:Seudo|talk]]) 20:38, 25 July 2026 (UTC) :::::A sandbox Implementation? There are some on [[Z10119]], but I would say that's not a very effective way to edit/debug. You can build up compositions from scratch using the copy/paste feature and [[Z801]], or by using [[User:YoshiRulz/Blockly|my editor]], then use Test cases to help you refine it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:48, 25 July 2026 (UTC) Please connect the JavaScript implementation {{Z|38297}} and test cases {{Z|38296}} and {{Z|38298}} to {{Z|38295}} (missing properties from peer items). The implementation passes both tests (2/2). Thank you. [[User:Brianwinum|Brian Winum]] ([[User talk:Brianwinum|talk]]) 20:03, 25 July 2026 (UTC) :{{done}}, but is this not just a worse [[d:WD:Recoin]]? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:06, 25 July 2026 (UTC) Please connect the implementation and the test for {{Z|38923}}. Thanks. [[User:Ioe2015|Ioe2015]] ([[User talk:Ioe2015|talk]]) 06:24, 6 August 2026 (UTC) :Nice work! I made a change to the label calls in the composition, and it already works. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 07:51, 6 August 2026 (UTC) ::@[[User:Ioe2015|Ioe2015]], {{done|connected}}. Regards, [[User:ZI Jony|<span style="color:#8B0000">'''ZI Jony'''</span>]] [[User talk:ZI Jony|<sup><span style="color:Green"><i>(Talk)</i></span></sup>]] 08:30, 6 August 2026 (UTC) Back with more math functions! Could {{Z|Z39036}} be connected please? [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 17:23, 8 August 2026 (UTC) :And, in a similar category, {{Z|Z39043}} too please :) [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 17:38, 8 August 2026 (UTC) ::@[[User:Virinas-code|Virinas-code]], {{done}}. Regards, [[User:ZI Jony|<span style="color:#8B0000">'''ZI Jony'''</span>]] [[User talk:ZI Jony|<sup><span style="color:Green"><i>(Talk)</i></span></sup>]] 17:47, 8 August 2026 (UTC) Math is fun, fast math is best. Could {{Z|Z39064}} and {{Z|Z39065}} be connected please? [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 20:11, 8 August 2026 (UTC) :And {{Z|Z39066}} too, it'll hopefully fix a bunch of tests :) [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 20:13, 8 August 2026 (UTC) ::{{done}} Please apply for functioneer if you feel ready. I would support your application. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:12, 9 August 2026 (UTC) A request for disconnection this time... Could {{Z|Z34264}} and {{Z|Z39064}} be disconnected while connecting the faster Python implementation {{Z|Z39071}}? The composition implementation seems to struggle with large numbers as it hits a recursion limit. I am unsure wether the Python implementation is affected too; I'd like to see if the disconnection helps. (oh, and I've applied for functioneer!) [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 22:30, 9 August 2026 (UTC) :Oh, and could {{Z|Z39073}} have its Python implementation and tests connected too? It should hopefully fix test validation errors. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 22:33, 9 August 2026 (UTC) ::{{done}} [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 22:36, 9 August 2026 (UTC) 5ik4if7548swppfltbssuk9y4mxngzr Wikifunctions:Project chat/Archive/2026/07 4 87913 299802 294580 2026-08-16T03:08:07Z SpBot 978 archiving 1 section from [[Wikifunctions:Project chat]] (after section [[Wikifunctions:Project chat/Archive/2026/07#Discussion_at_Meta_Requests_for_comment:_The_future_of_Abstract_Wikipedia|Discussion_at_Meta_Requests_for_comment:_The_future_of_Abstract_Wikipedia]]) 299802 wikitext text/x-wiki {{Talkarchive}} == Wikifunctions & Abstract Wikipedia Newsletter #255: Integration on test wiki and annual plan == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-07-01|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we discuss integration of Abstract Wikipedia in Test Wiki and our objectives for the new Wikimedia Foundation Fiscal Year, we remind you of the Wikifunctions and Abstract Wikipedia events at Wikimania 2026, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Also, we remind you that if you have questions or ideas to discuss, the next '''Volunteers' Corner''' will be held on '''[https://zonestamp.toolforge.org/1783359000 July 6, at 17:30 UTC]''' ([https://meet.google.com/xuy-njxh-rkw link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 08:22, 2 July 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30755600 --> :<small>This section was archived on a request by: [[User:Sannita (WMF)|Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 12:40, 13 July 2026 (UTC)</small> == [[Z37279]] == I have issues getting this function to work. It throws an error about a multilingual string, ''Unspecified error (error information: "cannot read property 'Z12K1' of undefined")'', but the function isn't using that type anywhere. It worked just as it should when I constructed it directly in the test section of [[Z26107]], so it is probably something obvious I've missed in the implementation. A fresh set of eyes would be much appreciated! [[User:Autom|Autom]] ([[User talk:Autom|talk]]) 23:03, 3 July 2026 (UTC) :You were passing the 1st and 2nd arguments ([[Z6091]]s) to {{Z|23468}}, which takes a [[Z6001]]. Fixed. edit: Also please review the test case I added, it's probably wrong. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 04:14, 4 July 2026 (UTC) ::Thank you, I also found the trouble with the error above. It still doesn't work with the cities I tried yesterday, but all others work. There probably some caching left from before one of the changes. [[User:Autom|Autom]] ([[User talk:Autom|talk]]) 08:57, 4 July 2026 (UTC) :<small>This section was archived on a request by: [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:49, 24 July 2026 (UTC)</small> == Criticism from English Wikipedia == Hi all, you might be aware of [[:w:en:Wikipedia:Village pump (WMF)#Abstract Wikipedia goes somewhat live and already hosts unattributed enwiki copies...|this discussion on English Wikipedia]], that raised several criticisms about the project. As a team, we [[:abstract:Abstract Wikipedia:Response to English Wikipedia criticism|drafted an initial response]], that we want to run through you. If you want to suggest changes or edits, please [[:abstract:Abstract Wikipedia talk:Response to English Wikipedia criticism|use the talk page]]. Please, keep a polite and constructive tone. The editing period will be '''open until July 17'''. The final result of this editing will be published on Meta, and will be linked to the English Wikipedia community. [[User:Sannita (WMF)|Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 12:19, 6 July 2026 (UTC) :<small>This section was archived on a request by: [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:49, 24 July 2026 (UTC)</small> == Wikifunctions & Abstract Wikipedia Newsletter #256: Moving toward our first Abstract Wikipedia integration milestone == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-07-08|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we discuss further our objectives for the new Wikimedia Foundation Fiscal Year, we show the latest community tool, we remind you of the Wikifunctions and Abstract Wikipedia events at Wikimania 2026, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 09:43, 9 July 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30755600 --> :<small>This section was archived on a request by: [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:49, 24 July 2026 (UTC)</small> == July 2026 Wikimedia Café meetups regarding Wikimedia governance and options for reform == <div class="border-box" style="background-color: var(--background-color-warning-subtle, #f8eaba); max-width: 875px; padding: 5px; border: 1px solid black; margin: 5px; color: var(--clr-dark)"> <div class="box" style="float:left; padding-top: 10px; padding-right: 10px; padding-left: 10px; padding-bottom: 10px;">[[File:Wikimedia Café logo in plain SVG format.svg|60px|alt=The logo for the Wikimedia Café]]</div> Hello! There will be two '''[https://meta.wikimedia.org/wiki/Wikimedia_Caf%C3%A9 Wikimedia Café]''' discussion opportunities in July. Both sessions will focus on Wikimedia governance, including possible follow-ups to the [https://meta.wikimedia.org/wiki/Movement_Charter Movement Charter] and options for reform. Participants may attend either or both Café sessions. This month, to deconflict the Café meetups from Wikimania, the meetups will be held one day later than usual. #'''26 July 2026 15:00 UTC''' ([https://zonestamp.toolforge.org/1785078000 timestamp converter]), at a time friendly to the Americas, Africa, and Europe #'''27 July 2026 03:00 UTC''' ([https://zonestamp.toolforge.org/1785121200 timestamp converter]), at a time friendly to Asia and the Pacific Please see the Café page for more information, including [https://meta.wikimedia.org/wiki/Wikimedia_Caf%C3%A9#How_to_attend_the_session how to register]! <br /> [[File:Buntstifte Eberhard Faber crop 64h.jpg|860px|alt=cropped image of colored pencils]]</div> <span style="white-space:nowrap;">[[User:Pine|<span style="color:#01796f; text-shadow:#00BFFF 0 0 1.0em">↠Pine</span>]] [[User talk:Pine|<span style="color:DeepSkyBlue">(<b style="color:#FFDF00;text-shadow:#FFDF00 0 0 1.0em">✉</b>)</span>]]</span> 03:31, 13 July 2026 (UTC) :<small>This section was archived on a request by: [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 02:37, 28 July 2026 (UTC)</small> == Error with [[Z37683]] == Hello, I am a newcomer and trying to use {{Z|Z37683}}, which apparently fails in English and succeeds in Swedish (see the test cases I added). If I understand correctly, the English sub-function {{Z|Z36185}} is wrong because it expects {{Z|Z6001}} and should expect {{Z|Z6091}} (which is what the Swedish sub-function {{Z|Z37686}} expects). Am I right? If so, can I change it myself, or is it necessary to ask someone who has more rights than me? [[User:Seudo|Seudo]] ([[User talk:Seudo|talk]]) 12:39, 25 July 2026 (UTC) :Fixed, sorry about that. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 12:57, 25 July 2026 (UTC) ::Thanks, it works now! [[User:Seudo|Seudo]] ([[User talk:Seudo|talk]]) 13:05, 25 July 2026 (UTC) :<small>This section was archived on a request by: [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 02:37, 28 July 2026 (UTC)</small> == Connecting tests and implementations == Is there any documentation about how to connect tests or implementations as a functioneer? I did so by editing the raw JSON, after looking at diffs of other users having connected tests and implementations. Maybe there is even an easier way to do so? --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 14:10, 25 July 2026 (UTC) :Huh? You check the box and then click <q>{{int:wikilambda-function-details-table-approve}}</q>. It's documented on [[WF:Introduction#Connect_an_Implementation_or_Test_to_a_Function|WF:Introduction]] FWIW. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:02, 25 July 2026 (UTC) ::Oof, thank you, and sorry for missing that ^^ --[[User:Volvox|Volvox]] ([[User talk:Volvox|talk]]) 20:28, 25 July 2026 (UTC) :<small>This section was archived on a request by: [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 02:37, 28 July 2026 (UTC)</small> ==Discussion at [[Meta:Requests_for_comment/The_future_of_Abstract_Wikipedia|Meta Requests for comment: The future of Abstract Wikipedia]]== [[File:Symbol watching blue lashes high contrast.svg|20px|link=|alt=]]&nbsp;You are invited to join the discussion at [[Meta:Requests_for_comment/The_future_of_Abstract_Wikipedia|Meta Requests for comment: The future of Abstract Wikipedia]]. <!-- Template:Please see --> [[User:Qcne|Qcne]] ([[User talk:Qcne|talk]]) 11:35, 14 July 2026 (UTC) :Isn't it too early for this RFC? The project was released for public preview in March-only four months ago—and it has already demonstrated its technical feasibility. Furthermore, some of the examples cited in the RFC depend entirely on specific function choices. Since this is a community-built project, contributors should remain free to use the functions they prefer. Personally, I feel the repetition of words in every sentence simply shows that active contributors currently view this issue as a low priority. After all, fixing it would require rewriting sentences to use pronouns, or correcting them with a comma-separated list of occupations. [[User:Jsamwrites|John Samuel]] 13:37, 14 July 2026 (UTC) ::Thanks John. The project was approved in 2020 and WMF expected the first articles in 2023 so it is not four months old. Integration into language Wikipedias is planned for Q1 of the current annual plan. If it is too early to evaluate, it is too early to ship. I'd welcome your thoughts on the Meta RfC itself. [[User:Qcne|Qcne]] ([[User talk:Qcne|talk]]) 13:40, 14 July 2026 (UTC) :<s>Speaking of "too early", [[abstract:Project:Response to English Wikipedia criticism]] has ~3 days left, so I'll hold off on commenting until then.</s> But on a first reading, I can see some of the same misunderstandings repeated. You could delete most of the text above your three proposals and get the same effect.<!-- --><br>edit: Yep, misunderstandings all the way down (the page). I've left [[meta:Requests_for_comment/The_future_of_Abstract_Wikipedia#c-YoshiRulz-20260716205200-Grapesurgeon-20260714140300|a brief comment]] since all my points had already been made by others. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:56, 16 July 2026 (UTC) ql3q8e5xuj8l9eu42x8j2z3m9ogvuqi Z37833 0 87977 299869 291592 2026-08-16T07:46:34Z HenkvD 1290 Added Z39545, Z39547 and Z39548 to the approved list of test cases 299869 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z37833" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z37833K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Taxon" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z37833K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Language" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20", "Z37835", "Z39545", "Z39547", "Z39548" ], "Z8K4": [ "Z14", "Z37834" ], "Z8K5": "Z37833" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "fetch IUCN conservation status string" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", " International Union for Conservation of Nature", "extinct species", "species status" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Returns the International Union for Conservation of Nature conservation status of a taxon as a string in the given language" } ] } } ey57ygqx9z1sofb810hy7e2pfvhmz5z 299884 299869 2026-08-16T08:10:17Z HenkvD 1290 Added Z39554 to the approved list of implementations 299884 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z37833" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z37833K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Taxon" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z37833K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Language" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20", "Z37835", "Z39545", "Z39547", "Z39548" ], "Z8K4": [ "Z14", "Z37834", "Z39554" ], "Z8K5": "Z37833" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "fetch IUCN conservation status string" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", " International Union for Conservation of Nature", "extinct species", "species status" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Returns the International Union for Conservation of Nature conservation status of a taxon as a string in the given language" } ] } } ik1uwtitth2qwx2tqtp0mp8i1afy9l5 299885 299884 2026-08-16T08:10:20Z HenkvD 1290 Removed Z37834 from the approved list of implementations 299885 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z37833" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z37833K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Taxon" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z37833K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Language" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20", "Z37835", "Z39545", "Z39547", "Z39548" ], "Z8K4": [ "Z14", "Z39554" ], "Z8K5": "Z37833" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "fetch IUCN conservation status string" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", " International Union for Conservation of Nature", "extinct species", "species status" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Returns the International Union for Conservation of Nature conservation status of a taxon as a string in the given language" } ] } } 0pbxudqx1i26ugitbgy9r9e5pcnsbf7 Z37834 0 87978 299890 292675 2026-08-16T08:10:53Z HenkvD 1290 DNU 299890 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z37834" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z37833", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z23468", "Z23468K1": { "Z1K1": "Z7", "Z7K1": "Z30120", "Z30120K1": { "Z1K1": "Z7", "Z7K1": "Z19308", "Z19308K1": { "Z1K1": "Z7", "Z7K1": "Z23451", "Z23451K1": { "Z1K1": "Z7", "Z7K1": "Z30120", "Z30120K1": { "Z1K1": "Z18", "Z18K1": "Z37833K1" }, "Z30120K2": [ "Z6030", "Z6036" ], "Z30120K3": [ "Z60" ], "Z30120K4": [ "Z6092", { "Z1K1": "Z6092", "Z6092K1": "P141" } ] }, "Z23451K2": { "Z1K1": "Z6092", "Z6092K1": "P141" } } }, "Z30120K2": [ "Z6030", "Z6033" ], "Z30120K3": [ "Z60" ], "Z30120K4": [ "Z6092" ] }, "Z23468K2": { "Z1K1": "Z18", "Z18K1": "Z37833K2" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "DNU fetch IUCN conservation status string Comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } t6mir0t6vqiqitau902aam9hbifzhzq Z37923 0 88113 299669 298808 2026-08-15T17:36:54Z HenkvD 1290 + Papiamento 299669 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z37923" }, "Z2K2": { "Z1K1": "Z14294", "Z14294K1": [ "Z14293", { "Z1K1": "Z14293", "Z14293K1": "Z37791", "Z14293K2": "Z33034" }, { "Z1K1": "Z14293", "Z14293K1": "Z37934", "Z14293K2": [ "Z60", "Z1592" ] }, { "Z1K1": "Z14293", "Z14293K1": "Z38908", "Z14293K2": "Z34075" }, { "Z1K1": "Z14293", "Z14293K1": "Z39167", "Z14293K2": [ "Z60", "Z1576" ] }, { "Z1K1": "Z14293", "Z14293K1": "Z39321", "Z14293K2": "Z33056" }, { "Z1K1": "Z14293", "Z14293K1": "Z39494", "Z14293K2": [ "Z60", "Z1137" ] } ], "Z14294K2": "Z38057" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "config for intro for species with hypernym" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } bayacublup96ztd8uwj9xvr3oz662hv Z38424 0 88767 299629 294634 2026-08-15T12:33:27Z 99of9 1622 add real default 299629 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z38424" }, "Z2K2": { "Z1K1": "Z14294", "Z14294K1": [ "Z14293", { "Z1K1": "Z14293", "Z14293K1": "Z38411", "Z14293K2": "Z33034" } ], "Z14294K2": "Z39486" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "config for shares border with-sentence" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } lujoeqbccpva65et08y3v0c3xsrto42 Wikifunctions:Status updates/2026-08-05 4 89354 299793 299003 2026-08-16T01:41:17Z Minorax 213 299793 wikitext text/x-wiki <languages/> {{Wikifunctions updates | prevlabel = <translate><!--T:1--> Previous update</translate> | prev = 2026-07-29 | nextlabel = <translate><!--T:2--> Next update</translate> | next = 2026-08-13 }} <translate> === Congratulations Jules*: An apple is a fruit === <!--T:3--> <!--T:4--> During the opening ceremony, also the Wikimedian of the Year was named: <tvar name="1">[[User:Jules*|Jules*]]</tvar> </translate> <blockquote><translate><!--T:5--> ''Jimmy Wales:'' What is your favourite Wikipedia article? <!--T:6--> ''Jules*:'' My favourite is “''pomme''”, which is apple in English, and the reason is that on French Wikipedia it is very important, as folklore. When it was [<tvar name="2">https://fr.wikipedia.org/w/index.php?title=Pomme&oldid=18085</tvar> <nowiki>created in [November] 2002</nowiki>] it had only one sentence, "<tvar name="1">''Une pomme est un fruit.''</tvar>", which means “An apple is a fruit.”, and we often use it to remember that articles can start very small and grow over time as other editors improve it.</translate></blockquote> <translate><!--T:7--> Today, after 3,294 edits in almost 24 years, [[<tvar name="1">:fr:Pomme</tvar>|the article]] has 79,288 bytes of wikitext, and spans 16 pages when printed. <!--T:8--> Curious about this, I went to [[<tvar name="1">abstract:Q89</tvar>|the Abstract Wikipedia article]], and checked the French view:</translate> <blockquote>''(<translate><!--T:9--> French</translate>)'' Une pomme est un fruit.</blockquote> <translate><!--T:10--> This made me very happy. It felt symbolic. And even better, it also worked to switch it to a number of different languages:</translate> <blockquote>''(<translate><!--T:11--> Chinese</translate>)'' 蘋果是一種水果。 ''(<translate><!--T:12--> Czech</translate>)'' Jablko je ovoce. ''(<translate><!--T:13--> Japanese</translate>)'' リンゴは果物である。 ''(<translate><!--T:14--> Malay</translate>)'' Epal ialah sejenis buah. ''(<translate><!--T:15--> Swedish</translate>)'' Ett äpple är en frukt.</blockquote> <translate><!--T:16--> None of these languages had a Wikipedia article about apples back then when the French article was written. Many Wikipedia language editions didn't exist yet. <!--T:17--> In other languages, it also provided text, but here the results were in need of improvement, going from missing capitalization (Serbian) to being ungrammatical (German, Italian) over incomplete sentences (Dagbani) to obvious placeholders (Spanish):</translate> <blockquote>''(<translate><!--T:18--> Dagbani</translate>)'' nyɛla binwalli. ''(<translate><!--T:19--> German</translate>)'' Ein Apfel ist ein Obst. ''(<translate><!--T:20--> Italian</translate>)''  La mela è una frutta. ''(<translate><!--T:21--> Serbian</translate>)'' јабука је воће. ''(<translate><!--T:22--> Spanish</translate>)'' ❌≪(a) ≫❌manzana❌≪ (is a)≫❌fruta.</blockquote> <translate><!--T:23--> In other languages again, for example, English, Bangla, or Ukrainian, it failed for me with a variety of error messages. (Note: The review of the sentences above has been partially supported with a frontier LLM.) <!--T:24--> I can understand that some will focus on the mistakes in the text. Here, Wikipedia’s answer has been “so fix it”, and given the way Abstract Wikipedia is built, this is indeed possible. All of it has been designed in a way that allows volunteers to fix the mistakes. <!--T:25--> I can see some pointing to the many error messages the system produces. Here, I want to remind folks that we are still in an early beta. Things have already gotten much better, compared to a few weeks ago. We are working hard on making them even better. <!--T:26--> I can see that some won’t look beyond the simplicity of the sentence. But here, I am with Jules* and the French Wikipedia: this is a modest beginning. And if you don’t believe that this can grow into something useful, that is OK, you don’t have to volunteer your work on this project. There were plenty of people in 2002, when the French article was written, who dismissed Wikipedia. Understandably. And we welcome community members who believe this can grow into something useful to contribute to the project. The evolution of the original article from 2002 is the result of volunteers jumping in to make it better. <!--T:27--> But I am thankful to each and every one of you who looks at this modest beginning and sees a possible future where Abstract Wikipedia can provide knowledge across many languages, where people from all over the world speaking all kinds of different languages can work together, share their voices and their knowledge. We are still quite a journey away from that future. And we only can go this way together. <!--T:28--> Congratulations Jules* for your well-deserved reward! And thank you for that reminder! <!--T:29--> P.S.: you can also see the sentence render in [<tvar name="1">https://elemthala.toolforge.org/</tvar> Elemthala] (for more background see [<tvar name="2">https://commons.wikimedia.org/wiki/File:Wikimania_2026_%E2%80%93_From_Abstract_Content_to_Concrete_Text_with_Wikidata_Lexemes.webm?start=45:10</tvar> Mahir's Wikimania workshop]). For the abstract content, enter <tvar name="3"><code>["Q196626", ["Q124316841", ["Q151885", "Q89"], ["Q151885", "Q3314483"]]]</code></tvar>, select French from the dropdown as the language to render in, click "Validate!" and click "Render". === Recent Changes in the software === <!--T:30--> <!--T:31--> Most of the team's work last week was on internal matters, as part of our once-every-two-months "Fix It" week. We fixed the abstract article editor to enable the Publish button when you're looking at an old revision, such as when you're reverting or undoing (<tvar name="1">[[:phab:T431993|T431993]]</tvar>), and we've adjusted the back-end service to not hide errors in some cases (<tvar name="2">[[:phab:T433276|T433276]]</tvar>). === News in Types: Anonymous functions === <!--T:32--> <!--T:33--> This week we have created another experimental Type: [[<tvar name="1">Z38546</tvar>|anonymous functions]], also called lambdas. These are functions composed from functions and values, which are often just needed transiently, and are thus not stored as Wikifunctions functions on their own page. Examples are functions such as “add 259”. For more information, see the [[:en:Anonymous function|English Wikipedia article on anonymous functions]]. A [[<tvar name="2">Wikifunctions:Catalogue/Functional operations#Anonymous functions</tvar>|small catalogue of functions is available to work with anonymous functions]], but the set is not complete yet (particularly, composition is still missing). <!--T:34--> Anonymous functions have many different use cases, but we have been driven by the proposal to cover [[<tvar name="1">Wikifunctions:Type proposals/Words with many forms</tvar>|words with many forms]]. <!--T:35--> We invite you all to create new and discuss the existing [[<tvar name="1">Wikifunctions:Type proposals</tvar>|Type proposals]] so we can keep on creating new Types. Thanks to all the community members contributing to the discussion and writing proposals, making it possible to extend Wikifunctions to new domains! <!--T:36--> As stated before Wikimania, the one Type we are really looking into right now is the [[<tvar name="1">Wikifunctions:Type_proposals/Wikifunctions object reference</tvar>|Wikifunctions object reference]]. We want to keep it both lightweight and useful, and have a few final questions open. === Fresh Functions weekly: 121 new Functions === <!--T:37--> <!--T:38--> This week we had 121 new Functions. Here is an incomplete list of Functions with Implementations and passing tests to get a taste of what Functions have been created. We crossed 4950 functions with all the energy around Wikimania. Thanks everybody for contributing! </translate> * {{Z|Z38556}} * {{Z|Z38557}} * {{Z|Z38563}} * {{Z|Z38569}} * {{Z|Z38573}} * {{Z|Z38577}} * {{Z|Z38581}} * {{Z|Z38586}} * {{Z|Z38590}} * {{Z|Z38595}} * {{Z|Z38598}} * {{Z|Z38600}} * {{Z|Z38604}} * {{Z|Z38610}} * {{Z|Z38614}} * {{Z|Z38619}} * {{Z|Z38620}} * {{Z|Z38625}} * {{Z|Z38635}} * {{Z|Z38638}} * {{Z|Z38641}} * {{Z|Z38644}} * {{Z|Z38645}} * {{Z|Z38652}} * {{Z|Z38657}} * {{Z|Z38660}} * {{Z|Z38664}} * {{Z|Z38668}} * {{Z|Z38672}} * {{Z|Z38676}} * {{Z|Z38680}} * {{Z|Z38684}} * {{Z|Z38691}} * {{Z|Z38700}} * {{Z|Z38702}} * {{Z|Z38705}} * {{Z|Z38710}} * {{Z|Z38714}} * {{Z|Z38720}} * {{Z|Z38723}} * {{Z|Z38726}} * {{Z|Z38729}} * {{Z|Z38734}} * {{Z|Z38735}} * {{Z|Z38739}} * {{Z|Z38745}} * {{Z|Z38748}} * {{Z|Z38752}} * {{Z|Z38757}} * {{Z|Z38761}} * {{Z|Z38765}} * {{Z|Z38771}} * {{Z|Z38772}} * {{Z|Z38775}} * {{Z|Z38778}} * {{Z|Z38782}} * {{Z|Z38788}} * {{Z|Z38795}} * {{Z|Z38797}} * {{Z|Z38799}} * {{Z|Z38804}} * {{Z|Z38808}} * {{Z|Z38814}} * {{Z|Z38338}} * {{Z|Z38345}} * {{Z|Z38350}} * {{Z|Z38355}} * {{Z|Z38364}} * {{Z|Z38367}} * {{Z|Z38370}} * {{Z|Z38373}} * {{Z|Z38379}} * {{Z|Z38382}} * {{Z|Z38383}} * {{Z|Z38388}} * {{Z|Z38389}} * {{Z|Z38395}} * {{Z|Z38399}} * {{Z|Z38402}} * {{Z|Z38403}} * {{Z|Z38404}} * {{Z|Z38406}} * {{Z|Z38407}} * {{Z|Z38408}} * {{Z|Z38409}} * {{Z|Z38410}} * {{Z|Z38411}} * {{Z|Z38425}} * {{Z|Z38428}} * {{Z|Z38435}} * {{Z|Z38440}} * {{Z|Z38443}} * {{Z|Z38448}} * {{Z|Z38453}} * {{Z|Z38458}} * {{Z|Z38462}} * {{Z|Z38472}} * {{Z|Z38477}} * {{Z|Z38482}} * {{Z|Z38488}} * {{Z|Z38495}} * {{Z|Z38499}} * {{Z|Z38503}} * {{Z|Z38508}} * {{Z|Z38515}} * {{Z|Z38520}} * {{Z|Z38521}} * {{Z|Z38531}} * {{Z|Z38536}} * {{Z|Z38539}} * {{Z|Z38542}} * {{Z|Z38552}} <translate> <!--T:39--> A [<tvar name="1">https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest</tvar> complete list of all functions sorted by when they were created] is available. </translate> [[Category:Status updates{{#translation:}}|2026-08-05]] 91wzoohl8i7qebk5kblbv0hdye5e1g9 Translations:Wikifunctions:Status updates/2026-08-05/38/en 1198 89493 299794 297233 2026-08-16T01:41:33Z FuzzyBot 207 Importing a new version from external source 299794 wikitext text/x-wiki This week we had 121 new Functions. Here is an incomplete list of Functions with Implementations and passing tests to get a taste of what Functions have been created. We crossed 4950 functions with all the energy around Wikimania. Thanks everybody for contributing! k8m8u1qiqmcwqk8b0bwadryr6u365c4 Wikifunctions:Status updates/2026-08-05/en 4 89495 299796 299005 2026-08-16T01:41:34Z FuzzyBot 207 Updating to match new version of source page 299796 wikitext text/x-wiki <languages/> {{Wikifunctions updates | prevlabel = Previous update | prev = 2026-07-29 | nextlabel = Next update | next = 2026-08-13 }} === Congratulations Jules*: An apple is a fruit === During the opening ceremony, also the Wikimedian of the Year was named: [[User:Jules*|Jules*]] <blockquote>''Jimmy Wales:'' What is your favourite Wikipedia article? ''Jules*:'' My favourite is “''pomme''”, which is apple in English, and the reason is that on French Wikipedia it is very important, as folklore. When it was [https://fr.wikipedia.org/w/index.php?title=Pomme&oldid=18085 <nowiki>created in [November] 2002</nowiki>] it had only one sentence, "''Une pomme est un fruit.''", which means “An apple is a fruit.”, and we often use it to remember that articles can start very small and grow over time as other editors improve it.</blockquote> Today, after 3,294 edits in almost 24 years, [[:fr:Pomme|the article]] has 79,288 bytes of wikitext, and spans 16 pages when printed. Curious about this, I went to [[abstract:Q89|the Abstract Wikipedia article]], and checked the French view: <blockquote>''(French)'' Une pomme est un fruit.</blockquote> This made me very happy. It felt symbolic. And even better, it also worked to switch it to a number of different languages: <blockquote>''(Chinese)'' 蘋果是一種水果。 ''(Czech)'' Jablko je ovoce. ''(Japanese)'' リンゴは果物である。 ''(Malay)'' Epal ialah sejenis buah. ''(Swedish)'' Ett äpple är en frukt.</blockquote> None of these languages had a Wikipedia article about apples back then when the French article was written. Many Wikipedia language editions didn't exist yet. In other languages, it also provided text, but here the results were in need of improvement, going from missing capitalization (Serbian) to being ungrammatical (German, Italian) over incomplete sentences (Dagbani) to obvious placeholders (Spanish): <blockquote>''(Dagbani)'' nyɛla binwalli. ''(German)'' Ein Apfel ist ein Obst. ''(Italian)''  La mela è una frutta. ''(Serbian)'' јабука је воће. ''(Spanish)'' ❌≪(a) ≫❌manzana❌≪ (is a)≫❌fruta.</blockquote> In other languages again, for example, English, Bangla, or Ukrainian, it failed for me with a variety of error messages. (Note: The review of the sentences above has been partially supported with a frontier LLM.) I can understand that some will focus on the mistakes in the text. Here, Wikipedia’s answer has been “so fix it”, and given the way Abstract Wikipedia is built, this is indeed possible. All of it has been designed in a way that allows volunteers to fix the mistakes. I can see some pointing to the many error messages the system produces. Here, I want to remind folks that we are still in an early beta. Things have already gotten much better, compared to a few weeks ago. We are working hard on making them even better. I can see that some won’t look beyond the simplicity of the sentence. But here, I am with Jules* and the French Wikipedia: this is a modest beginning. And if you don’t believe that this can grow into something useful, that is OK, you don’t have to volunteer your work on this project. There were plenty of people in 2002, when the French article was written, who dismissed Wikipedia. Understandably. And we welcome community members who believe this can grow into something useful to contribute to the project. The evolution of the original article from 2002 is the result of volunteers jumping in to make it better. But I am thankful to each and every one of you who looks at this modest beginning and sees a possible future where Abstract Wikipedia can provide knowledge across many languages, where people from all over the world speaking all kinds of different languages can work together, share their voices and their knowledge. We are still quite a journey away from that future. And we only can go this way together. Congratulations Jules* for your well-deserved reward! And thank you for that reminder! P.S.: you can also see the sentence render in [https://elemthala.toolforge.org/ Elemthala] (for more background see [https://commons.wikimedia.org/wiki/File:Wikimania_2026_%E2%80%93_From_Abstract_Content_to_Concrete_Text_with_Wikidata_Lexemes.webm?start=45:10 Mahir's Wikimania workshop]). For the abstract content, enter <code>["Q196626", ["Q124316841", ["Q151885", "Q89"], ["Q151885", "Q3314483"]]]</code>, select French from the dropdown as the language to render in, click "Validate!" and click "Render". === Recent Changes in the software === Most of the team's work last week was on internal matters, as part of our once-every-two-months "Fix It" week. We fixed the abstract article editor to enable the Publish button when you're looking at an old revision, such as when you're reverting or undoing ([[:phab:T431993|T431993]]), and we've adjusted the back-end service to not hide errors in some cases ([[:phab:T433276|T433276]]). === News in Types: Anonymous functions === This week we have created another experimental Type: [[Z38546|anonymous functions]], also called lambdas. These are functions composed from functions and values, which are often just needed transiently, and are thus not stored as Wikifunctions functions on their own page. Examples are functions such as “add 259”. For more information, see the [[:en:Anonymous function|English Wikipedia article on anonymous functions]]. A [[Wikifunctions:Catalogue/Functional operations#Anonymous functions|small catalogue of functions is available to work with anonymous functions]], but the set is not complete yet (particularly, composition is still missing). Anonymous functions have many different use cases, but we have been driven by the proposal to cover [[Wikifunctions:Type proposals/Words with many forms|words with many forms]]. We invite you all to create new and discuss the existing [[Wikifunctions:Type proposals|Type proposals]] so we can keep on creating new Types. Thanks to all the community members contributing to the discussion and writing proposals, making it possible to extend Wikifunctions to new domains! As stated before Wikimania, the one Type we are really looking into right now is the [[Wikifunctions:Type_proposals/Wikifunctions object reference|Wikifunctions object reference]]. We want to keep it both lightweight and useful, and have a few final questions open. === Fresh Functions weekly: 121 new Functions === This week we had 121 new Functions. Here is an incomplete list of Functions with Implementations and passing tests to get a taste of what Functions have been created. We crossed 4950 functions with all the energy around Wikimania. Thanks everybody for contributing! * {{Z|Z38556}} * {{Z|Z38557}} * {{Z|Z38563}} * {{Z|Z38569}} * {{Z|Z38573}} * {{Z|Z38577}} * {{Z|Z38581}} * {{Z|Z38586}} * {{Z|Z38590}} * {{Z|Z38595}} * {{Z|Z38598}} * {{Z|Z38600}} * {{Z|Z38604}} * {{Z|Z38610}} * {{Z|Z38614}} * {{Z|Z38619}} * {{Z|Z38620}} * {{Z|Z38625}} * {{Z|Z38635}} * {{Z|Z38638}} * {{Z|Z38641}} * {{Z|Z38644}} * {{Z|Z38645}} * {{Z|Z38652}} * {{Z|Z38657}} * {{Z|Z38660}} * {{Z|Z38664}} * {{Z|Z38668}} * {{Z|Z38672}} * {{Z|Z38676}} * {{Z|Z38680}} * {{Z|Z38684}} * {{Z|Z38691}} * {{Z|Z38700}} * {{Z|Z38702}} * {{Z|Z38705}} * {{Z|Z38710}} * {{Z|Z38714}} * {{Z|Z38720}} * {{Z|Z38723}} * {{Z|Z38726}} * {{Z|Z38729}} * {{Z|Z38734}} * {{Z|Z38735}} * {{Z|Z38739}} * {{Z|Z38745}} * {{Z|Z38748}} * {{Z|Z38752}} * {{Z|Z38757}} * {{Z|Z38761}} * {{Z|Z38765}} * {{Z|Z38771}} * {{Z|Z38772}} * {{Z|Z38775}} * {{Z|Z38778}} * {{Z|Z38782}} * {{Z|Z38788}} * {{Z|Z38795}} * {{Z|Z38797}} * {{Z|Z38799}} * {{Z|Z38804}} * {{Z|Z38808}} * {{Z|Z38814}} * {{Z|Z38338}} * {{Z|Z38345}} * {{Z|Z38350}} * {{Z|Z38355}} * {{Z|Z38364}} * {{Z|Z38367}} * {{Z|Z38370}} * {{Z|Z38373}} * {{Z|Z38379}} * {{Z|Z38382}} * {{Z|Z38383}} * {{Z|Z38388}} * {{Z|Z38389}} * {{Z|Z38395}} * {{Z|Z38399}} * {{Z|Z38402}} * {{Z|Z38403}} * {{Z|Z38404}} * {{Z|Z38406}} * {{Z|Z38407}} * {{Z|Z38408}} * {{Z|Z38409}} * {{Z|Z38410}} * {{Z|Z38411}} * {{Z|Z38425}} * {{Z|Z38428}} * {{Z|Z38435}} * {{Z|Z38440}} * {{Z|Z38443}} * {{Z|Z38448}} * {{Z|Z38453}} * {{Z|Z38458}} * {{Z|Z38462}} * {{Z|Z38472}} * {{Z|Z38477}} * {{Z|Z38482}} * {{Z|Z38488}} * {{Z|Z38495}} * {{Z|Z38499}} * {{Z|Z38503}} * {{Z|Z38508}} * {{Z|Z38515}} * {{Z|Z38520}} * {{Z|Z38521}} * {{Z|Z38531}} * {{Z|Z38536}} * {{Z|Z38539}} * {{Z|Z38542}} * {{Z|Z38552}} A [https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest complete list of all functions sorted by when they were created] is available. [[Category:Status updates{{#translation:}}|2026-08-05]] q9jscpm1h13igxuavnkrr23icgi98f9 Wikifunctions:Status updates/2026-08-05/fr 4 89500 299795 299006 2026-08-16T01:41:34Z FuzzyBot 207 Updating to match new version of source page 299795 wikitext text/x-wiki <languages/> {{Wikifunctions updates | prevlabel = Mise à jour précédente | prev = 2026-07-29 | nextlabel = Mise à jour suivante | next = 2026-08-13 }} <div lang="en" dir="ltr" class="mw-content-ltr"> === Congratulations Jules*: An apple is a fruit === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> During the opening ceremony, also the Wikimedian of the Year was named: [[User:Jules*|Jules*]] </div> <blockquote><div lang="en" dir="ltr" class="mw-content-ltr"> ''Jimmy Wales:'' What is your favourite Wikipedia article? </div> <div lang="en" dir="ltr" class="mw-content-ltr"> ''Jules*:'' My favourite is “''pomme''”, which is apple in English, and the reason is that on French Wikipedia it is very important, as folklore. When it was [https://fr.wikipedia.org/w/index.php?title=Pomme&oldid=18085 <nowiki>created in [November] 2002</nowiki>] it had only one sentence, "''Une pomme est un fruit.''", which means “An apple is a fruit.”, and we often use it to remember that articles can start very small and grow over time as other editors improve it. </div></blockquote> <div lang="en" dir="ltr" class="mw-content-ltr"> Today, after 3,294 edits in almost 24 years, [[:fr:Pomme|the article]] has 79,288 bytes of wikitext, and spans 16 pages when printed. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Curious about this, I went to [[abstract:Q89|the Abstract Wikipedia article]], and checked the French view: </div> <blockquote>''(<span lang="en" dir="ltr" class="mw-content-ltr">French</span>)'' Une pomme est un fruit.</blockquote> <span lang="en" dir="ltr" class="mw-content-ltr">This made me very happy. It felt symbolic. And even better, it also worked to switch it to a number of different languages:</span> <blockquote>''(<span lang="en" dir="ltr" class="mw-content-ltr">Chinese</span>)'' 蘋果是一種水果。 ''(<span lang="en" dir="ltr" class="mw-content-ltr">Czech</span>)'' Jablko je ovoce. ''(<span lang="en" dir="ltr" class="mw-content-ltr">Japanese</span>)'' リンゴは果物である。 ''(<span lang="en" dir="ltr" class="mw-content-ltr">Malay</span>)'' Epal ialah sejenis buah. ''(<span lang="en" dir="ltr" class="mw-content-ltr">Swedish</span>)'' Ett äpple är en frukt.</blockquote> <div lang="en" dir="ltr" class="mw-content-ltr"> None of these languages had a Wikipedia article about apples back then when the French article was written. Many Wikipedia language editions didn't exist yet. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> In other languages, it also provided text, but here the results were in need of improvement, going from missing capitalization (Serbian) to being ungrammatical (German, Italian) over incomplete sentences (Dagbani) to obvious placeholders (Spanish): </div> <blockquote>''(<span lang="en" dir="ltr" class="mw-content-ltr">Dagbani</span>)'' nyɛla binwalli. ''(<span lang="en" dir="ltr" class="mw-content-ltr">German</span>)'' Ein Apfel ist ein Obst. ''(<span lang="en" dir="ltr" class="mw-content-ltr">Italian</span>)''  La mela è una frutta. ''(<span lang="en" dir="ltr" class="mw-content-ltr">Serbian</span>)'' јабука је воће. ''(<span lang="en" dir="ltr" class="mw-content-ltr">Spanish</span>)'' ❌≪(a) ≫❌manzana❌≪ (is a)≫❌fruta.</blockquote> <div lang="en" dir="ltr" class="mw-content-ltr"> In other languages again, for example, English, Bangla, or Ukrainian, it failed for me with a variety of error messages. (Note: The review of the sentences above has been partially supported with a frontier LLM.) </div> <div lang="en" dir="ltr" class="mw-content-ltr"> I can understand that some will focus on the mistakes in the text. Here, Wikipedia’s answer has been “so fix it”, and given the way Abstract Wikipedia is built, this is indeed possible. All of it has been designed in a way that allows volunteers to fix the mistakes. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> I can see some pointing to the many error messages the system produces. Here, I want to remind folks that we are still in an early beta. Things have already gotten much better, compared to a few weeks ago. We are working hard on making them even better. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> I can see that some won’t look beyond the simplicity of the sentence. But here, I am with Jules* and the French Wikipedia: this is a modest beginning. And if you don’t believe that this can grow into something useful, that is OK, you don’t have to volunteer your work on this project. There were plenty of people in 2002, when the French article was written, who dismissed Wikipedia. Understandably. And we welcome community members who believe this can grow into something useful to contribute to the project. The evolution of the original article from 2002 is the result of volunteers jumping in to make it better. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> But I am thankful to each and every one of you who looks at this modest beginning and sees a possible future where Abstract Wikipedia can provide knowledge across many languages, where people from all over the world speaking all kinds of different languages can work together, share their voices and their knowledge. We are still quite a journey away from that future. And we only can go this way together. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Congratulations Jules* for your well-deserved reward! And thank you for that reminder! </div> <div lang="en" dir="ltr" class="mw-content-ltr"> P.S.: you can also see the sentence render in [https://elemthala.toolforge.org/ Elemthala] (for more background see [https://commons.wikimedia.org/wiki/File:Wikimania_2026_%E2%80%93_From_Abstract_Content_to_Concrete_Text_with_Wikidata_Lexemes.webm?start=45:10 Mahir's Wikimania workshop]). For the abstract content, enter <code>["Q196626", ["Q124316841", ["Q151885", "Q89"], ["Q151885", "Q3314483"]]]</code>, select French from the dropdown as the language to render in, click "Validate!" and click "Render". </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Recent Changes in the software === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Most of the team's work last week was on internal matters, as part of our once-every-two-months "Fix It" week. We fixed the abstract article editor to enable the Publish button when you're looking at an old revision, such as when you're reverting or undoing ([[:phab:T431993|T431993]]), and we've adjusted the back-end service to not hide errors in some cases ([[:phab:T433276|T433276]]). </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === News in Types: Anonymous functions === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> This week we have created another experimental Type: [[Z38546|anonymous functions]], also called lambdas. These are functions composed from functions and values, which are often just needed transiently, and are thus not stored as Wikifunctions functions on their own page. Examples are functions such as “add 259”. For more information, see the [[:en:Anonymous function|English Wikipedia article on anonymous functions]]. A [[Wikifunctions:Catalogue/Functional operations#Anonymous functions|small catalogue of functions is available to work with anonymous functions]], but the set is not complete yet (particularly, composition is still missing). </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Anonymous functions have many different use cases, but we have been driven by the proposal to cover [[Wikifunctions:Type proposals/Words with many forms|words with many forms]]. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> We invite you all to create new and discuss the existing [[Wikifunctions:Type proposals|Type proposals]] so we can keep on creating new Types. Thanks to all the community members contributing to the discussion and writing proposals, making it possible to extend Wikifunctions to new domains! </div> <div lang="en" dir="ltr" class="mw-content-ltr"> As stated before Wikimania, the one Type we are really looking into right now is the [[Wikifunctions:Type_proposals/Wikifunctions object reference|Wikifunctions object reference]]. We want to keep it both lightweight and useful, and have a few final questions open. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Fresh Functions weekly: 121 new Functions === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> This week we had 121 new Functions. Here is an incomplete list of Functions with Implementations and passing tests to get a taste of what Functions have been created. We crossed 4950 functions with all the energy around Wikimania. Thanks everybody for contributing! </div> * {{Z|Z38556}} * {{Z|Z38557}} * {{Z|Z38563}} * {{Z|Z38569}} * {{Z|Z38573}} * {{Z|Z38577}} * {{Z|Z38581}} * {{Z|Z38586}} * {{Z|Z38590}} * {{Z|Z38595}} * {{Z|Z38598}} * {{Z|Z38600}} * {{Z|Z38604}} * {{Z|Z38610}} * {{Z|Z38614}} * {{Z|Z38619}} * {{Z|Z38620}} * {{Z|Z38625}} * {{Z|Z38635}} * {{Z|Z38638}} * {{Z|Z38641}} * {{Z|Z38644}} * {{Z|Z38645}} * {{Z|Z38652}} * {{Z|Z38657}} * {{Z|Z38660}} * {{Z|Z38664}} * {{Z|Z38668}} * {{Z|Z38672}} * {{Z|Z38676}} * {{Z|Z38680}} * {{Z|Z38684}} * {{Z|Z38691}} * {{Z|Z38700}} * {{Z|Z38702}} * {{Z|Z38705}} * {{Z|Z38710}} * {{Z|Z38714}} * {{Z|Z38720}} * {{Z|Z38723}} * {{Z|Z38726}} * {{Z|Z38729}} * {{Z|Z38734}} * {{Z|Z38735}} * {{Z|Z38739}} * {{Z|Z38745}} * {{Z|Z38748}} * {{Z|Z38752}} * {{Z|Z38757}} * {{Z|Z38761}} * {{Z|Z38765}} * {{Z|Z38771}} * {{Z|Z38772}} * {{Z|Z38775}} * {{Z|Z38778}} * {{Z|Z38782}} * {{Z|Z38788}} * {{Z|Z38795}} * {{Z|Z38797}} * {{Z|Z38799}} * {{Z|Z38804}} * {{Z|Z38808}} * {{Z|Z38814}} * {{Z|Z38338}} * {{Z|Z38345}} * {{Z|Z38350}} * {{Z|Z38355}} * {{Z|Z38364}} * {{Z|Z38367}} * {{Z|Z38370}} * {{Z|Z38373}} * {{Z|Z38379}} * {{Z|Z38382}} * {{Z|Z38383}} * {{Z|Z38388}} * {{Z|Z38389}} * {{Z|Z38395}} * {{Z|Z38399}} * {{Z|Z38402}} * {{Z|Z38403}} * {{Z|Z38404}} * {{Z|Z38406}} * {{Z|Z38407}} * {{Z|Z38408}} * {{Z|Z38409}} * {{Z|Z38410}} * {{Z|Z38411}} * {{Z|Z38425}} * {{Z|Z38428}} * {{Z|Z38435}} * {{Z|Z38440}} * {{Z|Z38443}} * {{Z|Z38448}} * {{Z|Z38453}} * {{Z|Z38458}} * {{Z|Z38462}} * {{Z|Z38472}} * {{Z|Z38477}} * {{Z|Z38482}} * {{Z|Z38488}} * {{Z|Z38495}} * {{Z|Z38499}} * {{Z|Z38503}} * {{Z|Z38508}} * {{Z|Z38515}} * {{Z|Z38520}} * {{Z|Z38521}} * {{Z|Z38531}} * {{Z|Z38536}} * {{Z|Z38539}} * {{Z|Z38542}} * {{Z|Z38552}} <div lang="en" dir="ltr" class="mw-content-ltr"> A [https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest complete list of all functions sorted by when they were created] is available. </div> [[Category:Status updates{{#translation:}}|2026-08-05]] euq1tm85k1q5andg4lvw1ahkfkmcqtz Z39191 0 89777 299633 299618 2026-08-15T12:55:58Z 99of9 1622 299633 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39191" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39191K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z40", "Z17K2": "Z39191K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity repeated?" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39191K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense (present tense = Q192613)" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z39191K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language" } ] } } ], "Z8K2": "Z89", "Z8K3": [ "Z20", "Z39193", "Z39206", "Z39207", "Z39208" ], "Z8K4": [ "Z14", "Z39483", "Z39192" ], "Z8K5": "Z39191" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "shares border with-sentence from Wikidata" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "shares border with-sentence (HTML)", "auto-borders sentence", "auto-sentence for borders" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "to choose the list of neighbours manually, use Z39481" } ] } } 83e2t3tu0aipo3qt3gz583t37xz6ae7 Talk:Z21794 1 90125 299801 299471 2026-08-16T02:46:26Z Feeglgeef 8776 /* Grammar */ Reply 299801 wikitext text/x-wiki == Grammar == Hi @[[User:Feeglgeef|Feeglgeef]], I think this test is incorrect (should be "ella es una fundadora española") but for some reason I don't have the rights to edit it. [[User:Ornithorynque liminaire|Ornithorynque liminaire]] ([[User talk:Ornithorynque liminaire|talk]]) 22:23, 14 August 2026 (UTC) :I fixed the test, the implementation still needs to be changed. Editing tests and implementations requires functioneer rights, you can request them [[WF:Requests for permissions|here]]. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:46, 16 August 2026 (UTC) 0ny203swf8dqt8dlxn3p2sbcyp7gxno Z39466 0 90137 299744 299514 2026-08-15T21:34:02Z Jsamwrites 938 299744 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39466" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39466K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z40", "Z17K2": "Z39466K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "definite article" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39466K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical features" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39466" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French determiner for Wikidata item" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "WIP" } ] } } crx57zyqqufv3ezq6ha17qzpabjtugk 299747 299744 2026-08-15T21:45:17Z Jsamwrites 938 Added Z39516 to the approved list of implementations 299747 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39466" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39466K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z40", "Z17K2": "Z39466K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "definite article" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39466K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical features" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39516" ], "Z8K5": "Z39466" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French determiner for Wikidata item" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "WIP" } ] } } 8kb6tmxfg1syluecxcob185erxdvc1w 299751 299747 2026-08-15T21:53:31Z Jsamwrites 938 Added Z39517 to the approved list of test cases 299751 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39466" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39466K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z40", "Z17K2": "Z39466K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "definite article" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39466K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical features" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z39517" ], "Z8K4": [ "Z14", "Z39516" ], "Z8K5": "Z39466" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French determiner for Wikidata item" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "WIP" } ] } } 9paslu36it05m35itj4tl6gpv00o410 299765 299751 2026-08-15T22:06:54Z Jsamwrites 938 Added Z39519, Z39520, Z39521 and Z39522 to the approved list of test cases 299765 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39466" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39466K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z40", "Z17K2": "Z39466K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "definite article" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39466K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical features" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z39517", "Z39519", "Z39520", "Z39521", "Z39522" ], "Z8K4": [ "Z14", "Z39516" ], "Z8K5": "Z39466" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French determiner for Wikidata item" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "WIP" } ] } } 1in9itd2g3uityqfx22317txup663ps Wikifunctions:Proposal for built-in number types 4 90143 299630 299582 2026-08-15T12:43:29Z Virinas-code 2884 Fix phrasing of integer-like types / built on top of integer types 299630 wikitext text/x-wiki '''This is a work in progress draft which is not ready for community submission yet.''' == Issues == === Regarding {{Z|80}} === {{Z|80}} is a {{Z|4}} with a single key: value (Z80K1), which is of type {{Z|13518}}. While {{Z|80}} is a built-in core type with an ID in the <code>Z1</code>--<code>Z99</code> range<ref>[[Wikifunctions:Reserved ZIDs#Ranges]] <code>Z1</code> – <code>Z99</code>: core types.</ref>, {{Z|13518}} is not. Given that {{Z|80}} is pre-defined in the system<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata A number of ZObjects are pre-defined for the Wikifunctions system, and used by the WikiLambda MediaWiki extension as well as the function-orchestrator (and through that, the function-evaluator).</ref><ref name="Z80 initial">[[Special:PermanentLink/32]] Revision as of 2023-07-26T18:29:41 by [[User:WikiLambda system|WikiLambda system]] ''(Initial pre-defined WikiLambda content creation)''</ref>, having it depend on the later defined {{Z|13518}} is problematic. It should be noted that, initially, a byte's value was stored as a {{Z|6}}<ref name="Z80 initial" />, one of the core builtin types of Wikifunctions. It is also still a {{Z|6}} in the [https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata function-schemata]<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata/-/blob/main/data/CANONICAL/Z80.yaml <syntaxhighlight lang="yaml"> Z80K1: $ref: "#/definitions/objects/Z6_byte" </syntaxhighlight></ref>, which aims to provide a "single version of the truth" regarding what counts as a valid ZObject<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata shared set of JSON schemata for the Wikifunctions project, to achieve a "single version of the truth" on what counts as a structurally valid ZObject, and provide shared utility code</ref>. {{Z|80}} was changed to use {{Z|13518}} following [[Wikifunctions:Type proposals/Byte]]<ref>[[Wikifunctions:Type proposals/Byte#Alternatives]] The current proposal is Option 3 in the following list of Alternatives. (Option 3) A byte consists of one key that represents the value of the byte. The value is of type natural number, and has to be between the values of 0 and 255, including the edges.</ref>. This proposal highlights the lack of proper support for the {{Z|80}} type when it was defined upon {{Z|6}}, especially regarding code converters. This proposal added two type converters for JavaScript and Python where {{Z|80}} objects would get converted into Python <syntaxhighlight lang="python" inline>int</syntaxhighlight> and JavaScript <syntaxhighlight lang="javascript" inline>Number</syntaxhighlight>. Accordingly, the value's type was changed to {{Z|13518}}. ==== Lessons ==== Having {{Z|80}} be a built-in type is coherent: it is the fundamental unit used to measure and access memory in computing, and the most fundamental representation of a number<ref>[[w:Byte]]</ref>. Having it be defined upon a natural number type is also coherent: a byte represents a single value in the range 0-255, and is represented as a number in other programming languages<ref>[[Wikifunctions:Type proposals/Byte#Python]] The most idiomatic conversion in Python is to convert a Wikifunctions Byte to a Python int.</ref><ref>[[Wikifunctions:Type proposals/Byte#JavaScript]] The most idiomatic conversion in JavaScript is to convert a Wikifunctions Byte to a JavaScript number.</ref>. Hence, we argue that it is not coherent for {{Z|13518}} to not be a built-in. Having a built-in natural number type means that we can keep the preferred representation of having a byte's value stored as a number without breaking the hierarchy of built-ins and non-built-ins. === Arithmetic in the composition language === The [[Wikifunctions:Glossary#composition|composition]] language, while slow, is the most portable, abstract [[WF:PROG|programming language available on Wikifunctions]]. It defines functions as composition of other functions, which has multiple advantages: * It is language agnostic. As Wikifunctions renders the composed function calls using the localized function labels, a composition implementation can be read entirely in the user's chosen language, given that the required labels are present. On the contrary, code implementations rely on English keywords<ref>See the [https://docs.python.org/3/reference/lexical_analysis.html#keywords list of Python keywords] and the [https://tc39.es/ecma262/#prod-ReservedWord ECMAScript list of reserved keywords].</ref> and can have inner variable or function names in any language that are not localized. * It is portable and entirely defined within the scope of the Wikifunctions project, without relying on external specifications and implementations such as with code implementations. * It serves as a well-understood formalism and a very simple implementation of a function in order to ensure that the other implementations of it are correct<ref>[[Wikifunctions:Function model#Composition]] it allows us to use a well-understood formalism and a very simple implementation of it in order to ensure that the other implementations of Z781/add are correct</ref>. Composition implementations are considered "defining implementations" and are used alongside faster, optimized, but harder to comprehend code implementations. Ideally, all functions should have an implementation as a composition, or an implementaion as composition of functions which are themselves a composition of built-in, etc. This allows a proper clear definition of all functions, independently of their implementations technicalities. In its current state, however, all arithmetic functions on Wikifunctions lack such a composition implementation. Let us take a look at {{Z|13521}} for example: all of its composition implementations end up calling {{Z|13578}}, whose only composition implementation relies back on {{Z|13521}}. This is coherent: given that there is no built-in number type, there is also no built-in numeric operation. But this also implies that none of the [[Wikifunctions:Catalogue/Number operations|many number operations]] on Wikifunctions have a proper, well-defined implementation as composition of built-ins. ==== Lessons ==== Looking at [[Wikifunctions:Catalogue]] reveals that many of the functions on this website are related to arithmetic and mathematics, and hence operate on numbers. Having a built-in number type allows the creation of composition implementations for all those functions, proper, well-defined implementations as composition of built-ins. Given that composition is the language of Wikifunctions, it being incapable of representing most of its functions is incoherent. == Proposal == As we said multiple times over the course of the previous section, we propose the creation of two new built-in types for numbers. === Current situation === Per the numeric type hierarchy found at [[Template:Type documentation]], we can identify two different type of number types: * Integers, such as {{Z|80}}, {{Z|13518}}, or {{Z|19677}} (which is a pair of integers). These are usually unbounded. Most of them end up depending on {{Z|13518}}. * Floating point numbers, such as {{Z|20838}}, or {{Z|33198}} (which is a pair of floating point numbers). These follow the IEEE 754 standard, which means they are bounded and have a limited precision. The parent for these types is {{Z|20838}}. The only built-in type among these is {{Z|80}}, but as said before, it relies on a non-built-in internal representation. === Proposed change === * Adding a built-in integer type. * Adding a built-in IEEE 754 floating point type. * Adding built-in functions to manipulate these two types. ==== Advantages ==== * Type hierarchy issues about {{Z|80}} depending on non-built-ins are fixed: it now depends on another built-in. It also improves the overall hierarchy, where all number types can be defined upon these two built-ins. This could come in useful for later optimizations (for example, reprensenting numbers without going through conversion to string). * We can have composition implementations for all mathematical and arithmetic functions, since these are now built-in types they can have built-in functions to work with them. ==== Further views ==== Currently, Wikifunctions only has two terminal types: {{Z|9}} and {{Z|6}}. This means that all types in Wikifunctions end up being represented as strings. Having built-in numbers opens the possibility for later software changes: for example, representing them internally and in the JSON as numbers. Considering the many performance issues of Wikifunctions, this could be interesting in a not-so-far future. According to the [[Wikifunctions:About|Wikifunctions Mission statement]], we should "Imagine a programming system that allows us to make the next big leap in knowledge representation". Representing something as fundamental as numbers is definitely essential, further renforcing the need for an endorsed built-in number type. Wikifunctions also aims "to create both a well-defined common catalog of functions that can be widely reused and an environment where functions can be quickly combined and executed on the fly"; arithmetic operations and mathematical computations are one of the most common type of functions, and should therefore benefit from first-class support. == Implementation == === Integer type === There are multiple options regarding which integer type should be made built-in: # The {{Z|80}} type, the only integer type which is bounded. # The {{Z|13518}} type, which most integer types rely on at the moment. # The {{Z|16683}} type. We can look at what Python and ECMAScript do for further inspiration: * Python has an <syntaxhighlight lang="python" inline>int</syntaxhighlight> type for representing integers; it is signed and unbounded. * ECMAScript has a <syntaxhighlight lang="python" inline>BigInt</syntaxhighlight> type for representing integers; it is signed and unbounded too. Considering these, we decided to go with {{Z|16683}} for our integer type. * {{Z|80}} can be defined by having the validator ensure it is within the 0-255 range. * {{Z|13518}} can be defined by having the validator ensure it is a non-negatuve integer. Given this, we can have efficient type converters from and to programming language types, with the added bonus of having all possible values be valid (e.g., if a Python function returns an int, it can always be converted to a valid {{Z|16683}}, unlike {{Z|13518}} which wouldn't support negative numbers). === Floating-point type === We propose to make the {{Z|20838}} type built-in. The IEEE 754 standard for floating point numbers is the ideal representation: it is a reference standard that has already been adopted on Wikifunctions. In its current implementation following [[Wikifunctions:Type proposals/float64]], it does however require quite a few different types: * The {{Z|16659}} enumeration (3 members) * The {{Z|20825}} enumeration (8 members) * Both a natural number and an integer type Our options at the moment are: # Turn all those types into built-ins # Change the internal representation of float64 Considering the need for performant functions, we propose having a different float 64 type whose value is an hexadecimal string representing the raw IEEE 754 byte representation. ==== Converters ==== [[w:Endianness|Big Endian]] was chosen arbitrarly. ===== JavaScript ===== The ECMAScript <syntaxhighlight lang="javascript" inline>DataView</syntaxhighlight> offers the required functions to access the raw bytes of a floating point number and format them as hexadecimal: <syntaxhighlight lang="javascript"> function fromNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setFloat64(0, num, true); return view.getBigUint64(0, true).toString(16); } </syntaxhighlight> Converting an hexadecimal string back into a floating point number is trivial now: <syntaxhighlight lang="javascript"> function toNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setBigUint64(0, BigInt(`0x${num}`), true); return view.getFloat64(0, true); } </syntaxhighlight> ===== Python ===== We have to use the <code>struct</code> module in order to access a floating point number's bytes: <syntaxhighlight lang="python"> import struct def fromNumber(num: float) -> str: return struct.pack('<d', 666.67).hex() </syntaxhighlight> The reverse operation, converting hexadecimal bytes back into a floating point number, is trivial too: <syntaxhighlight lang="python"> import struct def toNumber(num: str) -> float: return struct.unpack('<d', bytes.fromhex("4084d55c28f5c28f"))[0] </syntaxhighlight> === ZIDs === This proposal includes the creation of multiple new ZObjects, all of which require a statically assigned ZID. In [[Wikifunctions:Function model|the function model documentation]], functions in the range Z700-Z799 are used as sample arithmetic functions. Since many new built-in functions will be included in this proposal, having a dedicated range for them is coherent and avoids taking too much space in the previously used Z800-Z899 space. To remain coherent with this idea, new core types will be put in the Z70-Z79 range, which is coincidentally free. The IEEE 754 standard includes many operations that a system needs to implement to be considered conformant. The Z7000 range could be used for those, as there is more than a hundred of them. == Specifications == === Integers === ==== Summary ==== {{void|Short overview of the idea of this Type}} We propose the creation of a new type, named '''integer'''. It is part of the wider proposal to add two new built-in types for numbers. This type would be a built-in type whose ZID is in the 0-99 range. We propose Z70, as functions in the Z700-Z799 range are numeric operations. '''Integer''' is similar to the existing {{Z|16683}}, but there are some differences regarding its internal representation. ==== Uses ==== {{void|Prompts: * Why should this exist? * What kinds of functions would be created using this? * What standard concepts, if any, does this align with?}} There are many types built on top of an integer type on Wikifunctions: {{Z|80}}, {{Z|13518}}, {{Z|19677}}... Having them all defined relatively to one standard built-in type improves the type hierarchy, allows further optimisations in the future, and fixes issues regarding built-in dependence on non built-ins. Integers are then used throughout Wikifunctions, wether for mathematical operations or for other uses (such as getting the length of a list). This new built-in type allows us to have composition of built-ins implementaions for all those functions. ==== Structure ==== {{void|Description of how a value of this type would look like and why}} This type has a single key, value (Z70K1), whose type is {{Z|6}}. This key holds a little endian lowercase hexadecimal representation of the number described. The string is preceded by a single minus character <code>-</code> if the number is negative. <code>-0</code> is not a valid value: 0 is always positive. This format was chosen because it is well supported by both available programming languages and should have rather good performance, as hexadecimal notation is close to how numbers are represented in the computer's memory. ===== Example values ===== Here is how the number <code>666</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "integer", "value": "29a" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z70", "Z70K1": "29a" }</syntaxhighlight> |} And here is how its opposite <code>-666</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "integer", "value": "-29a" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z70", "Z70K1": "-29a" }</syntaxhighlight> |} ==== Identity ==== Two integers are equal if and only if their hexadecimal representations are equal. ==== Converting to code ==== ===== Python ===== <syntaxhighlight lang="python"> def deserialize(Z70K1: str) -> int: return int(Z70K1, 16) </syntaxhighlight> <syntaxhighlight lang="python"> def serialize(integer: int) -> str: return f"{integer:x}" </syntaxhighlight> ===== JavaScript ===== <syntaxhighlight lang="javascript"> function deserialize(Z70K1) { if (Z70K1.startsWith("-")) { return -BigInt(`0x${Z70K1.slice(1)}`); } return BigInt(`0x${Z70K1}`); } </syntaxhighlight> <syntaxhighlight lang="javascript"> function serialize(big_int) { return big_int.toString(16); } </syntaxhighlight> ==== Display function ==== {{void|How would a value of this type be displayed on Wikifunctions. Remove this section for types that should not be displayed as a string.}} Integers should be displayed as localized numbers. For example, a French user would see <code>678910</code> as 678 910 while an American user might see 678,910. ==== Read function ==== {{void|When entering a value for this type as a string, what format should that string have? Remove this section for types that should not be entered as a string.}} The input should be interpreted as a either localized number in the user's language, or as a standard decimal number (without separators). ==== Alternatives ==== {{void|In order to capture the idea presented in the summary, what alternative structures, display functions, read functions, etc. could have made sense too? Please also link to any type proposals that "compete" with this one.}} # Having a separate Sign key in the type, but that would imply making Sign built-in too and would make conversion slower. ==== Comments ==== ''For general comments, please reply to the proposer.'' * {{s}} as proposer. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 09:20, 15 August 2026 (UTC) === Floating point numbers === ==== Summary ==== {{void|Short overview of the idea of this Type}} We propose the creation of a new type, named '''floating point number'''. It is part of the wider proposal to add two new built-in types for numbers. This type would be a built-in type whose ZID is in the 0-99 range. We propose Z71, as arithmetic functions occupy the Z700-Z999 range. The name '''floating point number''' has be chosen to differentiate this type from {{Z|20838}}. The internal representation used is different: while {{Z|20838}} stores each part of an IEEE 754 floating point number separately, '''floating point number''' simply stores the bytes as hexadecimal in a {{Z|6}} key. ==== Uses ==== {{void|Prompts: * Why should this exist? * What kinds of functions would be created using this? * What standard concepts, if any, does this align with?}} {{Z|20838}} is already a widely used type<ref>[[Special:WhatLinksHere/Z20838]] returns more than 500 items.</ref>, this proposal simply turns it into a built-in type. The different representation allows faster performance for complex composed functions. Its new built-in nature also permits the creation of built-in functions operating on floating point number, and then permit the creation of pure composition mathematical operations. This aligns with the standard concept of representing numbers; in that case, real numbers are approximated by floating point numbers. The international widely recoginzed IEEE 754 format is used as it has first-class support in code implementations. ==== Structure ==== {{void|Description of how a value of this type would look like and why}} This type has a single key, value (Z71K1), whose type is {{Z|6}}. This key holds a little-endian IEEE 754 number, whose bytes are reprsesented as hexadecimal. This was done for performance reasons: most operations do not work with individual components of the floating point number, but rather with the number as a whole. It also avoids having to make two new enumerations builtin for the sign and special value. ===== Example values ===== Here is how the number <code>666.67</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "floating point number", "value": "8fc2f5285cd58440" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z71", "Z71K1": "8fc2f5285cd58440" }</syntaxhighlight> |} ==== Identity ==== Two floating point numbers are the same if the subtraction of their values (Z71K1) is equal to zero. The special case where either is equal to NaN means that they are not equal, even if both are NaN. ==== Converting to code ==== ===== Python ===== <syntaxhighlight lang="python"> import struct def fromNumber(num: float) -> str: return struct.pack('<d', num).hex() </syntaxhighlight> <syntaxhighlight lang="python"> import struct def toNumber(num: str) -> float: return struct.unpack('<d', bytes.fromhex(num))[0] </syntaxhighlight> ===== JavaScript ===== <syntaxhighlight lang="javascript"> function fromNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setFloat64(0, num, true); return view.getBigUint64(0, true).toString(16); } </syntaxhighlight> <syntaxhighlight lang="javascript"> function toNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setBigUint64(0, BigInt(`0x${num}`), true); return view.getFloat64(0, true); } </syntaxhighlight> ==== Display function ==== {{void|How would a value of this type be displayed on Wikifunctions. Remove this section for types that should not be displayed as a string.}} The cleanest way to display floating point numbers is using the localized number system. For example, a French user could have the sample number shown above displayed to them as <code>666,67</code>, while an user from the USA could see <code>666.67</code>. A Latin user might see <code>DCLXVI.LXVII</code>. ==== Read function ==== {{void|When entering a value for this type as a string, what format should that string have? Remove this section for types that should not be entered as a string.}} The input should be interpreted as a localized number in the user's language and then parsed into its IEEE 754 representation. ==== Alternatives ==== {{void|In order to capture the idea presented in the summary, what alternative structures, display functions, read functions, etc. could have made sense too? Please also link to any type proposals that "compete" with this one.}} # Using the existing float64 type structure, where each part has its own key. ==== Comments ==== ''For general comments, please reply to the proposer.'' * {{s}} as proposer. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 07:04, 15 August 2026 (UTC) == Discussion == '''We are aware that what we propose are major breaking changes that could take time and effort to implement.''' We believe that, as its own programming system, Wikifunctions ''needs'' first-class support for a concept as fundamental as numbers; and that this proposal will make further work with numbers easier while opening the door to further improvements. We submit this first proposal for the community to discuss it and to get advice regarding its implementation if it is approved. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 09:36, 15 August 2026 (UTC) dygqivzth1gaib0xu7xm6vo6l802wl1 299631 299630 2026-08-15T12:44:20Z Virinas-code 2884 /* Structure */ The representation is actually big endian 299631 wikitext text/x-wiki '''This is a work in progress draft which is not ready for community submission yet.''' == Issues == === Regarding {{Z|80}} === {{Z|80}} is a {{Z|4}} with a single key: value (Z80K1), which is of type {{Z|13518}}. While {{Z|80}} is a built-in core type with an ID in the <code>Z1</code>--<code>Z99</code> range<ref>[[Wikifunctions:Reserved ZIDs#Ranges]] <code>Z1</code> – <code>Z99</code>: core types.</ref>, {{Z|13518}} is not. Given that {{Z|80}} is pre-defined in the system<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata A number of ZObjects are pre-defined for the Wikifunctions system, and used by the WikiLambda MediaWiki extension as well as the function-orchestrator (and through that, the function-evaluator).</ref><ref name="Z80 initial">[[Special:PermanentLink/32]] Revision as of 2023-07-26T18:29:41 by [[User:WikiLambda system|WikiLambda system]] ''(Initial pre-defined WikiLambda content creation)''</ref>, having it depend on the later defined {{Z|13518}} is problematic. It should be noted that, initially, a byte's value was stored as a {{Z|6}}<ref name="Z80 initial" />, one of the core builtin types of Wikifunctions. It is also still a {{Z|6}} in the [https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata function-schemata]<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata/-/blob/main/data/CANONICAL/Z80.yaml <syntaxhighlight lang="yaml"> Z80K1: $ref: "#/definitions/objects/Z6_byte" </syntaxhighlight></ref>, which aims to provide a "single version of the truth" regarding what counts as a valid ZObject<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata shared set of JSON schemata for the Wikifunctions project, to achieve a "single version of the truth" on what counts as a structurally valid ZObject, and provide shared utility code</ref>. {{Z|80}} was changed to use {{Z|13518}} following [[Wikifunctions:Type proposals/Byte]]<ref>[[Wikifunctions:Type proposals/Byte#Alternatives]] The current proposal is Option 3 in the following list of Alternatives. (Option 3) A byte consists of one key that represents the value of the byte. The value is of type natural number, and has to be between the values of 0 and 255, including the edges.</ref>. This proposal highlights the lack of proper support for the {{Z|80}} type when it was defined upon {{Z|6}}, especially regarding code converters. This proposal added two type converters for JavaScript and Python where {{Z|80}} objects would get converted into Python <syntaxhighlight lang="python" inline>int</syntaxhighlight> and JavaScript <syntaxhighlight lang="javascript" inline>Number</syntaxhighlight>. Accordingly, the value's type was changed to {{Z|13518}}. ==== Lessons ==== Having {{Z|80}} be a built-in type is coherent: it is the fundamental unit used to measure and access memory in computing, and the most fundamental representation of a number<ref>[[w:Byte]]</ref>. Having it be defined upon a natural number type is also coherent: a byte represents a single value in the range 0-255, and is represented as a number in other programming languages<ref>[[Wikifunctions:Type proposals/Byte#Python]] The most idiomatic conversion in Python is to convert a Wikifunctions Byte to a Python int.</ref><ref>[[Wikifunctions:Type proposals/Byte#JavaScript]] The most idiomatic conversion in JavaScript is to convert a Wikifunctions Byte to a JavaScript number.</ref>. Hence, we argue that it is not coherent for {{Z|13518}} to not be a built-in. Having a built-in natural number type means that we can keep the preferred representation of having a byte's value stored as a number without breaking the hierarchy of built-ins and non-built-ins. === Arithmetic in the composition language === The [[Wikifunctions:Glossary#composition|composition]] language, while slow, is the most portable, abstract [[WF:PROG|programming language available on Wikifunctions]]. It defines functions as composition of other functions, which has multiple advantages: * It is language agnostic. As Wikifunctions renders the composed function calls using the localized function labels, a composition implementation can be read entirely in the user's chosen language, given that the required labels are present. On the contrary, code implementations rely on English keywords<ref>See the [https://docs.python.org/3/reference/lexical_analysis.html#keywords list of Python keywords] and the [https://tc39.es/ecma262/#prod-ReservedWord ECMAScript list of reserved keywords].</ref> and can have inner variable or function names in any language that are not localized. * It is portable and entirely defined within the scope of the Wikifunctions project, without relying on external specifications and implementations such as with code implementations. * It serves as a well-understood formalism and a very simple implementation of a function in order to ensure that the other implementations of it are correct<ref>[[Wikifunctions:Function model#Composition]] it allows us to use a well-understood formalism and a very simple implementation of it in order to ensure that the other implementations of Z781/add are correct</ref>. Composition implementations are considered "defining implementations" and are used alongside faster, optimized, but harder to comprehend code implementations. Ideally, all functions should have an implementation as a composition, or an implementaion as composition of functions which are themselves a composition of built-in, etc. This allows a proper clear definition of all functions, independently of their implementations technicalities. In its current state, however, all arithmetic functions on Wikifunctions lack such a composition implementation. Let us take a look at {{Z|13521}} for example: all of its composition implementations end up calling {{Z|13578}}, whose only composition implementation relies back on {{Z|13521}}. This is coherent: given that there is no built-in number type, there is also no built-in numeric operation. But this also implies that none of the [[Wikifunctions:Catalogue/Number operations|many number operations]] on Wikifunctions have a proper, well-defined implementation as composition of built-ins. ==== Lessons ==== Looking at [[Wikifunctions:Catalogue]] reveals that many of the functions on this website are related to arithmetic and mathematics, and hence operate on numbers. Having a built-in number type allows the creation of composition implementations for all those functions, proper, well-defined implementations as composition of built-ins. Given that composition is the language of Wikifunctions, it being incapable of representing most of its functions is incoherent. == Proposal == As we said multiple times over the course of the previous section, we propose the creation of two new built-in types for numbers. === Current situation === Per the numeric type hierarchy found at [[Template:Type documentation]], we can identify two different type of number types: * Integers, such as {{Z|80}}, {{Z|13518}}, or {{Z|19677}} (which is a pair of integers). These are usually unbounded. Most of them end up depending on {{Z|13518}}. * Floating point numbers, such as {{Z|20838}}, or {{Z|33198}} (which is a pair of floating point numbers). These follow the IEEE 754 standard, which means they are bounded and have a limited precision. The parent for these types is {{Z|20838}}. The only built-in type among these is {{Z|80}}, but as said before, it relies on a non-built-in internal representation. === Proposed change === * Adding a built-in integer type. * Adding a built-in IEEE 754 floating point type. * Adding built-in functions to manipulate these two types. ==== Advantages ==== * Type hierarchy issues about {{Z|80}} depending on non-built-ins are fixed: it now depends on another built-in. It also improves the overall hierarchy, where all number types can be defined upon these two built-ins. This could come in useful for later optimizations (for example, reprensenting numbers without going through conversion to string). * We can have composition implementations for all mathematical and arithmetic functions, since these are now built-in types they can have built-in functions to work with them. ==== Further views ==== Currently, Wikifunctions only has two terminal types: {{Z|9}} and {{Z|6}}. This means that all types in Wikifunctions end up being represented as strings. Having built-in numbers opens the possibility for later software changes: for example, representing them internally and in the JSON as numbers. Considering the many performance issues of Wikifunctions, this could be interesting in a not-so-far future. According to the [[Wikifunctions:About|Wikifunctions Mission statement]], we should "Imagine a programming system that allows us to make the next big leap in knowledge representation". Representing something as fundamental as numbers is definitely essential, further renforcing the need for an endorsed built-in number type. Wikifunctions also aims "to create both a well-defined common catalog of functions that can be widely reused and an environment where functions can be quickly combined and executed on the fly"; arithmetic operations and mathematical computations are one of the most common type of functions, and should therefore benefit from first-class support. == Implementation == === Integer type === There are multiple options regarding which integer type should be made built-in: # The {{Z|80}} type, the only integer type which is bounded. # The {{Z|13518}} type, which most integer types rely on at the moment. # The {{Z|16683}} type. We can look at what Python and ECMAScript do for further inspiration: * Python has an <syntaxhighlight lang="python" inline>int</syntaxhighlight> type for representing integers; it is signed and unbounded. * ECMAScript has a <syntaxhighlight lang="python" inline>BigInt</syntaxhighlight> type for representing integers; it is signed and unbounded too. Considering these, we decided to go with {{Z|16683}} for our integer type. * {{Z|80}} can be defined by having the validator ensure it is within the 0-255 range. * {{Z|13518}} can be defined by having the validator ensure it is a non-negatuve integer. Given this, we can have efficient type converters from and to programming language types, with the added bonus of having all possible values be valid (e.g., if a Python function returns an int, it can always be converted to a valid {{Z|16683}}, unlike {{Z|13518}} which wouldn't support negative numbers). === Floating-point type === We propose to make the {{Z|20838}} type built-in. The IEEE 754 standard for floating point numbers is the ideal representation: it is a reference standard that has already been adopted on Wikifunctions. In its current implementation following [[Wikifunctions:Type proposals/float64]], it does however require quite a few different types: * The {{Z|16659}} enumeration (3 members) * The {{Z|20825}} enumeration (8 members) * Both a natural number and an integer type Our options at the moment are: # Turn all those types into built-ins # Change the internal representation of float64 Considering the need for performant functions, we propose having a different float 64 type whose value is an hexadecimal string representing the raw IEEE 754 byte representation. ==== Converters ==== [[w:Endianness|Big Endian]] was chosen arbitrarly. ===== JavaScript ===== The ECMAScript <syntaxhighlight lang="javascript" inline>DataView</syntaxhighlight> offers the required functions to access the raw bytes of a floating point number and format them as hexadecimal: <syntaxhighlight lang="javascript"> function fromNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setFloat64(0, num, true); return view.getBigUint64(0, true).toString(16); } </syntaxhighlight> Converting an hexadecimal string back into a floating point number is trivial now: <syntaxhighlight lang="javascript"> function toNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setBigUint64(0, BigInt(`0x${num}`), true); return view.getFloat64(0, true); } </syntaxhighlight> ===== Python ===== We have to use the <code>struct</code> module in order to access a floating point number's bytes: <syntaxhighlight lang="python"> import struct def fromNumber(num: float) -> str: return struct.pack('<d', 666.67).hex() </syntaxhighlight> The reverse operation, converting hexadecimal bytes back into a floating point number, is trivial too: <syntaxhighlight lang="python"> import struct def toNumber(num: str) -> float: return struct.unpack('<d', bytes.fromhex("4084d55c28f5c28f"))[0] </syntaxhighlight> === ZIDs === This proposal includes the creation of multiple new ZObjects, all of which require a statically assigned ZID. In [[Wikifunctions:Function model|the function model documentation]], functions in the range Z700-Z799 are used as sample arithmetic functions. Since many new built-in functions will be included in this proposal, having a dedicated range for them is coherent and avoids taking too much space in the previously used Z800-Z899 space. To remain coherent with this idea, new core types will be put in the Z70-Z79 range, which is coincidentally free. The IEEE 754 standard includes many operations that a system needs to implement to be considered conformant. The Z7000 range could be used for those, as there is more than a hundred of them. == Specifications == === Integers === ==== Summary ==== {{void|Short overview of the idea of this Type}} We propose the creation of a new type, named '''integer'''. It is part of the wider proposal to add two new built-in types for numbers. This type would be a built-in type whose ZID is in the 0-99 range. We propose Z70, as functions in the Z700-Z799 range are numeric operations. '''Integer''' is similar to the existing {{Z|16683}}, but there are some differences regarding its internal representation. ==== Uses ==== {{void|Prompts: * Why should this exist? * What kinds of functions would be created using this? * What standard concepts, if any, does this align with?}} There are many types built on top of an integer type on Wikifunctions: {{Z|80}}, {{Z|13518}}, {{Z|19677}}... Having them all defined relatively to one standard built-in type improves the type hierarchy, allows further optimisations in the future, and fixes issues regarding built-in dependence on non built-ins. Integers are then used throughout Wikifunctions, wether for mathematical operations or for other uses (such as getting the length of a list). This new built-in type allows us to have composition of built-ins implementaions for all those functions. ==== Structure ==== {{void|Description of how a value of this type would look like and why}} This type has a single key, value (Z70K1), whose type is {{Z|6}}. This key holds a big endian lowercase hexadecimal representation of the number described. The string is preceded by a single minus character <code>-</code> if the number is negative. <code>-0</code> is not a valid value: 0 is always positive. This format was chosen because it is well supported by both available programming languages and should have rather good performance, as hexadecimal notation is close to how numbers are represented in the computer's memory. ===== Example values ===== Here is how the number <code>666</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "integer", "value": "29a" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z70", "Z70K1": "29a" }</syntaxhighlight> |} And here is how its opposite <code>-666</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "integer", "value": "-29a" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z70", "Z70K1": "-29a" }</syntaxhighlight> |} ==== Identity ==== Two integers are equal if and only if their hexadecimal representations are equal. ==== Converting to code ==== ===== Python ===== <syntaxhighlight lang="python"> def deserialize(Z70K1: str) -> int: return int(Z70K1, 16) </syntaxhighlight> <syntaxhighlight lang="python"> def serialize(integer: int) -> str: return f"{integer:x}" </syntaxhighlight> ===== JavaScript ===== <syntaxhighlight lang="javascript"> function deserialize(Z70K1) { if (Z70K1.startsWith("-")) { return -BigInt(`0x${Z70K1.slice(1)}`); } return BigInt(`0x${Z70K1}`); } </syntaxhighlight> <syntaxhighlight lang="javascript"> function serialize(big_int) { return big_int.toString(16); } </syntaxhighlight> ==== Display function ==== {{void|How would a value of this type be displayed on Wikifunctions. Remove this section for types that should not be displayed as a string.}} Integers should be displayed as localized numbers. For example, a French user would see <code>678910</code> as 678 910 while an American user might see 678,910. ==== Read function ==== {{void|When entering a value for this type as a string, what format should that string have? Remove this section for types that should not be entered as a string.}} The input should be interpreted as a either localized number in the user's language, or as a standard decimal number (without separators). ==== Alternatives ==== {{void|In order to capture the idea presented in the summary, what alternative structures, display functions, read functions, etc. could have made sense too? Please also link to any type proposals that "compete" with this one.}} # Having a separate Sign key in the type, but that would imply making Sign built-in too and would make conversion slower. ==== Comments ==== ''For general comments, please reply to the proposer.'' * {{s}} as proposer. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 09:20, 15 August 2026 (UTC) === Floating point numbers === ==== Summary ==== {{void|Short overview of the idea of this Type}} We propose the creation of a new type, named '''floating point number'''. It is part of the wider proposal to add two new built-in types for numbers. This type would be a built-in type whose ZID is in the 0-99 range. We propose Z71, as arithmetic functions occupy the Z700-Z999 range. The name '''floating point number''' has be chosen to differentiate this type from {{Z|20838}}. The internal representation used is different: while {{Z|20838}} stores each part of an IEEE 754 floating point number separately, '''floating point number''' simply stores the bytes as hexadecimal in a {{Z|6}} key. ==== Uses ==== {{void|Prompts: * Why should this exist? * What kinds of functions would be created using this? * What standard concepts, if any, does this align with?}} {{Z|20838}} is already a widely used type<ref>[[Special:WhatLinksHere/Z20838]] returns more than 500 items.</ref>, this proposal simply turns it into a built-in type. The different representation allows faster performance for complex composed functions. Its new built-in nature also permits the creation of built-in functions operating on floating point number, and then permit the creation of pure composition mathematical operations. This aligns with the standard concept of representing numbers; in that case, real numbers are approximated by floating point numbers. The international widely recoginzed IEEE 754 format is used as it has first-class support in code implementations. ==== Structure ==== {{void|Description of how a value of this type would look like and why}} This type has a single key, value (Z71K1), whose type is {{Z|6}}. This key holds a little-endian IEEE 754 number, whose bytes are reprsesented as hexadecimal. This was done for performance reasons: most operations do not work with individual components of the floating point number, but rather with the number as a whole. It also avoids having to make two new enumerations builtin for the sign and special value. ===== Example values ===== Here is how the number <code>666.67</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "floating point number", "value": "8fc2f5285cd58440" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z71", "Z71K1": "8fc2f5285cd58440" }</syntaxhighlight> |} ==== Identity ==== Two floating point numbers are the same if the subtraction of their values (Z71K1) is equal to zero. The special case where either is equal to NaN means that they are not equal, even if both are NaN. ==== Converting to code ==== ===== Python ===== <syntaxhighlight lang="python"> import struct def fromNumber(num: float) -> str: return struct.pack('<d', num).hex() </syntaxhighlight> <syntaxhighlight lang="python"> import struct def toNumber(num: str) -> float: return struct.unpack('<d', bytes.fromhex(num))[0] </syntaxhighlight> ===== JavaScript ===== <syntaxhighlight lang="javascript"> function fromNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setFloat64(0, num, true); return view.getBigUint64(0, true).toString(16); } </syntaxhighlight> <syntaxhighlight lang="javascript"> function toNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setBigUint64(0, BigInt(`0x${num}`), true); return view.getFloat64(0, true); } </syntaxhighlight> ==== Display function ==== {{void|How would a value of this type be displayed on Wikifunctions. Remove this section for types that should not be displayed as a string.}} The cleanest way to display floating point numbers is using the localized number system. For example, a French user could have the sample number shown above displayed to them as <code>666,67</code>, while an user from the USA could see <code>666.67</code>. A Latin user might see <code>DCLXVI.LXVII</code>. ==== Read function ==== {{void|When entering a value for this type as a string, what format should that string have? Remove this section for types that should not be entered as a string.}} The input should be interpreted as a localized number in the user's language and then parsed into its IEEE 754 representation. ==== Alternatives ==== {{void|In order to capture the idea presented in the summary, what alternative structures, display functions, read functions, etc. could have made sense too? Please also link to any type proposals that "compete" with this one.}} # Using the existing float64 type structure, where each part has its own key. ==== Comments ==== ''For general comments, please reply to the proposer.'' * {{s}} as proposer. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 07:04, 15 August 2026 (UTC) == Discussion == '''We are aware that what we propose are major breaking changes that could take time and effort to implement.''' We believe that, as its own programming system, Wikifunctions ''needs'' first-class support for a concept as fundamental as numbers; and that this proposal will make further work with numbers easier while opening the door to further improvements. We submit this first proposal for the community to discuss it and to get advice regarding its implementation if it is approved. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 09:36, 15 August 2026 (UTC) 4cib5g1gdwfthm2n3b1f1xh8s7sxkpl 299632 299631 2026-08-15T12:46:59Z Virinas-code 2884 /* Structure */ Clarify wording: zero is not positive 299632 wikitext text/x-wiki '''This is a work in progress draft which is not ready for community submission yet.''' == Issues == === Regarding {{Z|80}} === {{Z|80}} is a {{Z|4}} with a single key: value (Z80K1), which is of type {{Z|13518}}. While {{Z|80}} is a built-in core type with an ID in the <code>Z1</code>--<code>Z99</code> range<ref>[[Wikifunctions:Reserved ZIDs#Ranges]] <code>Z1</code> – <code>Z99</code>: core types.</ref>, {{Z|13518}} is not. Given that {{Z|80}} is pre-defined in the system<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata A number of ZObjects are pre-defined for the Wikifunctions system, and used by the WikiLambda MediaWiki extension as well as the function-orchestrator (and through that, the function-evaluator).</ref><ref name="Z80 initial">[[Special:PermanentLink/32]] Revision as of 2023-07-26T18:29:41 by [[User:WikiLambda system|WikiLambda system]] ''(Initial pre-defined WikiLambda content creation)''</ref>, having it depend on the later defined {{Z|13518}} is problematic. It should be noted that, initially, a byte's value was stored as a {{Z|6}}<ref name="Z80 initial" />, one of the core builtin types of Wikifunctions. It is also still a {{Z|6}} in the [https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata function-schemata]<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata/-/blob/main/data/CANONICAL/Z80.yaml <syntaxhighlight lang="yaml"> Z80K1: $ref: "#/definitions/objects/Z6_byte" </syntaxhighlight></ref>, which aims to provide a "single version of the truth" regarding what counts as a valid ZObject<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata shared set of JSON schemata for the Wikifunctions project, to achieve a "single version of the truth" on what counts as a structurally valid ZObject, and provide shared utility code</ref>. {{Z|80}} was changed to use {{Z|13518}} following [[Wikifunctions:Type proposals/Byte]]<ref>[[Wikifunctions:Type proposals/Byte#Alternatives]] The current proposal is Option 3 in the following list of Alternatives. (Option 3) A byte consists of one key that represents the value of the byte. The value is of type natural number, and has to be between the values of 0 and 255, including the edges.</ref>. This proposal highlights the lack of proper support for the {{Z|80}} type when it was defined upon {{Z|6}}, especially regarding code converters. This proposal added two type converters for JavaScript and Python where {{Z|80}} objects would get converted into Python <syntaxhighlight lang="python" inline>int</syntaxhighlight> and JavaScript <syntaxhighlight lang="javascript" inline>Number</syntaxhighlight>. Accordingly, the value's type was changed to {{Z|13518}}. ==== Lessons ==== Having {{Z|80}} be a built-in type is coherent: it is the fundamental unit used to measure and access memory in computing, and the most fundamental representation of a number<ref>[[w:Byte]]</ref>. Having it be defined upon a natural number type is also coherent: a byte represents a single value in the range 0-255, and is represented as a number in other programming languages<ref>[[Wikifunctions:Type proposals/Byte#Python]] The most idiomatic conversion in Python is to convert a Wikifunctions Byte to a Python int.</ref><ref>[[Wikifunctions:Type proposals/Byte#JavaScript]] The most idiomatic conversion in JavaScript is to convert a Wikifunctions Byte to a JavaScript number.</ref>. Hence, we argue that it is not coherent for {{Z|13518}} to not be a built-in. Having a built-in natural number type means that we can keep the preferred representation of having a byte's value stored as a number without breaking the hierarchy of built-ins and non-built-ins. === Arithmetic in the composition language === The [[Wikifunctions:Glossary#composition|composition]] language, while slow, is the most portable, abstract [[WF:PROG|programming language available on Wikifunctions]]. It defines functions as composition of other functions, which has multiple advantages: * It is language agnostic. As Wikifunctions renders the composed function calls using the localized function labels, a composition implementation can be read entirely in the user's chosen language, given that the required labels are present. On the contrary, code implementations rely on English keywords<ref>See the [https://docs.python.org/3/reference/lexical_analysis.html#keywords list of Python keywords] and the [https://tc39.es/ecma262/#prod-ReservedWord ECMAScript list of reserved keywords].</ref> and can have inner variable or function names in any language that are not localized. * It is portable and entirely defined within the scope of the Wikifunctions project, without relying on external specifications and implementations such as with code implementations. * It serves as a well-understood formalism and a very simple implementation of a function in order to ensure that the other implementations of it are correct<ref>[[Wikifunctions:Function model#Composition]] it allows us to use a well-understood formalism and a very simple implementation of it in order to ensure that the other implementations of Z781/add are correct</ref>. Composition implementations are considered "defining implementations" and are used alongside faster, optimized, but harder to comprehend code implementations. Ideally, all functions should have an implementation as a composition, or an implementaion as composition of functions which are themselves a composition of built-in, etc. This allows a proper clear definition of all functions, independently of their implementations technicalities. In its current state, however, all arithmetic functions on Wikifunctions lack such a composition implementation. Let us take a look at {{Z|13521}} for example: all of its composition implementations end up calling {{Z|13578}}, whose only composition implementation relies back on {{Z|13521}}. This is coherent: given that there is no built-in number type, there is also no built-in numeric operation. But this also implies that none of the [[Wikifunctions:Catalogue/Number operations|many number operations]] on Wikifunctions have a proper, well-defined implementation as composition of built-ins. ==== Lessons ==== Looking at [[Wikifunctions:Catalogue]] reveals that many of the functions on this website are related to arithmetic and mathematics, and hence operate on numbers. Having a built-in number type allows the creation of composition implementations for all those functions, proper, well-defined implementations as composition of built-ins. Given that composition is the language of Wikifunctions, it being incapable of representing most of its functions is incoherent. == Proposal == As we said multiple times over the course of the previous section, we propose the creation of two new built-in types for numbers. === Current situation === Per the numeric type hierarchy found at [[Template:Type documentation]], we can identify two different type of number types: * Integers, such as {{Z|80}}, {{Z|13518}}, or {{Z|19677}} (which is a pair of integers). These are usually unbounded. Most of them end up depending on {{Z|13518}}. * Floating point numbers, such as {{Z|20838}}, or {{Z|33198}} (which is a pair of floating point numbers). These follow the IEEE 754 standard, which means they are bounded and have a limited precision. The parent for these types is {{Z|20838}}. The only built-in type among these is {{Z|80}}, but as said before, it relies on a non-built-in internal representation. === Proposed change === * Adding a built-in integer type. * Adding a built-in IEEE 754 floating point type. * Adding built-in functions to manipulate these two types. ==== Advantages ==== * Type hierarchy issues about {{Z|80}} depending on non-built-ins are fixed: it now depends on another built-in. It also improves the overall hierarchy, where all number types can be defined upon these two built-ins. This could come in useful for later optimizations (for example, reprensenting numbers without going through conversion to string). * We can have composition implementations for all mathematical and arithmetic functions, since these are now built-in types they can have built-in functions to work with them. ==== Further views ==== Currently, Wikifunctions only has two terminal types: {{Z|9}} and {{Z|6}}. This means that all types in Wikifunctions end up being represented as strings. Having built-in numbers opens the possibility for later software changes: for example, representing them internally and in the JSON as numbers. Considering the many performance issues of Wikifunctions, this could be interesting in a not-so-far future. According to the [[Wikifunctions:About|Wikifunctions Mission statement]], we should "Imagine a programming system that allows us to make the next big leap in knowledge representation". Representing something as fundamental as numbers is definitely essential, further renforcing the need for an endorsed built-in number type. Wikifunctions also aims "to create both a well-defined common catalog of functions that can be widely reused and an environment where functions can be quickly combined and executed on the fly"; arithmetic operations and mathematical computations are one of the most common type of functions, and should therefore benefit from first-class support. == Implementation == === Integer type === There are multiple options regarding which integer type should be made built-in: # The {{Z|80}} type, the only integer type which is bounded. # The {{Z|13518}} type, which most integer types rely on at the moment. # The {{Z|16683}} type. We can look at what Python and ECMAScript do for further inspiration: * Python has an <syntaxhighlight lang="python" inline>int</syntaxhighlight> type for representing integers; it is signed and unbounded. * ECMAScript has a <syntaxhighlight lang="python" inline>BigInt</syntaxhighlight> type for representing integers; it is signed and unbounded too. Considering these, we decided to go with {{Z|16683}} for our integer type. * {{Z|80}} can be defined by having the validator ensure it is within the 0-255 range. * {{Z|13518}} can be defined by having the validator ensure it is a non-negatuve integer. Given this, we can have efficient type converters from and to programming language types, with the added bonus of having all possible values be valid (e.g., if a Python function returns an int, it can always be converted to a valid {{Z|16683}}, unlike {{Z|13518}} which wouldn't support negative numbers). === Floating-point type === We propose to make the {{Z|20838}} type built-in. The IEEE 754 standard for floating point numbers is the ideal representation: it is a reference standard that has already been adopted on Wikifunctions. In its current implementation following [[Wikifunctions:Type proposals/float64]], it does however require quite a few different types: * The {{Z|16659}} enumeration (3 members) * The {{Z|20825}} enumeration (8 members) * Both a natural number and an integer type Our options at the moment are: # Turn all those types into built-ins # Change the internal representation of float64 Considering the need for performant functions, we propose having a different float 64 type whose value is an hexadecimal string representing the raw IEEE 754 byte representation. ==== Converters ==== [[w:Endianness|Big Endian]] was chosen arbitrarly. ===== JavaScript ===== The ECMAScript <syntaxhighlight lang="javascript" inline>DataView</syntaxhighlight> offers the required functions to access the raw bytes of a floating point number and format them as hexadecimal: <syntaxhighlight lang="javascript"> function fromNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setFloat64(0, num, true); return view.getBigUint64(0, true).toString(16); } </syntaxhighlight> Converting an hexadecimal string back into a floating point number is trivial now: <syntaxhighlight lang="javascript"> function toNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setBigUint64(0, BigInt(`0x${num}`), true); return view.getFloat64(0, true); } </syntaxhighlight> ===== Python ===== We have to use the <code>struct</code> module in order to access a floating point number's bytes: <syntaxhighlight lang="python"> import struct def fromNumber(num: float) -> str: return struct.pack('<d', 666.67).hex() </syntaxhighlight> The reverse operation, converting hexadecimal bytes back into a floating point number, is trivial too: <syntaxhighlight lang="python"> import struct def toNumber(num: str) -> float: return struct.unpack('<d', bytes.fromhex("4084d55c28f5c28f"))[0] </syntaxhighlight> === ZIDs === This proposal includes the creation of multiple new ZObjects, all of which require a statically assigned ZID. In [[Wikifunctions:Function model|the function model documentation]], functions in the range Z700-Z799 are used as sample arithmetic functions. Since many new built-in functions will be included in this proposal, having a dedicated range for them is coherent and avoids taking too much space in the previously used Z800-Z899 space. To remain coherent with this idea, new core types will be put in the Z70-Z79 range, which is coincidentally free. The IEEE 754 standard includes many operations that a system needs to implement to be considered conformant. The Z7000 range could be used for those, as there is more than a hundred of them. == Specifications == === Integers === ==== Summary ==== {{void|Short overview of the idea of this Type}} We propose the creation of a new type, named '''integer'''. It is part of the wider proposal to add two new built-in types for numbers. This type would be a built-in type whose ZID is in the 0-99 range. We propose Z70, as functions in the Z700-Z799 range are numeric operations. '''Integer''' is similar to the existing {{Z|16683}}, but there are some differences regarding its internal representation. ==== Uses ==== {{void|Prompts: * Why should this exist? * What kinds of functions would be created using this? * What standard concepts, if any, does this align with?}} There are many types built on top of an integer type on Wikifunctions: {{Z|80}}, {{Z|13518}}, {{Z|19677}}... Having them all defined relatively to one standard built-in type improves the type hierarchy, allows further optimisations in the future, and fixes issues regarding built-in dependence on non built-ins. Integers are then used throughout Wikifunctions, wether for mathematical operations or for other uses (such as getting the length of a list). This new built-in type allows us to have composition of built-ins implementaions for all those functions. ==== Structure ==== {{void|Description of how a value of this type would look like and why}} This type has a single key, value (Z70K1), whose type is {{Z|6}}. This key holds a big endian lowercase hexadecimal representation of the number described. The string is preceded by a single minus character <code>-</code> if the number is negative. Note that <code>-0</code> is not a valid value. This format was chosen because it is well supported by both available programming languages and should have rather good performance, as hexadecimal notation is close to how numbers are represented in the computer's memory. ===== Example values ===== Here is how the number <code>666</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "integer", "value": "29a" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z70", "Z70K1": "29a" }</syntaxhighlight> |} And here is how its opposite <code>-666</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "integer", "value": "-29a" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z70", "Z70K1": "-29a" }</syntaxhighlight> |} ==== Identity ==== Two integers are equal if and only if their hexadecimal representations are equal. ==== Converting to code ==== ===== Python ===== <syntaxhighlight lang="python"> def deserialize(Z70K1: str) -> int: return int(Z70K1, 16) </syntaxhighlight> <syntaxhighlight lang="python"> def serialize(integer: int) -> str: return f"{integer:x}" </syntaxhighlight> ===== JavaScript ===== <syntaxhighlight lang="javascript"> function deserialize(Z70K1) { if (Z70K1.startsWith("-")) { return -BigInt(`0x${Z70K1.slice(1)}`); } return BigInt(`0x${Z70K1}`); } </syntaxhighlight> <syntaxhighlight lang="javascript"> function serialize(big_int) { return big_int.toString(16); } </syntaxhighlight> ==== Display function ==== {{void|How would a value of this type be displayed on Wikifunctions. Remove this section for types that should not be displayed as a string.}} Integers should be displayed as localized numbers. For example, a French user would see <code>678910</code> as 678 910 while an American user might see 678,910. ==== Read function ==== {{void|When entering a value for this type as a string, what format should that string have? Remove this section for types that should not be entered as a string.}} The input should be interpreted as a either localized number in the user's language, or as a standard decimal number (without separators). ==== Alternatives ==== {{void|In order to capture the idea presented in the summary, what alternative structures, display functions, read functions, etc. could have made sense too? Please also link to any type proposals that "compete" with this one.}} # Having a separate Sign key in the type, but that would imply making Sign built-in too and would make conversion slower. ==== Comments ==== ''For general comments, please reply to the proposer.'' * {{s}} as proposer. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 09:20, 15 August 2026 (UTC) === Floating point numbers === ==== Summary ==== {{void|Short overview of the idea of this Type}} We propose the creation of a new type, named '''floating point number'''. It is part of the wider proposal to add two new built-in types for numbers. This type would be a built-in type whose ZID is in the 0-99 range. We propose Z71, as arithmetic functions occupy the Z700-Z999 range. The name '''floating point number''' has be chosen to differentiate this type from {{Z|20838}}. The internal representation used is different: while {{Z|20838}} stores each part of an IEEE 754 floating point number separately, '''floating point number''' simply stores the bytes as hexadecimal in a {{Z|6}} key. ==== Uses ==== {{void|Prompts: * Why should this exist? * What kinds of functions would be created using this? * What standard concepts, if any, does this align with?}} {{Z|20838}} is already a widely used type<ref>[[Special:WhatLinksHere/Z20838]] returns more than 500 items.</ref>, this proposal simply turns it into a built-in type. The different representation allows faster performance for complex composed functions. Its new built-in nature also permits the creation of built-in functions operating on floating point number, and then permit the creation of pure composition mathematical operations. This aligns with the standard concept of representing numbers; in that case, real numbers are approximated by floating point numbers. The international widely recoginzed IEEE 754 format is used as it has first-class support in code implementations. ==== Structure ==== {{void|Description of how a value of this type would look like and why}} This type has a single key, value (Z71K1), whose type is {{Z|6}}. This key holds a little-endian IEEE 754 number, whose bytes are reprsesented as hexadecimal. This was done for performance reasons: most operations do not work with individual components of the floating point number, but rather with the number as a whole. It also avoids having to make two new enumerations builtin for the sign and special value. ===== Example values ===== Here is how the number <code>666.67</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "floating point number", "value": "8fc2f5285cd58440" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z71", "Z71K1": "8fc2f5285cd58440" }</syntaxhighlight> |} ==== Identity ==== Two floating point numbers are the same if the subtraction of their values (Z71K1) is equal to zero. The special case where either is equal to NaN means that they are not equal, even if both are NaN. ==== Converting to code ==== ===== Python ===== <syntaxhighlight lang="python"> import struct def fromNumber(num: float) -> str: return struct.pack('<d', num).hex() </syntaxhighlight> <syntaxhighlight lang="python"> import struct def toNumber(num: str) -> float: return struct.unpack('<d', bytes.fromhex(num))[0] </syntaxhighlight> ===== JavaScript ===== <syntaxhighlight lang="javascript"> function fromNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setFloat64(0, num, true); return view.getBigUint64(0, true).toString(16); } </syntaxhighlight> <syntaxhighlight lang="javascript"> function toNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setBigUint64(0, BigInt(`0x${num}`), true); return view.getFloat64(0, true); } </syntaxhighlight> ==== Display function ==== {{void|How would a value of this type be displayed on Wikifunctions. Remove this section for types that should not be displayed as a string.}} The cleanest way to display floating point numbers is using the localized number system. For example, a French user could have the sample number shown above displayed to them as <code>666,67</code>, while an user from the USA could see <code>666.67</code>. A Latin user might see <code>DCLXVI.LXVII</code>. ==== Read function ==== {{void|When entering a value for this type as a string, what format should that string have? Remove this section for types that should not be entered as a string.}} The input should be interpreted as a localized number in the user's language and then parsed into its IEEE 754 representation. ==== Alternatives ==== {{void|In order to capture the idea presented in the summary, what alternative structures, display functions, read functions, etc. could have made sense too? Please also link to any type proposals that "compete" with this one.}} # Using the existing float64 type structure, where each part has its own key. ==== Comments ==== ''For general comments, please reply to the proposer.'' * {{s}} as proposer. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 07:04, 15 August 2026 (UTC) == Discussion == '''We are aware that what we propose are major breaking changes that could take time and effort to implement.''' We believe that, as its own programming system, Wikifunctions ''needs'' first-class support for a concept as fundamental as numbers; and that this proposal will make further work with numbers easier while opening the door to further improvements. We submit this first proposal for the community to discuss it and to get advice regarding its implementation if it is approved. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 09:36, 15 August 2026 (UTC) g94icuvv73ccbf3gd746cnr6uy806my 299634 299632 2026-08-15T13:04:46Z Virinas-code 2884 /* Uses */ Typo: wether -> whether 299634 wikitext text/x-wiki '''This is a work in progress draft which is not ready for community submission yet.''' == Issues == === Regarding {{Z|80}} === {{Z|80}} is a {{Z|4}} with a single key: value (Z80K1), which is of type {{Z|13518}}. While {{Z|80}} is a built-in core type with an ID in the <code>Z1</code>--<code>Z99</code> range<ref>[[Wikifunctions:Reserved ZIDs#Ranges]] <code>Z1</code> – <code>Z99</code>: core types.</ref>, {{Z|13518}} is not. Given that {{Z|80}} is pre-defined in the system<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata A number of ZObjects are pre-defined for the Wikifunctions system, and used by the WikiLambda MediaWiki extension as well as the function-orchestrator (and through that, the function-evaluator).</ref><ref name="Z80 initial">[[Special:PermanentLink/32]] Revision as of 2023-07-26T18:29:41 by [[User:WikiLambda system|WikiLambda system]] ''(Initial pre-defined WikiLambda content creation)''</ref>, having it depend on the later defined {{Z|13518}} is problematic. It should be noted that, initially, a byte's value was stored as a {{Z|6}}<ref name="Z80 initial" />, one of the core builtin types of Wikifunctions. It is also still a {{Z|6}} in the [https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata function-schemata]<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata/-/blob/main/data/CANONICAL/Z80.yaml <syntaxhighlight lang="yaml"> Z80K1: $ref: "#/definitions/objects/Z6_byte" </syntaxhighlight></ref>, which aims to provide a "single version of the truth" regarding what counts as a valid ZObject<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata shared set of JSON schemata for the Wikifunctions project, to achieve a "single version of the truth" on what counts as a structurally valid ZObject, and provide shared utility code</ref>. {{Z|80}} was changed to use {{Z|13518}} following [[Wikifunctions:Type proposals/Byte]]<ref>[[Wikifunctions:Type proposals/Byte#Alternatives]] The current proposal is Option 3 in the following list of Alternatives. (Option 3) A byte consists of one key that represents the value of the byte. The value is of type natural number, and has to be between the values of 0 and 255, including the edges.</ref>. This proposal highlights the lack of proper support for the {{Z|80}} type when it was defined upon {{Z|6}}, especially regarding code converters. This proposal added two type converters for JavaScript and Python where {{Z|80}} objects would get converted into Python <syntaxhighlight lang="python" inline>int</syntaxhighlight> and JavaScript <syntaxhighlight lang="javascript" inline>Number</syntaxhighlight>. Accordingly, the value's type was changed to {{Z|13518}}. ==== Lessons ==== Having {{Z|80}} be a built-in type is coherent: it is the fundamental unit used to measure and access memory in computing, and the most fundamental representation of a number<ref>[[w:Byte]]</ref>. Having it be defined upon a natural number type is also coherent: a byte represents a single value in the range 0-255, and is represented as a number in other programming languages<ref>[[Wikifunctions:Type proposals/Byte#Python]] The most idiomatic conversion in Python is to convert a Wikifunctions Byte to a Python int.</ref><ref>[[Wikifunctions:Type proposals/Byte#JavaScript]] The most idiomatic conversion in JavaScript is to convert a Wikifunctions Byte to a JavaScript number.</ref>. Hence, we argue that it is not coherent for {{Z|13518}} to not be a built-in. Having a built-in natural number type means that we can keep the preferred representation of having a byte's value stored as a number without breaking the hierarchy of built-ins and non-built-ins. === Arithmetic in the composition language === The [[Wikifunctions:Glossary#composition|composition]] language, while slow, is the most portable, abstract [[WF:PROG|programming language available on Wikifunctions]]. It defines functions as composition of other functions, which has multiple advantages: * It is language agnostic. As Wikifunctions renders the composed function calls using the localized function labels, a composition implementation can be read entirely in the user's chosen language, given that the required labels are present. On the contrary, code implementations rely on English keywords<ref>See the [https://docs.python.org/3/reference/lexical_analysis.html#keywords list of Python keywords] and the [https://tc39.es/ecma262/#prod-ReservedWord ECMAScript list of reserved keywords].</ref> and can have inner variable or function names in any language that are not localized. * It is portable and entirely defined within the scope of the Wikifunctions project, without relying on external specifications and implementations such as with code implementations. * It serves as a well-understood formalism and a very simple implementation of a function in order to ensure that the other implementations of it are correct<ref>[[Wikifunctions:Function model#Composition]] it allows us to use a well-understood formalism and a very simple implementation of it in order to ensure that the other implementations of Z781/add are correct</ref>. Composition implementations are considered "defining implementations" and are used alongside faster, optimized, but harder to comprehend code implementations. Ideally, all functions should have an implementation as a composition, or an implementaion as composition of functions which are themselves a composition of built-in, etc. This allows a proper clear definition of all functions, independently of their implementations technicalities. In its current state, however, all arithmetic functions on Wikifunctions lack such a composition implementation. Let us take a look at {{Z|13521}} for example: all of its composition implementations end up calling {{Z|13578}}, whose only composition implementation relies back on {{Z|13521}}. This is coherent: given that there is no built-in number type, there is also no built-in numeric operation. But this also implies that none of the [[Wikifunctions:Catalogue/Number operations|many number operations]] on Wikifunctions have a proper, well-defined implementation as composition of built-ins. ==== Lessons ==== Looking at [[Wikifunctions:Catalogue]] reveals that many of the functions on this website are related to arithmetic and mathematics, and hence operate on numbers. Having a built-in number type allows the creation of composition implementations for all those functions, proper, well-defined implementations as composition of built-ins. Given that composition is the language of Wikifunctions, it being incapable of representing most of its functions is incoherent. == Proposal == As we said multiple times over the course of the previous section, we propose the creation of two new built-in types for numbers. === Current situation === Per the numeric type hierarchy found at [[Template:Type documentation]], we can identify two different type of number types: * Integers, such as {{Z|80}}, {{Z|13518}}, or {{Z|19677}} (which is a pair of integers). These are usually unbounded. Most of them end up depending on {{Z|13518}}. * Floating point numbers, such as {{Z|20838}}, or {{Z|33198}} (which is a pair of floating point numbers). These follow the IEEE 754 standard, which means they are bounded and have a limited precision. The parent for these types is {{Z|20838}}. The only built-in type among these is {{Z|80}}, but as said before, it relies on a non-built-in internal representation. === Proposed change === * Adding a built-in integer type. * Adding a built-in IEEE 754 floating point type. * Adding built-in functions to manipulate these two types. ==== Advantages ==== * Type hierarchy issues about {{Z|80}} depending on non-built-ins are fixed: it now depends on another built-in. It also improves the overall hierarchy, where all number types can be defined upon these two built-ins. This could come in useful for later optimizations (for example, reprensenting numbers without going through conversion to string). * We can have composition implementations for all mathematical and arithmetic functions, since these are now built-in types they can have built-in functions to work with them. ==== Further views ==== Currently, Wikifunctions only has two terminal types: {{Z|9}} and {{Z|6}}. This means that all types in Wikifunctions end up being represented as strings. Having built-in numbers opens the possibility for later software changes: for example, representing them internally and in the JSON as numbers. Considering the many performance issues of Wikifunctions, this could be interesting in a not-so-far future. According to the [[Wikifunctions:About|Wikifunctions Mission statement]], we should "Imagine a programming system that allows us to make the next big leap in knowledge representation". Representing something as fundamental as numbers is definitely essential, further renforcing the need for an endorsed built-in number type. Wikifunctions also aims "to create both a well-defined common catalog of functions that can be widely reused and an environment where functions can be quickly combined and executed on the fly"; arithmetic operations and mathematical computations are one of the most common type of functions, and should therefore benefit from first-class support. == Implementation == === Integer type === There are multiple options regarding which integer type should be made built-in: # The {{Z|80}} type, the only integer type which is bounded. # The {{Z|13518}} type, which most integer types rely on at the moment. # The {{Z|16683}} type. We can look at what Python and ECMAScript do for further inspiration: * Python has an <syntaxhighlight lang="python" inline>int</syntaxhighlight> type for representing integers; it is signed and unbounded. * ECMAScript has a <syntaxhighlight lang="python" inline>BigInt</syntaxhighlight> type for representing integers; it is signed and unbounded too. Considering these, we decided to go with {{Z|16683}} for our integer type. * {{Z|80}} can be defined by having the validator ensure it is within the 0-255 range. * {{Z|13518}} can be defined by having the validator ensure it is a non-negatuve integer. Given this, we can have efficient type converters from and to programming language types, with the added bonus of having all possible values be valid (e.g., if a Python function returns an int, it can always be converted to a valid {{Z|16683}}, unlike {{Z|13518}} which wouldn't support negative numbers). === Floating-point type === We propose to make the {{Z|20838}} type built-in. The IEEE 754 standard for floating point numbers is the ideal representation: it is a reference standard that has already been adopted on Wikifunctions. In its current implementation following [[Wikifunctions:Type proposals/float64]], it does however require quite a few different types: * The {{Z|16659}} enumeration (3 members) * The {{Z|20825}} enumeration (8 members) * Both a natural number and an integer type Our options at the moment are: # Turn all those types into built-ins # Change the internal representation of float64 Considering the need for performant functions, we propose having a different float 64 type whose value is an hexadecimal string representing the raw IEEE 754 byte representation. ==== Converters ==== [[w:Endianness|Big Endian]] was chosen arbitrarly. ===== JavaScript ===== The ECMAScript <syntaxhighlight lang="javascript" inline>DataView</syntaxhighlight> offers the required functions to access the raw bytes of a floating point number and format them as hexadecimal: <syntaxhighlight lang="javascript"> function fromNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setFloat64(0, num, true); return view.getBigUint64(0, true).toString(16); } </syntaxhighlight> Converting an hexadecimal string back into a floating point number is trivial now: <syntaxhighlight lang="javascript"> function toNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setBigUint64(0, BigInt(`0x${num}`), true); return view.getFloat64(0, true); } </syntaxhighlight> ===== Python ===== We have to use the <code>struct</code> module in order to access a floating point number's bytes: <syntaxhighlight lang="python"> import struct def fromNumber(num: float) -> str: return struct.pack('<d', 666.67).hex() </syntaxhighlight> The reverse operation, converting hexadecimal bytes back into a floating point number, is trivial too: <syntaxhighlight lang="python"> import struct def toNumber(num: str) -> float: return struct.unpack('<d', bytes.fromhex("4084d55c28f5c28f"))[0] </syntaxhighlight> === ZIDs === This proposal includes the creation of multiple new ZObjects, all of which require a statically assigned ZID. In [[Wikifunctions:Function model|the function model documentation]], functions in the range Z700-Z799 are used as sample arithmetic functions. Since many new built-in functions will be included in this proposal, having a dedicated range for them is coherent and avoids taking too much space in the previously used Z800-Z899 space. To remain coherent with this idea, new core types will be put in the Z70-Z79 range, which is coincidentally free. The IEEE 754 standard includes many operations that a system needs to implement to be considered conformant. The Z7000 range could be used for those, as there is more than a hundred of them. == Specifications == === Integers === ==== Summary ==== {{void|Short overview of the idea of this Type}} We propose the creation of a new type, named '''integer'''. It is part of the wider proposal to add two new built-in types for numbers. This type would be a built-in type whose ZID is in the 0-99 range. We propose Z70, as functions in the Z700-Z799 range are numeric operations. '''Integer''' is similar to the existing {{Z|16683}}, but there are some differences regarding its internal representation. ==== Uses ==== {{void|Prompts: * Why should this exist? * What kinds of functions would be created using this? * What standard concepts, if any, does this align with?}} There are many types built on top of an integer type on Wikifunctions: {{Z|80}}, {{Z|13518}}, {{Z|19677}}... Having them all defined relatively to one standard built-in type improves the type hierarchy, allows further optimisations in the future, and fixes issues regarding built-in dependence on non built-ins. Integers are then used throughout Wikifunctions, whether for mathematical operations or for other uses (such as getting the length of a list). This new built-in type allows us to have composition of built-ins implementaions for all those functions. ==== Structure ==== {{void|Description of how a value of this type would look like and why}} This type has a single key, value (Z70K1), whose type is {{Z|6}}. This key holds a big endian lowercase hexadecimal representation of the number described. The string is preceded by a single minus character <code>-</code> if the number is negative. Note that <code>-0</code> is not a valid value. This format was chosen because it is well supported by both available programming languages and should have rather good performance, as hexadecimal notation is close to how numbers are represented in the computer's memory. ===== Example values ===== Here is how the number <code>666</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "integer", "value": "29a" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z70", "Z70K1": "29a" }</syntaxhighlight> |} And here is how its opposite <code>-666</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "integer", "value": "-29a" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z70", "Z70K1": "-29a" }</syntaxhighlight> |} ==== Identity ==== Two integers are equal if and only if their hexadecimal representations are equal. ==== Converting to code ==== ===== Python ===== <syntaxhighlight lang="python"> def deserialize(Z70K1: str) -> int: return int(Z70K1, 16) </syntaxhighlight> <syntaxhighlight lang="python"> def serialize(integer: int) -> str: return f"{integer:x}" </syntaxhighlight> ===== JavaScript ===== <syntaxhighlight lang="javascript"> function deserialize(Z70K1) { if (Z70K1.startsWith("-")) { return -BigInt(`0x${Z70K1.slice(1)}`); } return BigInt(`0x${Z70K1}`); } </syntaxhighlight> <syntaxhighlight lang="javascript"> function serialize(big_int) { return big_int.toString(16); } </syntaxhighlight> ==== Display function ==== {{void|How would a value of this type be displayed on Wikifunctions. Remove this section for types that should not be displayed as a string.}} Integers should be displayed as localized numbers. For example, a French user would see <code>678910</code> as 678 910 while an American user might see 678,910. ==== Read function ==== {{void|When entering a value for this type as a string, what format should that string have? Remove this section for types that should not be entered as a string.}} The input should be interpreted as a either localized number in the user's language, or as a standard decimal number (without separators). ==== Alternatives ==== {{void|In order to capture the idea presented in the summary, what alternative structures, display functions, read functions, etc. could have made sense too? Please also link to any type proposals that "compete" with this one.}} # Having a separate Sign key in the type, but that would imply making Sign built-in too and would make conversion slower. ==== Comments ==== ''For general comments, please reply to the proposer.'' * {{s}} as proposer. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 09:20, 15 August 2026 (UTC) === Floating point numbers === ==== Summary ==== {{void|Short overview of the idea of this Type}} We propose the creation of a new type, named '''floating point number'''. It is part of the wider proposal to add two new built-in types for numbers. This type would be a built-in type whose ZID is in the 0-99 range. We propose Z71, as arithmetic functions occupy the Z700-Z999 range. The name '''floating point number''' has be chosen to differentiate this type from {{Z|20838}}. The internal representation used is different: while {{Z|20838}} stores each part of an IEEE 754 floating point number separately, '''floating point number''' simply stores the bytes as hexadecimal in a {{Z|6}} key. ==== Uses ==== {{void|Prompts: * Why should this exist? * What kinds of functions would be created using this? * What standard concepts, if any, does this align with?}} {{Z|20838}} is already a widely used type<ref>[[Special:WhatLinksHere/Z20838]] returns more than 500 items.</ref>, this proposal simply turns it into a built-in type. The different representation allows faster performance for complex composed functions. Its new built-in nature also permits the creation of built-in functions operating on floating point number, and then permit the creation of pure composition mathematical operations. This aligns with the standard concept of representing numbers; in that case, real numbers are approximated by floating point numbers. The international widely recoginzed IEEE 754 format is used as it has first-class support in code implementations. ==== Structure ==== {{void|Description of how a value of this type would look like and why}} This type has a single key, value (Z71K1), whose type is {{Z|6}}. This key holds a little-endian IEEE 754 number, whose bytes are reprsesented as hexadecimal. This was done for performance reasons: most operations do not work with individual components of the floating point number, but rather with the number as a whole. It also avoids having to make two new enumerations builtin for the sign and special value. ===== Example values ===== Here is how the number <code>666.67</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "floating point number", "value": "8fc2f5285cd58440" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z71", "Z71K1": "8fc2f5285cd58440" }</syntaxhighlight> |} ==== Identity ==== Two floating point numbers are the same if the subtraction of their values (Z71K1) is equal to zero. The special case where either is equal to NaN means that they are not equal, even if both are NaN. ==== Converting to code ==== ===== Python ===== <syntaxhighlight lang="python"> import struct def fromNumber(num: float) -> str: return struct.pack('<d', num).hex() </syntaxhighlight> <syntaxhighlight lang="python"> import struct def toNumber(num: str) -> float: return struct.unpack('<d', bytes.fromhex(num))[0] </syntaxhighlight> ===== JavaScript ===== <syntaxhighlight lang="javascript"> function fromNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setFloat64(0, num, true); return view.getBigUint64(0, true).toString(16); } </syntaxhighlight> <syntaxhighlight lang="javascript"> function toNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setBigUint64(0, BigInt(`0x${num}`), true); return view.getFloat64(0, true); } </syntaxhighlight> ==== Display function ==== {{void|How would a value of this type be displayed on Wikifunctions. Remove this section for types that should not be displayed as a string.}} The cleanest way to display floating point numbers is using the localized number system. For example, a French user could have the sample number shown above displayed to them as <code>666,67</code>, while an user from the USA could see <code>666.67</code>. A Latin user might see <code>DCLXVI.LXVII</code>. ==== Read function ==== {{void|When entering a value for this type as a string, what format should that string have? Remove this section for types that should not be entered as a string.}} The input should be interpreted as a localized number in the user's language and then parsed into its IEEE 754 representation. ==== Alternatives ==== {{void|In order to capture the idea presented in the summary, what alternative structures, display functions, read functions, etc. could have made sense too? Please also link to any type proposals that "compete" with this one.}} # Using the existing float64 type structure, where each part has its own key. ==== Comments ==== ''For general comments, please reply to the proposer.'' * {{s}} as proposer. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 07:04, 15 August 2026 (UTC) == Discussion == '''We are aware that what we propose are major breaking changes that could take time and effort to implement.''' We believe that, as its own programming system, Wikifunctions ''needs'' first-class support for a concept as fundamental as numbers; and that this proposal will make further work with numbers easier while opening the door to further improvements. We submit this first proposal for the community to discuss it and to get advice regarding its implementation if it is approved. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 09:36, 15 August 2026 (UTC) eb78cu6cugd4pf6n994je0tc94uxuzi 299635 299634 2026-08-15T13:05:56Z Virinas-code 2884 /* Uses */ We do not have a good type hierarchy yet 299635 wikitext text/x-wiki '''This is a work in progress draft which is not ready for community submission yet.''' == Issues == === Regarding {{Z|80}} === {{Z|80}} is a {{Z|4}} with a single key: value (Z80K1), which is of type {{Z|13518}}. While {{Z|80}} is a built-in core type with an ID in the <code>Z1</code>--<code>Z99</code> range<ref>[[Wikifunctions:Reserved ZIDs#Ranges]] <code>Z1</code> – <code>Z99</code>: core types.</ref>, {{Z|13518}} is not. Given that {{Z|80}} is pre-defined in the system<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata A number of ZObjects are pre-defined for the Wikifunctions system, and used by the WikiLambda MediaWiki extension as well as the function-orchestrator (and through that, the function-evaluator).</ref><ref name="Z80 initial">[[Special:PermanentLink/32]] Revision as of 2023-07-26T18:29:41 by [[User:WikiLambda system|WikiLambda system]] ''(Initial pre-defined WikiLambda content creation)''</ref>, having it depend on the later defined {{Z|13518}} is problematic. It should be noted that, initially, a byte's value was stored as a {{Z|6}}<ref name="Z80 initial" />, one of the core builtin types of Wikifunctions. It is also still a {{Z|6}} in the [https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata function-schemata]<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata/-/blob/main/data/CANONICAL/Z80.yaml <syntaxhighlight lang="yaml"> Z80K1: $ref: "#/definitions/objects/Z6_byte" </syntaxhighlight></ref>, which aims to provide a "single version of the truth" regarding what counts as a valid ZObject<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata shared set of JSON schemata for the Wikifunctions project, to achieve a "single version of the truth" on what counts as a structurally valid ZObject, and provide shared utility code</ref>. {{Z|80}} was changed to use {{Z|13518}} following [[Wikifunctions:Type proposals/Byte]]<ref>[[Wikifunctions:Type proposals/Byte#Alternatives]] The current proposal is Option 3 in the following list of Alternatives. (Option 3) A byte consists of one key that represents the value of the byte. The value is of type natural number, and has to be between the values of 0 and 255, including the edges.</ref>. This proposal highlights the lack of proper support for the {{Z|80}} type when it was defined upon {{Z|6}}, especially regarding code converters. This proposal added two type converters for JavaScript and Python where {{Z|80}} objects would get converted into Python <syntaxhighlight lang="python" inline>int</syntaxhighlight> and JavaScript <syntaxhighlight lang="javascript" inline>Number</syntaxhighlight>. Accordingly, the value's type was changed to {{Z|13518}}. ==== Lessons ==== Having {{Z|80}} be a built-in type is coherent: it is the fundamental unit used to measure and access memory in computing, and the most fundamental representation of a number<ref>[[w:Byte]]</ref>. Having it be defined upon a natural number type is also coherent: a byte represents a single value in the range 0-255, and is represented as a number in other programming languages<ref>[[Wikifunctions:Type proposals/Byte#Python]] The most idiomatic conversion in Python is to convert a Wikifunctions Byte to a Python int.</ref><ref>[[Wikifunctions:Type proposals/Byte#JavaScript]] The most idiomatic conversion in JavaScript is to convert a Wikifunctions Byte to a JavaScript number.</ref>. Hence, we argue that it is not coherent for {{Z|13518}} to not be a built-in. Having a built-in natural number type means that we can keep the preferred representation of having a byte's value stored as a number without breaking the hierarchy of built-ins and non-built-ins. === Arithmetic in the composition language === The [[Wikifunctions:Glossary#composition|composition]] language, while slow, is the most portable, abstract [[WF:PROG|programming language available on Wikifunctions]]. It defines functions as composition of other functions, which has multiple advantages: * It is language agnostic. As Wikifunctions renders the composed function calls using the localized function labels, a composition implementation can be read entirely in the user's chosen language, given that the required labels are present. On the contrary, code implementations rely on English keywords<ref>See the [https://docs.python.org/3/reference/lexical_analysis.html#keywords list of Python keywords] and the [https://tc39.es/ecma262/#prod-ReservedWord ECMAScript list of reserved keywords].</ref> and can have inner variable or function names in any language that are not localized. * It is portable and entirely defined within the scope of the Wikifunctions project, without relying on external specifications and implementations such as with code implementations. * It serves as a well-understood formalism and a very simple implementation of a function in order to ensure that the other implementations of it are correct<ref>[[Wikifunctions:Function model#Composition]] it allows us to use a well-understood formalism and a very simple implementation of it in order to ensure that the other implementations of Z781/add are correct</ref>. Composition implementations are considered "defining implementations" and are used alongside faster, optimized, but harder to comprehend code implementations. Ideally, all functions should have an implementation as a composition, or an implementaion as composition of functions which are themselves a composition of built-in, etc. This allows a proper clear definition of all functions, independently of their implementations technicalities. In its current state, however, all arithmetic functions on Wikifunctions lack such a composition implementation. Let us take a look at {{Z|13521}} for example: all of its composition implementations end up calling {{Z|13578}}, whose only composition implementation relies back on {{Z|13521}}. This is coherent: given that there is no built-in number type, there is also no built-in numeric operation. But this also implies that none of the [[Wikifunctions:Catalogue/Number operations|many number operations]] on Wikifunctions have a proper, well-defined implementation as composition of built-ins. ==== Lessons ==== Looking at [[Wikifunctions:Catalogue]] reveals that many of the functions on this website are related to arithmetic and mathematics, and hence operate on numbers. Having a built-in number type allows the creation of composition implementations for all those functions, proper, well-defined implementations as composition of built-ins. Given that composition is the language of Wikifunctions, it being incapable of representing most of its functions is incoherent. == Proposal == As we said multiple times over the course of the previous section, we propose the creation of two new built-in types for numbers. === Current situation === Per the numeric type hierarchy found at [[Template:Type documentation]], we can identify two different type of number types: * Integers, such as {{Z|80}}, {{Z|13518}}, or {{Z|19677}} (which is a pair of integers). These are usually unbounded. Most of them end up depending on {{Z|13518}}. * Floating point numbers, such as {{Z|20838}}, or {{Z|33198}} (which is a pair of floating point numbers). These follow the IEEE 754 standard, which means they are bounded and have a limited precision. The parent for these types is {{Z|20838}}. The only built-in type among these is {{Z|80}}, but as said before, it relies on a non-built-in internal representation. === Proposed change === * Adding a built-in integer type. * Adding a built-in IEEE 754 floating point type. * Adding built-in functions to manipulate these two types. ==== Advantages ==== * Type hierarchy issues about {{Z|80}} depending on non-built-ins are fixed: it now depends on another built-in. It also improves the overall hierarchy, where all number types can be defined upon these two built-ins. This could come in useful for later optimizations (for example, reprensenting numbers without going through conversion to string). * We can have composition implementations for all mathematical and arithmetic functions, since these are now built-in types they can have built-in functions to work with them. ==== Further views ==== Currently, Wikifunctions only has two terminal types: {{Z|9}} and {{Z|6}}. This means that all types in Wikifunctions end up being represented as strings. Having built-in numbers opens the possibility for later software changes: for example, representing them internally and in the JSON as numbers. Considering the many performance issues of Wikifunctions, this could be interesting in a not-so-far future. According to the [[Wikifunctions:About|Wikifunctions Mission statement]], we should "Imagine a programming system that allows us to make the next big leap in knowledge representation". Representing something as fundamental as numbers is definitely essential, further renforcing the need for an endorsed built-in number type. Wikifunctions also aims "to create both a well-defined common catalog of functions that can be widely reused and an environment where functions can be quickly combined and executed on the fly"; arithmetic operations and mathematical computations are one of the most common type of functions, and should therefore benefit from first-class support. == Implementation == === Integer type === There are multiple options regarding which integer type should be made built-in: # The {{Z|80}} type, the only integer type which is bounded. # The {{Z|13518}} type, which most integer types rely on at the moment. # The {{Z|16683}} type. We can look at what Python and ECMAScript do for further inspiration: * Python has an <syntaxhighlight lang="python" inline>int</syntaxhighlight> type for representing integers; it is signed and unbounded. * ECMAScript has a <syntaxhighlight lang="python" inline>BigInt</syntaxhighlight> type for representing integers; it is signed and unbounded too. Considering these, we decided to go with {{Z|16683}} for our integer type. * {{Z|80}} can be defined by having the validator ensure it is within the 0-255 range. * {{Z|13518}} can be defined by having the validator ensure it is a non-negatuve integer. Given this, we can have efficient type converters from and to programming language types, with the added bonus of having all possible values be valid (e.g., if a Python function returns an int, it can always be converted to a valid {{Z|16683}}, unlike {{Z|13518}} which wouldn't support negative numbers). === Floating-point type === We propose to make the {{Z|20838}} type built-in. The IEEE 754 standard for floating point numbers is the ideal representation: it is a reference standard that has already been adopted on Wikifunctions. In its current implementation following [[Wikifunctions:Type proposals/float64]], it does however require quite a few different types: * The {{Z|16659}} enumeration (3 members) * The {{Z|20825}} enumeration (8 members) * Both a natural number and an integer type Our options at the moment are: # Turn all those types into built-ins # Change the internal representation of float64 Considering the need for performant functions, we propose having a different float 64 type whose value is an hexadecimal string representing the raw IEEE 754 byte representation. ==== Converters ==== [[w:Endianness|Big Endian]] was chosen arbitrarly. ===== JavaScript ===== The ECMAScript <syntaxhighlight lang="javascript" inline>DataView</syntaxhighlight> offers the required functions to access the raw bytes of a floating point number and format them as hexadecimal: <syntaxhighlight lang="javascript"> function fromNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setFloat64(0, num, true); return view.getBigUint64(0, true).toString(16); } </syntaxhighlight> Converting an hexadecimal string back into a floating point number is trivial now: <syntaxhighlight lang="javascript"> function toNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setBigUint64(0, BigInt(`0x${num}`), true); return view.getFloat64(0, true); } </syntaxhighlight> ===== Python ===== We have to use the <code>struct</code> module in order to access a floating point number's bytes: <syntaxhighlight lang="python"> import struct def fromNumber(num: float) -> str: return struct.pack('<d', 666.67).hex() </syntaxhighlight> The reverse operation, converting hexadecimal bytes back into a floating point number, is trivial too: <syntaxhighlight lang="python"> import struct def toNumber(num: str) -> float: return struct.unpack('<d', bytes.fromhex("4084d55c28f5c28f"))[0] </syntaxhighlight> === ZIDs === This proposal includes the creation of multiple new ZObjects, all of which require a statically assigned ZID. In [[Wikifunctions:Function model|the function model documentation]], functions in the range Z700-Z799 are used as sample arithmetic functions. Since many new built-in functions will be included in this proposal, having a dedicated range for them is coherent and avoids taking too much space in the previously used Z800-Z899 space. To remain coherent with this idea, new core types will be put in the Z70-Z79 range, which is coincidentally free. The IEEE 754 standard includes many operations that a system needs to implement to be considered conformant. The Z7000 range could be used for those, as there is more than a hundred of them. == Specifications == === Integers === ==== Summary ==== {{void|Short overview of the idea of this Type}} We propose the creation of a new type, named '''integer'''. It is part of the wider proposal to add two new built-in types for numbers. This type would be a built-in type whose ZID is in the 0-99 range. We propose Z70, as functions in the Z700-Z799 range are numeric operations. '''Integer''' is similar to the existing {{Z|16683}}, but there are some differences regarding its internal representation. ==== Uses ==== {{void|Prompts: * Why should this exist? * What kinds of functions would be created using this? * What standard concepts, if any, does this align with?}} There are many types that could be built on top of an integer type on Wikifunctions: {{Z|80}}, {{Z|13518}}, {{Z|19677}}... Having them all defined relatively to one standard built-in type improves the type hierarchy, allows further optimisations in the future, and fixes issues regarding built-in dependence on non built-ins. Integers are then used throughout Wikifunctions, whether for mathematical operations or for other uses (such as getting the length of a list). This new built-in type allows us to have composition of built-ins implementaions for all those functions. ==== Structure ==== {{void|Description of how a value of this type would look like and why}} This type has a single key, value (Z70K1), whose type is {{Z|6}}. This key holds a big endian lowercase hexadecimal representation of the number described. The string is preceded by a single minus character <code>-</code> if the number is negative. Note that <code>-0</code> is not a valid value. This format was chosen because it is well supported by both available programming languages and should have rather good performance, as hexadecimal notation is close to how numbers are represented in the computer's memory. ===== Example values ===== Here is how the number <code>666</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "integer", "value": "29a" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z70", "Z70K1": "29a" }</syntaxhighlight> |} And here is how its opposite <code>-666</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "integer", "value": "-29a" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z70", "Z70K1": "-29a" }</syntaxhighlight> |} ==== Identity ==== Two integers are equal if and only if their hexadecimal representations are equal. ==== Converting to code ==== ===== Python ===== <syntaxhighlight lang="python"> def deserialize(Z70K1: str) -> int: return int(Z70K1, 16) </syntaxhighlight> <syntaxhighlight lang="python"> def serialize(integer: int) -> str: return f"{integer:x}" </syntaxhighlight> ===== JavaScript ===== <syntaxhighlight lang="javascript"> function deserialize(Z70K1) { if (Z70K1.startsWith("-")) { return -BigInt(`0x${Z70K1.slice(1)}`); } return BigInt(`0x${Z70K1}`); } </syntaxhighlight> <syntaxhighlight lang="javascript"> function serialize(big_int) { return big_int.toString(16); } </syntaxhighlight> ==== Display function ==== {{void|How would a value of this type be displayed on Wikifunctions. Remove this section for types that should not be displayed as a string.}} Integers should be displayed as localized numbers. For example, a French user would see <code>678910</code> as 678 910 while an American user might see 678,910. ==== Read function ==== {{void|When entering a value for this type as a string, what format should that string have? Remove this section for types that should not be entered as a string.}} The input should be interpreted as a either localized number in the user's language, or as a standard decimal number (without separators). ==== Alternatives ==== {{void|In order to capture the idea presented in the summary, what alternative structures, display functions, read functions, etc. could have made sense too? Please also link to any type proposals that "compete" with this one.}} # Having a separate Sign key in the type, but that would imply making Sign built-in too and would make conversion slower. ==== Comments ==== ''For general comments, please reply to the proposer.'' * {{s}} as proposer. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 09:20, 15 August 2026 (UTC) === Floating point numbers === ==== Summary ==== {{void|Short overview of the idea of this Type}} We propose the creation of a new type, named '''floating point number'''. It is part of the wider proposal to add two new built-in types for numbers. This type would be a built-in type whose ZID is in the 0-99 range. We propose Z71, as arithmetic functions occupy the Z700-Z999 range. The name '''floating point number''' has be chosen to differentiate this type from {{Z|20838}}. The internal representation used is different: while {{Z|20838}} stores each part of an IEEE 754 floating point number separately, '''floating point number''' simply stores the bytes as hexadecimal in a {{Z|6}} key. ==== Uses ==== {{void|Prompts: * Why should this exist? * What kinds of functions would be created using this? * What standard concepts, if any, does this align with?}} {{Z|20838}} is already a widely used type<ref>[[Special:WhatLinksHere/Z20838]] returns more than 500 items.</ref>, this proposal simply turns it into a built-in type. The different representation allows faster performance for complex composed functions. Its new built-in nature also permits the creation of built-in functions operating on floating point number, and then permit the creation of pure composition mathematical operations. This aligns with the standard concept of representing numbers; in that case, real numbers are approximated by floating point numbers. The international widely recoginzed IEEE 754 format is used as it has first-class support in code implementations. ==== Structure ==== {{void|Description of how a value of this type would look like and why}} This type has a single key, value (Z71K1), whose type is {{Z|6}}. This key holds a little-endian IEEE 754 number, whose bytes are reprsesented as hexadecimal. This was done for performance reasons: most operations do not work with individual components of the floating point number, but rather with the number as a whole. It also avoids having to make two new enumerations builtin for the sign and special value. ===== Example values ===== Here is how the number <code>666.67</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "floating point number", "value": "8fc2f5285cd58440" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z71", "Z71K1": "8fc2f5285cd58440" }</syntaxhighlight> |} ==== Identity ==== Two floating point numbers are the same if the subtraction of their values (Z71K1) is equal to zero. The special case where either is equal to NaN means that they are not equal, even if both are NaN. ==== Converting to code ==== ===== Python ===== <syntaxhighlight lang="python"> import struct def fromNumber(num: float) -> str: return struct.pack('<d', num).hex() </syntaxhighlight> <syntaxhighlight lang="python"> import struct def toNumber(num: str) -> float: return struct.unpack('<d', bytes.fromhex(num))[0] </syntaxhighlight> ===== JavaScript ===== <syntaxhighlight lang="javascript"> function fromNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setFloat64(0, num, true); return view.getBigUint64(0, true).toString(16); } </syntaxhighlight> <syntaxhighlight lang="javascript"> function toNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setBigUint64(0, BigInt(`0x${num}`), true); return view.getFloat64(0, true); } </syntaxhighlight> ==== Display function ==== {{void|How would a value of this type be displayed on Wikifunctions. Remove this section for types that should not be displayed as a string.}} The cleanest way to display floating point numbers is using the localized number system. For example, a French user could have the sample number shown above displayed to them as <code>666,67</code>, while an user from the USA could see <code>666.67</code>. A Latin user might see <code>DCLXVI.LXVII</code>. ==== Read function ==== {{void|When entering a value for this type as a string, what format should that string have? Remove this section for types that should not be entered as a string.}} The input should be interpreted as a localized number in the user's language and then parsed into its IEEE 754 representation. ==== Alternatives ==== {{void|In order to capture the idea presented in the summary, what alternative structures, display functions, read functions, etc. could have made sense too? Please also link to any type proposals that "compete" with this one.}} # Using the existing float64 type structure, where each part has its own key. ==== Comments ==== ''For general comments, please reply to the proposer.'' * {{s}} as proposer. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 07:04, 15 August 2026 (UTC) == Discussion == '''We are aware that what we propose are major breaking changes that could take time and effort to implement.''' We believe that, as its own programming system, Wikifunctions ''needs'' first-class support for a concept as fundamental as numbers; and that this proposal will make further work with numbers easier while opening the door to further improvements. We submit this first proposal for the community to discuss it and to get advice regarding its implementation if it is approved. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 09:36, 15 August 2026 (UTC) h325m1oqe614r89zcdk6ou8jtm29nvq 299636 299635 2026-08-15T13:08:56Z Virinas-code 2884 /* Structure */ Python and ECMAScript aren't the only one who support our integer notation 299636 wikitext text/x-wiki '''This is a work in progress draft which is not ready for community submission yet.''' == Issues == === Regarding {{Z|80}} === {{Z|80}} is a {{Z|4}} with a single key: value (Z80K1), which is of type {{Z|13518}}. While {{Z|80}} is a built-in core type with an ID in the <code>Z1</code>--<code>Z99</code> range<ref>[[Wikifunctions:Reserved ZIDs#Ranges]] <code>Z1</code> – <code>Z99</code>: core types.</ref>, {{Z|13518}} is not. Given that {{Z|80}} is pre-defined in the system<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata A number of ZObjects are pre-defined for the Wikifunctions system, and used by the WikiLambda MediaWiki extension as well as the function-orchestrator (and through that, the function-evaluator).</ref><ref name="Z80 initial">[[Special:PermanentLink/32]] Revision as of 2023-07-26T18:29:41 by [[User:WikiLambda system|WikiLambda system]] ''(Initial pre-defined WikiLambda content creation)''</ref>, having it depend on the later defined {{Z|13518}} is problematic. It should be noted that, initially, a byte's value was stored as a {{Z|6}}<ref name="Z80 initial" />, one of the core builtin types of Wikifunctions. It is also still a {{Z|6}} in the [https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata function-schemata]<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata/-/blob/main/data/CANONICAL/Z80.yaml <syntaxhighlight lang="yaml"> Z80K1: $ref: "#/definitions/objects/Z6_byte" </syntaxhighlight></ref>, which aims to provide a "single version of the truth" regarding what counts as a valid ZObject<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata shared set of JSON schemata for the Wikifunctions project, to achieve a "single version of the truth" on what counts as a structurally valid ZObject, and provide shared utility code</ref>. {{Z|80}} was changed to use {{Z|13518}} following [[Wikifunctions:Type proposals/Byte]]<ref>[[Wikifunctions:Type proposals/Byte#Alternatives]] The current proposal is Option 3 in the following list of Alternatives. (Option 3) A byte consists of one key that represents the value of the byte. The value is of type natural number, and has to be between the values of 0 and 255, including the edges.</ref>. This proposal highlights the lack of proper support for the {{Z|80}} type when it was defined upon {{Z|6}}, especially regarding code converters. This proposal added two type converters for JavaScript and Python where {{Z|80}} objects would get converted into Python <syntaxhighlight lang="python" inline>int</syntaxhighlight> and JavaScript <syntaxhighlight lang="javascript" inline>Number</syntaxhighlight>. Accordingly, the value's type was changed to {{Z|13518}}. ==== Lessons ==== Having {{Z|80}} be a built-in type is coherent: it is the fundamental unit used to measure and access memory in computing, and the most fundamental representation of a number<ref>[[w:Byte]]</ref>. Having it be defined upon a natural number type is also coherent: a byte represents a single value in the range 0-255, and is represented as a number in other programming languages<ref>[[Wikifunctions:Type proposals/Byte#Python]] The most idiomatic conversion in Python is to convert a Wikifunctions Byte to a Python int.</ref><ref>[[Wikifunctions:Type proposals/Byte#JavaScript]] The most idiomatic conversion in JavaScript is to convert a Wikifunctions Byte to a JavaScript number.</ref>. Hence, we argue that it is not coherent for {{Z|13518}} to not be a built-in. Having a built-in natural number type means that we can keep the preferred representation of having a byte's value stored as a number without breaking the hierarchy of built-ins and non-built-ins. === Arithmetic in the composition language === The [[Wikifunctions:Glossary#composition|composition]] language, while slow, is the most portable, abstract [[WF:PROG|programming language available on Wikifunctions]]. It defines functions as composition of other functions, which has multiple advantages: * It is language agnostic. As Wikifunctions renders the composed function calls using the localized function labels, a composition implementation can be read entirely in the user's chosen language, given that the required labels are present. On the contrary, code implementations rely on English keywords<ref>See the [https://docs.python.org/3/reference/lexical_analysis.html#keywords list of Python keywords] and the [https://tc39.es/ecma262/#prod-ReservedWord ECMAScript list of reserved keywords].</ref> and can have inner variable or function names in any language that are not localized. * It is portable and entirely defined within the scope of the Wikifunctions project, without relying on external specifications and implementations such as with code implementations. * It serves as a well-understood formalism and a very simple implementation of a function in order to ensure that the other implementations of it are correct<ref>[[Wikifunctions:Function model#Composition]] it allows us to use a well-understood formalism and a very simple implementation of it in order to ensure that the other implementations of Z781/add are correct</ref>. Composition implementations are considered "defining implementations" and are used alongside faster, optimized, but harder to comprehend code implementations. Ideally, all functions should have an implementation as a composition, or an implementaion as composition of functions which are themselves a composition of built-in, etc. This allows a proper clear definition of all functions, independently of their implementations technicalities. In its current state, however, all arithmetic functions on Wikifunctions lack such a composition implementation. Let us take a look at {{Z|13521}} for example: all of its composition implementations end up calling {{Z|13578}}, whose only composition implementation relies back on {{Z|13521}}. This is coherent: given that there is no built-in number type, there is also no built-in numeric operation. But this also implies that none of the [[Wikifunctions:Catalogue/Number operations|many number operations]] on Wikifunctions have a proper, well-defined implementation as composition of built-ins. ==== Lessons ==== Looking at [[Wikifunctions:Catalogue]] reveals that many of the functions on this website are related to arithmetic and mathematics, and hence operate on numbers. Having a built-in number type allows the creation of composition implementations for all those functions, proper, well-defined implementations as composition of built-ins. Given that composition is the language of Wikifunctions, it being incapable of representing most of its functions is incoherent. == Proposal == As we said multiple times over the course of the previous section, we propose the creation of two new built-in types for numbers. === Current situation === Per the numeric type hierarchy found at [[Template:Type documentation]], we can identify two different type of number types: * Integers, such as {{Z|80}}, {{Z|13518}}, or {{Z|19677}} (which is a pair of integers). These are usually unbounded. Most of them end up depending on {{Z|13518}}. * Floating point numbers, such as {{Z|20838}}, or {{Z|33198}} (which is a pair of floating point numbers). These follow the IEEE 754 standard, which means they are bounded and have a limited precision. The parent for these types is {{Z|20838}}. The only built-in type among these is {{Z|80}}, but as said before, it relies on a non-built-in internal representation. === Proposed change === * Adding a built-in integer type. * Adding a built-in IEEE 754 floating point type. * Adding built-in functions to manipulate these two types. ==== Advantages ==== * Type hierarchy issues about {{Z|80}} depending on non-built-ins are fixed: it now depends on another built-in. It also improves the overall hierarchy, where all number types can be defined upon these two built-ins. This could come in useful for later optimizations (for example, reprensenting numbers without going through conversion to string). * We can have composition implementations for all mathematical and arithmetic functions, since these are now built-in types they can have built-in functions to work with them. ==== Further views ==== Currently, Wikifunctions only has two terminal types: {{Z|9}} and {{Z|6}}. This means that all types in Wikifunctions end up being represented as strings. Having built-in numbers opens the possibility for later software changes: for example, representing them internally and in the JSON as numbers. Considering the many performance issues of Wikifunctions, this could be interesting in a not-so-far future. According to the [[Wikifunctions:About|Wikifunctions Mission statement]], we should "Imagine a programming system that allows us to make the next big leap in knowledge representation". Representing something as fundamental as numbers is definitely essential, further renforcing the need for an endorsed built-in number type. Wikifunctions also aims "to create both a well-defined common catalog of functions that can be widely reused and an environment where functions can be quickly combined and executed on the fly"; arithmetic operations and mathematical computations are one of the most common type of functions, and should therefore benefit from first-class support. == Implementation == === Integer type === There are multiple options regarding which integer type should be made built-in: # The {{Z|80}} type, the only integer type which is bounded. # The {{Z|13518}} type, which most integer types rely on at the moment. # The {{Z|16683}} type. We can look at what Python and ECMAScript do for further inspiration: * Python has an <syntaxhighlight lang="python" inline>int</syntaxhighlight> type for representing integers; it is signed and unbounded. * ECMAScript has a <syntaxhighlight lang="python" inline>BigInt</syntaxhighlight> type for representing integers; it is signed and unbounded too. Considering these, we decided to go with {{Z|16683}} for our integer type. * {{Z|80}} can be defined by having the validator ensure it is within the 0-255 range. * {{Z|13518}} can be defined by having the validator ensure it is a non-negatuve integer. Given this, we can have efficient type converters from and to programming language types, with the added bonus of having all possible values be valid (e.g., if a Python function returns an int, it can always be converted to a valid {{Z|16683}}, unlike {{Z|13518}} which wouldn't support negative numbers). === Floating-point type === We propose to make the {{Z|20838}} type built-in. The IEEE 754 standard for floating point numbers is the ideal representation: it is a reference standard that has already been adopted on Wikifunctions. In its current implementation following [[Wikifunctions:Type proposals/float64]], it does however require quite a few different types: * The {{Z|16659}} enumeration (3 members) * The {{Z|20825}} enumeration (8 members) * Both a natural number and an integer type Our options at the moment are: # Turn all those types into built-ins # Change the internal representation of float64 Considering the need for performant functions, we propose having a different float 64 type whose value is an hexadecimal string representing the raw IEEE 754 byte representation. ==== Converters ==== [[w:Endianness|Big Endian]] was chosen arbitrarly. ===== JavaScript ===== The ECMAScript <syntaxhighlight lang="javascript" inline>DataView</syntaxhighlight> offers the required functions to access the raw bytes of a floating point number and format them as hexadecimal: <syntaxhighlight lang="javascript"> function fromNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setFloat64(0, num, true); return view.getBigUint64(0, true).toString(16); } </syntaxhighlight> Converting an hexadecimal string back into a floating point number is trivial now: <syntaxhighlight lang="javascript"> function toNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setBigUint64(0, BigInt(`0x${num}`), true); return view.getFloat64(0, true); } </syntaxhighlight> ===== Python ===== We have to use the <code>struct</code> module in order to access a floating point number's bytes: <syntaxhighlight lang="python"> import struct def fromNumber(num: float) -> str: return struct.pack('<d', 666.67).hex() </syntaxhighlight> The reverse operation, converting hexadecimal bytes back into a floating point number, is trivial too: <syntaxhighlight lang="python"> import struct def toNumber(num: str) -> float: return struct.unpack('<d', bytes.fromhex("4084d55c28f5c28f"))[0] </syntaxhighlight> === ZIDs === This proposal includes the creation of multiple new ZObjects, all of which require a statically assigned ZID. In [[Wikifunctions:Function model|the function model documentation]], functions in the range Z700-Z799 are used as sample arithmetic functions. Since many new built-in functions will be included in this proposal, having a dedicated range for them is coherent and avoids taking too much space in the previously used Z800-Z899 space. To remain coherent with this idea, new core types will be put in the Z70-Z79 range, which is coincidentally free. The IEEE 754 standard includes many operations that a system needs to implement to be considered conformant. The Z7000 range could be used for those, as there is more than a hundred of them. == Specifications == === Integers === ==== Summary ==== {{void|Short overview of the idea of this Type}} We propose the creation of a new type, named '''integer'''. It is part of the wider proposal to add two new built-in types for numbers. This type would be a built-in type whose ZID is in the 0-99 range. We propose Z70, as functions in the Z700-Z799 range are numeric operations. '''Integer''' is similar to the existing {{Z|16683}}, but there are some differences regarding its internal representation. ==== Uses ==== {{void|Prompts: * Why should this exist? * What kinds of functions would be created using this? * What standard concepts, if any, does this align with?}} There are many types that could be built on top of an integer type on Wikifunctions: {{Z|80}}, {{Z|13518}}, {{Z|19677}}... Having them all defined relatively to one standard built-in type improves the type hierarchy, allows further optimisations in the future, and fixes issues regarding built-in dependence on non built-ins. Integers are then used throughout Wikifunctions, whether for mathematical operations or for other uses (such as getting the length of a list). This new built-in type allows us to have composition of built-ins implementaions for all those functions. ==== Structure ==== {{void|Description of how a value of this type would look like and why}} This type has a single key, value (Z70K1), whose type is {{Z|6}}. This key holds a big endian lowercase hexadecimal representation of the number described. The string is preceded by a single minus character <code>-</code> if the number is negative. Note that <code>-0</code> is not a valid value. This format was chosen because it is well supported by both available programming languages (and by many others should they be added to Wikifunctions in the future) and should have rather good performance, as hexadecimal notation is close to how numbers are represented in the computer's memory. ===== Example values ===== Here is how the number <code>666</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "integer", "value": "29a" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z70", "Z70K1": "29a" }</syntaxhighlight> |} And here is how its opposite <code>-666</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "integer", "value": "-29a" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z70", "Z70K1": "-29a" }</syntaxhighlight> |} ==== Identity ==== Two integers are equal if and only if their hexadecimal representations are equal. ==== Converting to code ==== ===== Python ===== <syntaxhighlight lang="python"> def deserialize(Z70K1: str) -> int: return int(Z70K1, 16) </syntaxhighlight> <syntaxhighlight lang="python"> def serialize(integer: int) -> str: return f"{integer:x}" </syntaxhighlight> ===== JavaScript ===== <syntaxhighlight lang="javascript"> function deserialize(Z70K1) { if (Z70K1.startsWith("-")) { return -BigInt(`0x${Z70K1.slice(1)}`); } return BigInt(`0x${Z70K1}`); } </syntaxhighlight> <syntaxhighlight lang="javascript"> function serialize(big_int) { return big_int.toString(16); } </syntaxhighlight> ==== Display function ==== {{void|How would a value of this type be displayed on Wikifunctions. Remove this section for types that should not be displayed as a string.}} Integers should be displayed as localized numbers. For example, a French user would see <code>678910</code> as 678 910 while an American user might see 678,910. ==== Read function ==== {{void|When entering a value for this type as a string, what format should that string have? Remove this section for types that should not be entered as a string.}} The input should be interpreted as a either localized number in the user's language, or as a standard decimal number (without separators). ==== Alternatives ==== {{void|In order to capture the idea presented in the summary, what alternative structures, display functions, read functions, etc. could have made sense too? Please also link to any type proposals that "compete" with this one.}} # Having a separate Sign key in the type, but that would imply making Sign built-in too and would make conversion slower. ==== Comments ==== ''For general comments, please reply to the proposer.'' * {{s}} as proposer. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 09:20, 15 August 2026 (UTC) === Floating point numbers === ==== Summary ==== {{void|Short overview of the idea of this Type}} We propose the creation of a new type, named '''floating point number'''. It is part of the wider proposal to add two new built-in types for numbers. This type would be a built-in type whose ZID is in the 0-99 range. We propose Z71, as arithmetic functions occupy the Z700-Z999 range. The name '''floating point number''' has be chosen to differentiate this type from {{Z|20838}}. The internal representation used is different: while {{Z|20838}} stores each part of an IEEE 754 floating point number separately, '''floating point number''' simply stores the bytes as hexadecimal in a {{Z|6}} key. ==== Uses ==== {{void|Prompts: * Why should this exist? * What kinds of functions would be created using this? * What standard concepts, if any, does this align with?}} {{Z|20838}} is already a widely used type<ref>[[Special:WhatLinksHere/Z20838]] returns more than 500 items.</ref>, this proposal simply turns it into a built-in type. The different representation allows faster performance for complex composed functions. Its new built-in nature also permits the creation of built-in functions operating on floating point number, and then permit the creation of pure composition mathematical operations. This aligns with the standard concept of representing numbers; in that case, real numbers are approximated by floating point numbers. The international widely recoginzed IEEE 754 format is used as it has first-class support in code implementations. ==== Structure ==== {{void|Description of how a value of this type would look like and why}} This type has a single key, value (Z71K1), whose type is {{Z|6}}. This key holds a little-endian IEEE 754 number, whose bytes are reprsesented as hexadecimal. This was done for performance reasons: most operations do not work with individual components of the floating point number, but rather with the number as a whole. It also avoids having to make two new enumerations builtin for the sign and special value. ===== Example values ===== Here is how the number <code>666.67</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "floating point number", "value": "8fc2f5285cd58440" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z71", "Z71K1": "8fc2f5285cd58440" }</syntaxhighlight> |} ==== Identity ==== Two floating point numbers are the same if the subtraction of their values (Z71K1) is equal to zero. The special case where either is equal to NaN means that they are not equal, even if both are NaN. ==== Converting to code ==== ===== Python ===== <syntaxhighlight lang="python"> import struct def fromNumber(num: float) -> str: return struct.pack('<d', num).hex() </syntaxhighlight> <syntaxhighlight lang="python"> import struct def toNumber(num: str) -> float: return struct.unpack('<d', bytes.fromhex(num))[0] </syntaxhighlight> ===== JavaScript ===== <syntaxhighlight lang="javascript"> function fromNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setFloat64(0, num, true); return view.getBigUint64(0, true).toString(16); } </syntaxhighlight> <syntaxhighlight lang="javascript"> function toNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setBigUint64(0, BigInt(`0x${num}`), true); return view.getFloat64(0, true); } </syntaxhighlight> ==== Display function ==== {{void|How would a value of this type be displayed on Wikifunctions. Remove this section for types that should not be displayed as a string.}} The cleanest way to display floating point numbers is using the localized number system. For example, a French user could have the sample number shown above displayed to them as <code>666,67</code>, while an user from the USA could see <code>666.67</code>. A Latin user might see <code>DCLXVI.LXVII</code>. ==== Read function ==== {{void|When entering a value for this type as a string, what format should that string have? Remove this section for types that should not be entered as a string.}} The input should be interpreted as a localized number in the user's language and then parsed into its IEEE 754 representation. ==== Alternatives ==== {{void|In order to capture the idea presented in the summary, what alternative structures, display functions, read functions, etc. could have made sense too? Please also link to any type proposals that "compete" with this one.}} # Using the existing float64 type structure, where each part has its own key. ==== Comments ==== ''For general comments, please reply to the proposer.'' * {{s}} as proposer. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 07:04, 15 August 2026 (UTC) == Discussion == '''We are aware that what we propose are major breaking changes that could take time and effort to implement.''' We believe that, as its own programming system, Wikifunctions ''needs'' first-class support for a concept as fundamental as numbers; and that this proposal will make further work with numbers easier while opening the door to further improvements. We submit this first proposal for the community to discuss it and to get advice regarding its implementation if it is approved. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 09:36, 15 August 2026 (UTC) ppghqfxetmiby2c8u1w2q3dgvk3ihwq 299637 299636 2026-08-15T13:13:01Z Smlckz 13902 /* Python */ actually refer to function parameters 299637 wikitext text/x-wiki '''This is a work in progress draft which is not ready for community submission yet.''' == Issues == === Regarding {{Z|80}} === {{Z|80}} is a {{Z|4}} with a single key: value (Z80K1), which is of type {{Z|13518}}. While {{Z|80}} is a built-in core type with an ID in the <code>Z1</code>--<code>Z99</code> range<ref>[[Wikifunctions:Reserved ZIDs#Ranges]] <code>Z1</code> – <code>Z99</code>: core types.</ref>, {{Z|13518}} is not. Given that {{Z|80}} is pre-defined in the system<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata A number of ZObjects are pre-defined for the Wikifunctions system, and used by the WikiLambda MediaWiki extension as well as the function-orchestrator (and through that, the function-evaluator).</ref><ref name="Z80 initial">[[Special:PermanentLink/32]] Revision as of 2023-07-26T18:29:41 by [[User:WikiLambda system|WikiLambda system]] ''(Initial pre-defined WikiLambda content creation)''</ref>, having it depend on the later defined {{Z|13518}} is problematic. It should be noted that, initially, a byte's value was stored as a {{Z|6}}<ref name="Z80 initial" />, one of the core builtin types of Wikifunctions. It is also still a {{Z|6}} in the [https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata function-schemata]<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata/-/blob/main/data/CANONICAL/Z80.yaml <syntaxhighlight lang="yaml"> Z80K1: $ref: "#/definitions/objects/Z6_byte" </syntaxhighlight></ref>, which aims to provide a "single version of the truth" regarding what counts as a valid ZObject<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata shared set of JSON schemata for the Wikifunctions project, to achieve a "single version of the truth" on what counts as a structurally valid ZObject, and provide shared utility code</ref>. {{Z|80}} was changed to use {{Z|13518}} following [[Wikifunctions:Type proposals/Byte]]<ref>[[Wikifunctions:Type proposals/Byte#Alternatives]] The current proposal is Option 3 in the following list of Alternatives. (Option 3) A byte consists of one key that represents the value of the byte. The value is of type natural number, and has to be between the values of 0 and 255, including the edges.</ref>. This proposal highlights the lack of proper support for the {{Z|80}} type when it was defined upon {{Z|6}}, especially regarding code converters. This proposal added two type converters for JavaScript and Python where {{Z|80}} objects would get converted into Python <syntaxhighlight lang="python" inline>int</syntaxhighlight> and JavaScript <syntaxhighlight lang="javascript" inline>Number</syntaxhighlight>. Accordingly, the value's type was changed to {{Z|13518}}. ==== Lessons ==== Having {{Z|80}} be a built-in type is coherent: it is the fundamental unit used to measure and access memory in computing, and the most fundamental representation of a number<ref>[[w:Byte]]</ref>. Having it be defined upon a natural number type is also coherent: a byte represents a single value in the range 0-255, and is represented as a number in other programming languages<ref>[[Wikifunctions:Type proposals/Byte#Python]] The most idiomatic conversion in Python is to convert a Wikifunctions Byte to a Python int.</ref><ref>[[Wikifunctions:Type proposals/Byte#JavaScript]] The most idiomatic conversion in JavaScript is to convert a Wikifunctions Byte to a JavaScript number.</ref>. Hence, we argue that it is not coherent for {{Z|13518}} to not be a built-in. Having a built-in natural number type means that we can keep the preferred representation of having a byte's value stored as a number without breaking the hierarchy of built-ins and non-built-ins. === Arithmetic in the composition language === The [[Wikifunctions:Glossary#composition|composition]] language, while slow, is the most portable, abstract [[WF:PROG|programming language available on Wikifunctions]]. It defines functions as composition of other functions, which has multiple advantages: * It is language agnostic. As Wikifunctions renders the composed function calls using the localized function labels, a composition implementation can be read entirely in the user's chosen language, given that the required labels are present. On the contrary, code implementations rely on English keywords<ref>See the [https://docs.python.org/3/reference/lexical_analysis.html#keywords list of Python keywords] and the [https://tc39.es/ecma262/#prod-ReservedWord ECMAScript list of reserved keywords].</ref> and can have inner variable or function names in any language that are not localized. * It is portable and entirely defined within the scope of the Wikifunctions project, without relying on external specifications and implementations such as with code implementations. * It serves as a well-understood formalism and a very simple implementation of a function in order to ensure that the other implementations of it are correct<ref>[[Wikifunctions:Function model#Composition]] it allows us to use a well-understood formalism and a very simple implementation of it in order to ensure that the other implementations of Z781/add are correct</ref>. Composition implementations are considered "defining implementations" and are used alongside faster, optimized, but harder to comprehend code implementations. Ideally, all functions should have an implementation as a composition, or an implementaion as composition of functions which are themselves a composition of built-in, etc. This allows a proper clear definition of all functions, independently of their implementations technicalities. In its current state, however, all arithmetic functions on Wikifunctions lack such a composition implementation. Let us take a look at {{Z|13521}} for example: all of its composition implementations end up calling {{Z|13578}}, whose only composition implementation relies back on {{Z|13521}}. This is coherent: given that there is no built-in number type, there is also no built-in numeric operation. But this also implies that none of the [[Wikifunctions:Catalogue/Number operations|many number operations]] on Wikifunctions have a proper, well-defined implementation as composition of built-ins. ==== Lessons ==== Looking at [[Wikifunctions:Catalogue]] reveals that many of the functions on this website are related to arithmetic and mathematics, and hence operate on numbers. Having a built-in number type allows the creation of composition implementations for all those functions, proper, well-defined implementations as composition of built-ins. Given that composition is the language of Wikifunctions, it being incapable of representing most of its functions is incoherent. == Proposal == As we said multiple times over the course of the previous section, we propose the creation of two new built-in types for numbers. === Current situation === Per the numeric type hierarchy found at [[Template:Type documentation]], we can identify two different type of number types: * Integers, such as {{Z|80}}, {{Z|13518}}, or {{Z|19677}} (which is a pair of integers). These are usually unbounded. Most of them end up depending on {{Z|13518}}. * Floating point numbers, such as {{Z|20838}}, or {{Z|33198}} (which is a pair of floating point numbers). These follow the IEEE 754 standard, which means they are bounded and have a limited precision. The parent for these types is {{Z|20838}}. The only built-in type among these is {{Z|80}}, but as said before, it relies on a non-built-in internal representation. === Proposed change === * Adding a built-in integer type. * Adding a built-in IEEE 754 floating point type. * Adding built-in functions to manipulate these two types. ==== Advantages ==== * Type hierarchy issues about {{Z|80}} depending on non-built-ins are fixed: it now depends on another built-in. It also improves the overall hierarchy, where all number types can be defined upon these two built-ins. This could come in useful for later optimizations (for example, reprensenting numbers without going through conversion to string). * We can have composition implementations for all mathematical and arithmetic functions, since these are now built-in types they can have built-in functions to work with them. ==== Further views ==== Currently, Wikifunctions only has two terminal types: {{Z|9}} and {{Z|6}}. This means that all types in Wikifunctions end up being represented as strings. Having built-in numbers opens the possibility for later software changes: for example, representing them internally and in the JSON as numbers. Considering the many performance issues of Wikifunctions, this could be interesting in a not-so-far future. According to the [[Wikifunctions:About|Wikifunctions Mission statement]], we should "Imagine a programming system that allows us to make the next big leap in knowledge representation". Representing something as fundamental as numbers is definitely essential, further renforcing the need for an endorsed built-in number type. Wikifunctions also aims "to create both a well-defined common catalog of functions that can be widely reused and an environment where functions can be quickly combined and executed on the fly"; arithmetic operations and mathematical computations are one of the most common type of functions, and should therefore benefit from first-class support. == Implementation == === Integer type === There are multiple options regarding which integer type should be made built-in: # The {{Z|80}} type, the only integer type which is bounded. # The {{Z|13518}} type, which most integer types rely on at the moment. # The {{Z|16683}} type. We can look at what Python and ECMAScript do for further inspiration: * Python has an <syntaxhighlight lang="python" inline>int</syntaxhighlight> type for representing integers; it is signed and unbounded. * ECMAScript has a <syntaxhighlight lang="python" inline>BigInt</syntaxhighlight> type for representing integers; it is signed and unbounded too. Considering these, we decided to go with {{Z|16683}} for our integer type. * {{Z|80}} can be defined by having the validator ensure it is within the 0-255 range. * {{Z|13518}} can be defined by having the validator ensure it is a non-negatuve integer. Given this, we can have efficient type converters from and to programming language types, with the added bonus of having all possible values be valid (e.g., if a Python function returns an int, it can always be converted to a valid {{Z|16683}}, unlike {{Z|13518}} which wouldn't support negative numbers). === Floating-point type === We propose to make the {{Z|20838}} type built-in. The IEEE 754 standard for floating point numbers is the ideal representation: it is a reference standard that has already been adopted on Wikifunctions. In its current implementation following [[Wikifunctions:Type proposals/float64]], it does however require quite a few different types: * The {{Z|16659}} enumeration (3 members) * The {{Z|20825}} enumeration (8 members) * Both a natural number and an integer type Our options at the moment are: # Turn all those types into built-ins # Change the internal representation of float64 Considering the need for performant functions, we propose having a different float 64 type whose value is an hexadecimal string representing the raw IEEE 754 byte representation. ==== Converters ==== [[w:Endianness|Big Endian]] was chosen arbitrarly. ===== JavaScript ===== The ECMAScript <syntaxhighlight lang="javascript" inline>DataView</syntaxhighlight> offers the required functions to access the raw bytes of a floating point number and format them as hexadecimal: <syntaxhighlight lang="javascript"> function fromNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setFloat64(0, num, true); return view.getBigUint64(0, true).toString(16); } </syntaxhighlight> Converting an hexadecimal string back into a floating point number is trivial now: <syntaxhighlight lang="javascript"> function toNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setBigUint64(0, BigInt(`0x${num}`), true); return view.getFloat64(0, true); } </syntaxhighlight> ===== Python ===== We have to use the <code>struct</code> module in order to access a floating point number's bytes: <syntaxhighlight lang="python"> import struct def fromNumber(num: float) -> str: return struct.pack('<d', num).hex() </syntaxhighlight> The reverse operation, converting hexadecimal bytes back into a floating point number, is trivial too: <syntaxhighlight lang="python"> import struct def toNumber(num: str) -> float: return struct.unpack('<d', bytes.fromhex(num))[0] </syntaxhighlight> === ZIDs === This proposal includes the creation of multiple new ZObjects, all of which require a statically assigned ZID. In [[Wikifunctions:Function model|the function model documentation]], functions in the range Z700-Z799 are used as sample arithmetic functions. Since many new built-in functions will be included in this proposal, having a dedicated range for them is coherent and avoids taking too much space in the previously used Z800-Z899 space. To remain coherent with this idea, new core types will be put in the Z70-Z79 range, which is coincidentally free. The IEEE 754 standard includes many operations that a system needs to implement to be considered conformant. The Z7000 range could be used for those, as there is more than a hundred of them. == Specifications == === Integers === ==== Summary ==== {{void|Short overview of the idea of this Type}} We propose the creation of a new type, named '''integer'''. It is part of the wider proposal to add two new built-in types for numbers. This type would be a built-in type whose ZID is in the 0-99 range. We propose Z70, as functions in the Z700-Z799 range are numeric operations. '''Integer''' is similar to the existing {{Z|16683}}, but there are some differences regarding its internal representation. ==== Uses ==== {{void|Prompts: * Why should this exist? * What kinds of functions would be created using this? * What standard concepts, if any, does this align with?}} There are many types that could be built on top of an integer type on Wikifunctions: {{Z|80}}, {{Z|13518}}, {{Z|19677}}... Having them all defined relatively to one standard built-in type improves the type hierarchy, allows further optimisations in the future, and fixes issues regarding built-in dependence on non built-ins. Integers are then used throughout Wikifunctions, whether for mathematical operations or for other uses (such as getting the length of a list). This new built-in type allows us to have composition of built-ins implementaions for all those functions. ==== Structure ==== {{void|Description of how a value of this type would look like and why}} This type has a single key, value (Z70K1), whose type is {{Z|6}}. This key holds a big endian lowercase hexadecimal representation of the number described. The string is preceded by a single minus character <code>-</code> if the number is negative. Note that <code>-0</code> is not a valid value. This format was chosen because it is well supported by both available programming languages (and by many others should they be added to Wikifunctions in the future) and should have rather good performance, as hexadecimal notation is close to how numbers are represented in the computer's memory. ===== Example values ===== Here is how the number <code>666</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "integer", "value": "29a" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z70", "Z70K1": "29a" }</syntaxhighlight> |} And here is how its opposite <code>-666</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "integer", "value": "-29a" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z70", "Z70K1": "-29a" }</syntaxhighlight> |} ==== Identity ==== Two integers are equal if and only if their hexadecimal representations are equal. ==== Converting to code ==== ===== Python ===== <syntaxhighlight lang="python"> def deserialize(Z70K1: str) -> int: return int(Z70K1, 16) </syntaxhighlight> <syntaxhighlight lang="python"> def serialize(integer: int) -> str: return f"{integer:x}" </syntaxhighlight> ===== JavaScript ===== <syntaxhighlight lang="javascript"> function deserialize(Z70K1) { if (Z70K1.startsWith("-")) { return -BigInt(`0x${Z70K1.slice(1)}`); } return BigInt(`0x${Z70K1}`); } </syntaxhighlight> <syntaxhighlight lang="javascript"> function serialize(big_int) { return big_int.toString(16); } </syntaxhighlight> ==== Display function ==== {{void|How would a value of this type be displayed on Wikifunctions. Remove this section for types that should not be displayed as a string.}} Integers should be displayed as localized numbers. For example, a French user would see <code>678910</code> as 678 910 while an American user might see 678,910. ==== Read function ==== {{void|When entering a value for this type as a string, what format should that string have? Remove this section for types that should not be entered as a string.}} The input should be interpreted as a either localized number in the user's language, or as a standard decimal number (without separators). ==== Alternatives ==== {{void|In order to capture the idea presented in the summary, what alternative structures, display functions, read functions, etc. could have made sense too? Please also link to any type proposals that "compete" with this one.}} # Having a separate Sign key in the type, but that would imply making Sign built-in too and would make conversion slower. ==== Comments ==== ''For general comments, please reply to the proposer.'' * {{s}} as proposer. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 09:20, 15 August 2026 (UTC) === Floating point numbers === ==== Summary ==== {{void|Short overview of the idea of this Type}} We propose the creation of a new type, named '''floating point number'''. It is part of the wider proposal to add two new built-in types for numbers. This type would be a built-in type whose ZID is in the 0-99 range. We propose Z71, as arithmetic functions occupy the Z700-Z999 range. The name '''floating point number''' has be chosen to differentiate this type from {{Z|20838}}. The internal representation used is different: while {{Z|20838}} stores each part of an IEEE 754 floating point number separately, '''floating point number''' simply stores the bytes as hexadecimal in a {{Z|6}} key. ==== Uses ==== {{void|Prompts: * Why should this exist? * What kinds of functions would be created using this? * What standard concepts, if any, does this align with?}} {{Z|20838}} is already a widely used type<ref>[[Special:WhatLinksHere/Z20838]] returns more than 500 items.</ref>, this proposal simply turns it into a built-in type. The different representation allows faster performance for complex composed functions. Its new built-in nature also permits the creation of built-in functions operating on floating point number, and then permit the creation of pure composition mathematical operations. This aligns with the standard concept of representing numbers; in that case, real numbers are approximated by floating point numbers. The international widely recoginzed IEEE 754 format is used as it has first-class support in code implementations. ==== Structure ==== {{void|Description of how a value of this type would look like and why}} This type has a single key, value (Z71K1), whose type is {{Z|6}}. This key holds a little-endian IEEE 754 number, whose bytes are reprsesented as hexadecimal. This was done for performance reasons: most operations do not work with individual components of the floating point number, but rather with the number as a whole. It also avoids having to make two new enumerations builtin for the sign and special value. ===== Example values ===== Here is how the number <code>666.67</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "floating point number", "value": "8fc2f5285cd58440" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z71", "Z71K1": "8fc2f5285cd58440" }</syntaxhighlight> |} ==== Identity ==== Two floating point numbers are the same if the subtraction of their values (Z71K1) is equal to zero. The special case where either is equal to NaN means that they are not equal, even if both are NaN. ==== Converting to code ==== ===== Python ===== <syntaxhighlight lang="python"> import struct def fromNumber(num: float) -> str: return struct.pack('<d', num).hex() </syntaxhighlight> <syntaxhighlight lang="python"> import struct def toNumber(num: str) -> float: return struct.unpack('<d', bytes.fromhex(num))[0] </syntaxhighlight> ===== JavaScript ===== <syntaxhighlight lang="javascript"> function fromNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setFloat64(0, num, true); return view.getBigUint64(0, true).toString(16); } </syntaxhighlight> <syntaxhighlight lang="javascript"> function toNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setBigUint64(0, BigInt(`0x${num}`), true); return view.getFloat64(0, true); } </syntaxhighlight> ==== Display function ==== {{void|How would a value of this type be displayed on Wikifunctions. Remove this section for types that should not be displayed as a string.}} The cleanest way to display floating point numbers is using the localized number system. For example, a French user could have the sample number shown above displayed to them as <code>666,67</code>, while an user from the USA could see <code>666.67</code>. A Latin user might see <code>DCLXVI.LXVII</code>. ==== Read function ==== {{void|When entering a value for this type as a string, what format should that string have? Remove this section for types that should not be entered as a string.}} The input should be interpreted as a localized number in the user's language and then parsed into its IEEE 754 representation. ==== Alternatives ==== {{void|In order to capture the idea presented in the summary, what alternative structures, display functions, read functions, etc. could have made sense too? Please also link to any type proposals that "compete" with this one.}} # Using the existing float64 type structure, where each part has its own key. ==== Comments ==== ''For general comments, please reply to the proposer.'' * {{s}} as proposer. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 07:04, 15 August 2026 (UTC) == Discussion == '''We are aware that what we propose are major breaking changes that could take time and effort to implement.''' We believe that, as its own programming system, Wikifunctions ''needs'' first-class support for a concept as fundamental as numbers; and that this proposal will make further work with numbers easier while opening the door to further improvements. We submit this first proposal for the community to discuss it and to get advice regarding its implementation if it is approved. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 09:36, 15 August 2026 (UTC) 8qp7a1afshgcgxap1fjkt5ks9z5r970 299640 299637 2026-08-15T15:18:54Z Smlckz 13902 /* Converters */ Correction: it's actually little endian because of passing true in the JS implementation; rephrase to sound nicer 299640 wikitext text/x-wiki '''This is a work in progress draft which is not ready for community submission yet.''' == Issues == === Regarding {{Z|80}} === {{Z|80}} is a {{Z|4}} with a single key: value (Z80K1), which is of type {{Z|13518}}. While {{Z|80}} is a built-in core type with an ID in the <code>Z1</code>--<code>Z99</code> range<ref>[[Wikifunctions:Reserved ZIDs#Ranges]] <code>Z1</code> – <code>Z99</code>: core types.</ref>, {{Z|13518}} is not. Given that {{Z|80}} is pre-defined in the system<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata A number of ZObjects are pre-defined for the Wikifunctions system, and used by the WikiLambda MediaWiki extension as well as the function-orchestrator (and through that, the function-evaluator).</ref><ref name="Z80 initial">[[Special:PermanentLink/32]] Revision as of 2023-07-26T18:29:41 by [[User:WikiLambda system|WikiLambda system]] ''(Initial pre-defined WikiLambda content creation)''</ref>, having it depend on the later defined {{Z|13518}} is problematic. It should be noted that, initially, a byte's value was stored as a {{Z|6}}<ref name="Z80 initial" />, one of the core builtin types of Wikifunctions. It is also still a {{Z|6}} in the [https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata function-schemata]<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata/-/blob/main/data/CANONICAL/Z80.yaml <syntaxhighlight lang="yaml"> Z80K1: $ref: "#/definitions/objects/Z6_byte" </syntaxhighlight></ref>, which aims to provide a "single version of the truth" regarding what counts as a valid ZObject<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata shared set of JSON schemata for the Wikifunctions project, to achieve a "single version of the truth" on what counts as a structurally valid ZObject, and provide shared utility code</ref>. {{Z|80}} was changed to use {{Z|13518}} following [[Wikifunctions:Type proposals/Byte]]<ref>[[Wikifunctions:Type proposals/Byte#Alternatives]] The current proposal is Option 3 in the following list of Alternatives. (Option 3) A byte consists of one key that represents the value of the byte. The value is of type natural number, and has to be between the values of 0 and 255, including the edges.</ref>. This proposal highlights the lack of proper support for the {{Z|80}} type when it was defined upon {{Z|6}}, especially regarding code converters. This proposal added two type converters for JavaScript and Python where {{Z|80}} objects would get converted into Python <syntaxhighlight lang="python" inline>int</syntaxhighlight> and JavaScript <syntaxhighlight lang="javascript" inline>Number</syntaxhighlight>. Accordingly, the value's type was changed to {{Z|13518}}. ==== Lessons ==== Having {{Z|80}} be a built-in type is coherent: it is the fundamental unit used to measure and access memory in computing, and the most fundamental representation of a number<ref>[[w:Byte]]</ref>. Having it be defined upon a natural number type is also coherent: a byte represents a single value in the range 0-255, and is represented as a number in other programming languages<ref>[[Wikifunctions:Type proposals/Byte#Python]] The most idiomatic conversion in Python is to convert a Wikifunctions Byte to a Python int.</ref><ref>[[Wikifunctions:Type proposals/Byte#JavaScript]] The most idiomatic conversion in JavaScript is to convert a Wikifunctions Byte to a JavaScript number.</ref>. Hence, we argue that it is not coherent for {{Z|13518}} to not be a built-in. Having a built-in natural number type means that we can keep the preferred representation of having a byte's value stored as a number without breaking the hierarchy of built-ins and non-built-ins. === Arithmetic in the composition language === The [[Wikifunctions:Glossary#composition|composition]] language, while slow, is the most portable, abstract [[WF:PROG|programming language available on Wikifunctions]]. It defines functions as composition of other functions, which has multiple advantages: * It is language agnostic. As Wikifunctions renders the composed function calls using the localized function labels, a composition implementation can be read entirely in the user's chosen language, given that the required labels are present. On the contrary, code implementations rely on English keywords<ref>See the [https://docs.python.org/3/reference/lexical_analysis.html#keywords list of Python keywords] and the [https://tc39.es/ecma262/#prod-ReservedWord ECMAScript list of reserved keywords].</ref> and can have inner variable or function names in any language that are not localized. * It is portable and entirely defined within the scope of the Wikifunctions project, without relying on external specifications and implementations such as with code implementations. * It serves as a well-understood formalism and a very simple implementation of a function in order to ensure that the other implementations of it are correct<ref>[[Wikifunctions:Function model#Composition]] it allows us to use a well-understood formalism and a very simple implementation of it in order to ensure that the other implementations of Z781/add are correct</ref>. Composition implementations are considered "defining implementations" and are used alongside faster, optimized, but harder to comprehend code implementations. Ideally, all functions should have an implementation as a composition, or an implementaion as composition of functions which are themselves a composition of built-in, etc. This allows a proper clear definition of all functions, independently of their implementations technicalities. In its current state, however, all arithmetic functions on Wikifunctions lack such a composition implementation. Let us take a look at {{Z|13521}} for example: all of its composition implementations end up calling {{Z|13578}}, whose only composition implementation relies back on {{Z|13521}}. This is coherent: given that there is no built-in number type, there is also no built-in numeric operation. But this also implies that none of the [[Wikifunctions:Catalogue/Number operations|many number operations]] on Wikifunctions have a proper, well-defined implementation as composition of built-ins. ==== Lessons ==== Looking at [[Wikifunctions:Catalogue]] reveals that many of the functions on this website are related to arithmetic and mathematics, and hence operate on numbers. Having a built-in number type allows the creation of composition implementations for all those functions, proper, well-defined implementations as composition of built-ins. Given that composition is the language of Wikifunctions, it being incapable of representing most of its functions is incoherent. == Proposal == As we said multiple times over the course of the previous section, we propose the creation of two new built-in types for numbers. === Current situation === Per the numeric type hierarchy found at [[Template:Type documentation]], we can identify two different type of number types: * Integers, such as {{Z|80}}, {{Z|13518}}, or {{Z|19677}} (which is a pair of integers). These are usually unbounded. Most of them end up depending on {{Z|13518}}. * Floating point numbers, such as {{Z|20838}}, or {{Z|33198}} (which is a pair of floating point numbers). These follow the IEEE 754 standard, which means they are bounded and have a limited precision. The parent for these types is {{Z|20838}}. The only built-in type among these is {{Z|80}}, but as said before, it relies on a non-built-in internal representation. === Proposed change === * Adding a built-in integer type. * Adding a built-in IEEE 754 floating point type. * Adding built-in functions to manipulate these two types. ==== Advantages ==== * Type hierarchy issues about {{Z|80}} depending on non-built-ins are fixed: it now depends on another built-in. It also improves the overall hierarchy, where all number types can be defined upon these two built-ins. This could come in useful for later optimizations (for example, reprensenting numbers without going through conversion to string). * We can have composition implementations for all mathematical and arithmetic functions, since these are now built-in types they can have built-in functions to work with them. ==== Further views ==== Currently, Wikifunctions only has two terminal types: {{Z|9}} and {{Z|6}}. This means that all types in Wikifunctions end up being represented as strings. Having built-in numbers opens the possibility for later software changes: for example, representing them internally and in the JSON as numbers. Considering the many performance issues of Wikifunctions, this could be interesting in a not-so-far future. According to the [[Wikifunctions:About|Wikifunctions Mission statement]], we should "Imagine a programming system that allows us to make the next big leap in knowledge representation". Representing something as fundamental as numbers is definitely essential, further renforcing the need for an endorsed built-in number type. Wikifunctions also aims "to create both a well-defined common catalog of functions that can be widely reused and an environment where functions can be quickly combined and executed on the fly"; arithmetic operations and mathematical computations are one of the most common type of functions, and should therefore benefit from first-class support. == Implementation == === Integer type === There are multiple options regarding which integer type should be made built-in: # The {{Z|80}} type, the only integer type which is bounded. # The {{Z|13518}} type, which most integer types rely on at the moment. # The {{Z|16683}} type. We can look at what Python and ECMAScript do for further inspiration: * Python has an <syntaxhighlight lang="python" inline>int</syntaxhighlight> type for representing integers; it is signed and unbounded. * ECMAScript has a <syntaxhighlight lang="python" inline>BigInt</syntaxhighlight> type for representing integers; it is signed and unbounded too. Considering these, we decided to go with {{Z|16683}} for our integer type. * {{Z|80}} can be defined by having the validator ensure it is within the 0-255 range. * {{Z|13518}} can be defined by having the validator ensure it is a non-negatuve integer. Given this, we can have efficient type converters from and to programming language types, with the added bonus of having all possible values be valid (e.g., if a Python function returns an int, it can always be converted to a valid {{Z|16683}}, unlike {{Z|13518}} which wouldn't support negative numbers). === Floating-point type === We propose to make the {{Z|20838}} type built-in. The IEEE 754 standard for floating point numbers is the ideal representation: it is a reference standard that has already been adopted on Wikifunctions. In its current implementation following [[Wikifunctions:Type proposals/float64]], it does however require quite a few different types: * The {{Z|16659}} enumeration (3 members) * The {{Z|20825}} enumeration (8 members) * Both a natural number and an integer type Our options at the moment are: # Turn all those types into built-ins # Change the internal representation of float64 Considering the need for performant functions, we propose having a different float 64 type whose value is an hexadecimal string representing the raw IEEE 754 byte representation. ==== Converters ==== The representation was arbitrarily chosen to be [[w:Endianness|little-endian]]. ===== JavaScript ===== The ECMAScript <syntaxhighlight lang="javascript" inline>DataView</syntaxhighlight> offers the required functions to access the raw bytes of a floating point number and format them as hexadecimal: <syntaxhighlight lang="javascript"> function fromNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setFloat64(0, num, true); return view.getBigUint64(0, true).toString(16); } </syntaxhighlight> Converting an hexadecimal string back into a floating point number is trivial now: <syntaxhighlight lang="javascript"> function toNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setBigUint64(0, BigInt(`0x${num}`), true); return view.getFloat64(0, true); } </syntaxhighlight> ===== Python ===== We have to use the <code>struct</code> module in order to access a floating point number's bytes: <syntaxhighlight lang="python"> import struct def fromNumber(num: float) -> str: return struct.pack('<d', num).hex() </syntaxhighlight> The reverse operation, converting hexadecimal bytes back into a floating point number, is trivial too: <syntaxhighlight lang="python"> import struct def toNumber(num: str) -> float: return struct.unpack('<d', bytes.fromhex(num))[0] </syntaxhighlight> === ZIDs === This proposal includes the creation of multiple new ZObjects, all of which require a statically assigned ZID. In [[Wikifunctions:Function model|the function model documentation]], functions in the range Z700-Z799 are used as sample arithmetic functions. Since many new built-in functions will be included in this proposal, having a dedicated range for them is coherent and avoids taking too much space in the previously used Z800-Z899 space. To remain coherent with this idea, new core types will be put in the Z70-Z79 range, which is coincidentally free. The IEEE 754 standard includes many operations that a system needs to implement to be considered conformant. The Z7000 range could be used for those, as there is more than a hundred of them. == Specifications == === Integers === ==== Summary ==== {{void|Short overview of the idea of this Type}} We propose the creation of a new type, named '''integer'''. It is part of the wider proposal to add two new built-in types for numbers. This type would be a built-in type whose ZID is in the 0-99 range. We propose Z70, as functions in the Z700-Z799 range are numeric operations. '''Integer''' is similar to the existing {{Z|16683}}, but there are some differences regarding its internal representation. ==== Uses ==== {{void|Prompts: * Why should this exist? * What kinds of functions would be created using this? * What standard concepts, if any, does this align with?}} There are many types that could be built on top of an integer type on Wikifunctions: {{Z|80}}, {{Z|13518}}, {{Z|19677}}... Having them all defined relatively to one standard built-in type improves the type hierarchy, allows further optimisations in the future, and fixes issues regarding built-in dependence on non built-ins. Integers are then used throughout Wikifunctions, whether for mathematical operations or for other uses (such as getting the length of a list). This new built-in type allows us to have composition of built-ins implementaions for all those functions. ==== Structure ==== {{void|Description of how a value of this type would look like and why}} This type has a single key, value (Z70K1), whose type is {{Z|6}}. This key holds a big endian lowercase hexadecimal representation of the number described. The string is preceded by a single minus character <code>-</code> if the number is negative. Note that <code>-0</code> is not a valid value. This format was chosen because it is well supported by both available programming languages (and by many others should they be added to Wikifunctions in the future) and should have rather good performance, as hexadecimal notation is close to how numbers are represented in the computer's memory. ===== Example values ===== Here is how the number <code>666</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "integer", "value": "29a" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z70", "Z70K1": "29a" }</syntaxhighlight> |} And here is how its opposite <code>-666</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "integer", "value": "-29a" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z70", "Z70K1": "-29a" }</syntaxhighlight> |} ==== Identity ==== Two integers are equal if and only if their hexadecimal representations are equal. ==== Converting to code ==== ===== Python ===== <syntaxhighlight lang="python"> def deserialize(Z70K1: str) -> int: return int(Z70K1, 16) </syntaxhighlight> <syntaxhighlight lang="python"> def serialize(integer: int) -> str: return f"{integer:x}" </syntaxhighlight> ===== JavaScript ===== <syntaxhighlight lang="javascript"> function deserialize(Z70K1) { if (Z70K1.startsWith("-")) { return -BigInt(`0x${Z70K1.slice(1)}`); } return BigInt(`0x${Z70K1}`); } </syntaxhighlight> <syntaxhighlight lang="javascript"> function serialize(big_int) { return big_int.toString(16); } </syntaxhighlight> ==== Display function ==== {{void|How would a value of this type be displayed on Wikifunctions. Remove this section for types that should not be displayed as a string.}} Integers should be displayed as localized numbers. For example, a French user would see <code>678910</code> as 678 910 while an American user might see 678,910. ==== Read function ==== {{void|When entering a value for this type as a string, what format should that string have? Remove this section for types that should not be entered as a string.}} The input should be interpreted as a either localized number in the user's language, or as a standard decimal number (without separators). ==== Alternatives ==== {{void|In order to capture the idea presented in the summary, what alternative structures, display functions, read functions, etc. could have made sense too? Please also link to any type proposals that "compete" with this one.}} # Having a separate Sign key in the type, but that would imply making Sign built-in too and would make conversion slower. ==== Comments ==== ''For general comments, please reply to the proposer.'' * {{s}} as proposer. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 09:20, 15 August 2026 (UTC) === Floating point numbers === ==== Summary ==== {{void|Short overview of the idea of this Type}} We propose the creation of a new type, named '''floating point number'''. It is part of the wider proposal to add two new built-in types for numbers. This type would be a built-in type whose ZID is in the 0-99 range. We propose Z71, as arithmetic functions occupy the Z700-Z999 range. The name '''floating point number''' has be chosen to differentiate this type from {{Z|20838}}. The internal representation used is different: while {{Z|20838}} stores each part of an IEEE 754 floating point number separately, '''floating point number''' simply stores the bytes as hexadecimal in a {{Z|6}} key. ==== Uses ==== {{void|Prompts: * Why should this exist? * What kinds of functions would be created using this? * What standard concepts, if any, does this align with?}} {{Z|20838}} is already a widely used type<ref>[[Special:WhatLinksHere/Z20838]] returns more than 500 items.</ref>, this proposal simply turns it into a built-in type. The different representation allows faster performance for complex composed functions. Its new built-in nature also permits the creation of built-in functions operating on floating point number, and then permit the creation of pure composition mathematical operations. This aligns with the standard concept of representing numbers; in that case, real numbers are approximated by floating point numbers. The international widely recoginzed IEEE 754 format is used as it has first-class support in code implementations. ==== Structure ==== {{void|Description of how a value of this type would look like and why}} This type has a single key, value (Z71K1), whose type is {{Z|6}}. This key holds a little-endian IEEE 754 number, whose bytes are reprsesented as hexadecimal. This was done for performance reasons: most operations do not work with individual components of the floating point number, but rather with the number as a whole. It also avoids having to make two new enumerations builtin for the sign and special value. ===== Example values ===== Here is how the number <code>666.67</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "floating point number", "value": "8fc2f5285cd58440" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z71", "Z71K1": "8fc2f5285cd58440" }</syntaxhighlight> |} ==== Identity ==== Two floating point numbers are the same if the subtraction of their values (Z71K1) is equal to zero. The special case where either is equal to NaN means that they are not equal, even if both are NaN. ==== Converting to code ==== ===== Python ===== <syntaxhighlight lang="python"> import struct def fromNumber(num: float) -> str: return struct.pack('<d', num).hex() </syntaxhighlight> <syntaxhighlight lang="python"> import struct def toNumber(num: str) -> float: return struct.unpack('<d', bytes.fromhex(num))[0] </syntaxhighlight> ===== JavaScript ===== <syntaxhighlight lang="javascript"> function fromNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setFloat64(0, num, true); return view.getBigUint64(0, true).toString(16); } </syntaxhighlight> <syntaxhighlight lang="javascript"> function toNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setBigUint64(0, BigInt(`0x${num}`), true); return view.getFloat64(0, true); } </syntaxhighlight> ==== Display function ==== {{void|How would a value of this type be displayed on Wikifunctions. Remove this section for types that should not be displayed as a string.}} The cleanest way to display floating point numbers is using the localized number system. For example, a French user could have the sample number shown above displayed to them as <code>666,67</code>, while an user from the USA could see <code>666.67</code>. A Latin user might see <code>DCLXVI.LXVII</code>. ==== Read function ==== {{void|When entering a value for this type as a string, what format should that string have? Remove this section for types that should not be entered as a string.}} The input should be interpreted as a localized number in the user's language and then parsed into its IEEE 754 representation. ==== Alternatives ==== {{void|In order to capture the idea presented in the summary, what alternative structures, display functions, read functions, etc. could have made sense too? Please also link to any type proposals that "compete" with this one.}} # Using the existing float64 type structure, where each part has its own key. ==== Comments ==== ''For general comments, please reply to the proposer.'' * {{s}} as proposer. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 07:04, 15 August 2026 (UTC) == Discussion == '''We are aware that what we propose are major breaking changes that could take time and effort to implement.''' We believe that, as its own programming system, Wikifunctions ''needs'' first-class support for a concept as fundamental as numbers; and that this proposal will make further work with numbers easier while opening the door to further improvements. We submit this first proposal for the community to discuss it and to get advice regarding its implementation if it is approved. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 09:36, 15 August 2026 (UTC) d6dupgkcp4k9hthed4ijxexu9g2ue4h 299859 299640 2026-08-16T07:27:25Z Virinas-code 2884 /* Lessons */ Reference lists of number functions 299859 wikitext text/x-wiki '''This is a work in progress draft which is not ready for community submission yet.''' == Issues == === Regarding {{Z|80}} === {{Z|80}} is a {{Z|4}} with a single key: value (Z80K1), which is of type {{Z|13518}}. While {{Z|80}} is a built-in core type with an ID in the <code>Z1</code>--<code>Z99</code> range<ref>[[Wikifunctions:Reserved ZIDs#Ranges]] <code>Z1</code> – <code>Z99</code>: core types.</ref>, {{Z|13518}} is not. Given that {{Z|80}} is pre-defined in the system<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata A number of ZObjects are pre-defined for the Wikifunctions system, and used by the WikiLambda MediaWiki extension as well as the function-orchestrator (and through that, the function-evaluator).</ref><ref name="Z80 initial">[[Special:PermanentLink/32]] Revision as of 2023-07-26T18:29:41 by [[User:WikiLambda system|WikiLambda system]] ''(Initial pre-defined WikiLambda content creation)''</ref>, having it depend on the later defined {{Z|13518}} is problematic. It should be noted that, initially, a byte's value was stored as a {{Z|6}}<ref name="Z80 initial" />, one of the core builtin types of Wikifunctions. It is also still a {{Z|6}} in the [https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata function-schemata]<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata/-/blob/main/data/CANONICAL/Z80.yaml <syntaxhighlight lang="yaml"> Z80K1: $ref: "#/definitions/objects/Z6_byte" </syntaxhighlight></ref>, which aims to provide a "single version of the truth" regarding what counts as a valid ZObject<ref>https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata shared set of JSON schemata for the Wikifunctions project, to achieve a "single version of the truth" on what counts as a structurally valid ZObject, and provide shared utility code</ref>. {{Z|80}} was changed to use {{Z|13518}} following [[Wikifunctions:Type proposals/Byte]]<ref>[[Wikifunctions:Type proposals/Byte#Alternatives]] The current proposal is Option 3 in the following list of Alternatives. (Option 3) A byte consists of one key that represents the value of the byte. The value is of type natural number, and has to be between the values of 0 and 255, including the edges.</ref>. This proposal highlights the lack of proper support for the {{Z|80}} type when it was defined upon {{Z|6}}, especially regarding code converters. This proposal added two type converters for JavaScript and Python where {{Z|80}} objects would get converted into Python <syntaxhighlight lang="python" inline>int</syntaxhighlight> and JavaScript <syntaxhighlight lang="javascript" inline>Number</syntaxhighlight>. Accordingly, the value's type was changed to {{Z|13518}}. ==== Lessons ==== Having {{Z|80}} be a built-in type is coherent: it is the fundamental unit used to measure and access memory in computing, and the most fundamental representation of a number<ref>[[w:Byte]]</ref>. Having it be defined upon a natural number type is also coherent: a byte represents a single value in the range 0-255, and is represented as a number in other programming languages<ref>[[Wikifunctions:Type proposals/Byte#Python]] The most idiomatic conversion in Python is to convert a Wikifunctions Byte to a Python int.</ref><ref>[[Wikifunctions:Type proposals/Byte#JavaScript]] The most idiomatic conversion in JavaScript is to convert a Wikifunctions Byte to a JavaScript number.</ref>. Hence, we argue that it is not coherent for {{Z|13518}} to not be a built-in. Having a built-in natural number type means that we can keep the preferred representation of having a byte's value stored as a number without breaking the hierarchy of built-ins and non-built-ins. === Arithmetic in the composition language === The [[Wikifunctions:Glossary#composition|composition]] language, while slow, is the most portable, abstract [[WF:PROG|programming language available on Wikifunctions]]. It defines functions as composition of other functions, which has multiple advantages: * It is language agnostic. As Wikifunctions renders the composed function calls using the localized function labels, a composition implementation can be read entirely in the user's chosen language, given that the required labels are present. On the contrary, code implementations rely on English keywords<ref>See the [https://docs.python.org/3/reference/lexical_analysis.html#keywords list of Python keywords] and the [https://tc39.es/ecma262/#prod-ReservedWord ECMAScript list of reserved keywords].</ref> and can have inner variable or function names in any language that are not localized. * It is portable and entirely defined within the scope of the Wikifunctions project, without relying on external specifications and implementations such as with code implementations. * It serves as a well-understood formalism and a very simple implementation of a function in order to ensure that the other implementations of it are correct<ref>[[Wikifunctions:Function model#Composition]] it allows us to use a well-understood formalism and a very simple implementation of it in order to ensure that the other implementations of Z781/add are correct</ref>. Composition implementations are considered "defining implementations" and are used alongside faster, optimized, but harder to comprehend code implementations. Ideally, all functions should have an implementation as a composition, or an implementaion as composition of functions which are themselves a composition of built-in, etc. This allows a proper clear definition of all functions, independently of their implementations technicalities. In its current state, however, all arithmetic functions on Wikifunctions lack such a composition implementation. Let us take a look at {{Z|13521}} for example: all of its composition implementations end up calling {{Z|13578}}, whose only composition implementation relies back on {{Z|13521}}. This is coherent: given that there is no built-in number type, there is also no built-in numeric operation. But this also implies that none of the [[Wikifunctions:Catalogue/Number operations|many number operations]] on Wikifunctions have a proper, well-defined implementation as composition of built-ins. ==== Lessons ==== Looking at [[Wikifunctions:Catalogue]] reveals that many of the functions on this website are related to arithmetic and mathematics<ref>[[Wikifunctions:Catalogue/Sign operations|Sign operations]], [[Wikifunctions:Catalogue/Scientific functions|Scientific functions]], and [[Wikifunctions:Catalogue/Number operations|Number operations]] operate on number types.</ref>, and hence operate on numbers. Having a built-in number type allows the creation of composition implementations for all those functions, proper, well-defined implementations as composition of built-ins. Given that composition is the language of Wikifunctions, it being incapable of representing most of its functions is incoherent. == Proposal == As we said multiple times over the course of the previous section, we propose the creation of two new built-in types for numbers. === Current situation === Per the numeric type hierarchy found at [[Template:Type documentation]], we can identify two different type of number types: * Integers, such as {{Z|80}}, {{Z|13518}}, or {{Z|19677}} (which is a pair of integers). These are usually unbounded. Most of them end up depending on {{Z|13518}}. * Floating point numbers, such as {{Z|20838}}, or {{Z|33198}} (which is a pair of floating point numbers). These follow the IEEE 754 standard, which means they are bounded and have a limited precision. The parent for these types is {{Z|20838}}. The only built-in type among these is {{Z|80}}, but as said before, it relies on a non-built-in internal representation. === Proposed change === * Adding a built-in integer type. * Adding a built-in IEEE 754 floating point type. * Adding built-in functions to manipulate these two types. ==== Advantages ==== * Type hierarchy issues about {{Z|80}} depending on non-built-ins are fixed: it now depends on another built-in. It also improves the overall hierarchy, where all number types can be defined upon these two built-ins. This could come in useful for later optimizations (for example, reprensenting numbers without going through conversion to string). * We can have composition implementations for all mathematical and arithmetic functions, since these are now built-in types they can have built-in functions to work with them. ==== Further views ==== Currently, Wikifunctions only has two terminal types: {{Z|9}} and {{Z|6}}. This means that all types in Wikifunctions end up being represented as strings. Having built-in numbers opens the possibility for later software changes: for example, representing them internally and in the JSON as numbers. Considering the many performance issues of Wikifunctions, this could be interesting in a not-so-far future. According to the [[Wikifunctions:About|Wikifunctions Mission statement]], we should "Imagine a programming system that allows us to make the next big leap in knowledge representation". Representing something as fundamental as numbers is definitely essential, further renforcing the need for an endorsed built-in number type. Wikifunctions also aims "to create both a well-defined common catalog of functions that can be widely reused and an environment where functions can be quickly combined and executed on the fly"; arithmetic operations and mathematical computations are one of the most common type of functions, and should therefore benefit from first-class support. == Implementation == === Integer type === There are multiple options regarding which integer type should be made built-in: # The {{Z|80}} type, the only integer type which is bounded. # The {{Z|13518}} type, which most integer types rely on at the moment. # The {{Z|16683}} type. We can look at what Python and ECMAScript do for further inspiration: * Python has an <syntaxhighlight lang="python" inline>int</syntaxhighlight> type for representing integers; it is signed and unbounded. * ECMAScript has a <syntaxhighlight lang="python" inline>BigInt</syntaxhighlight> type for representing integers; it is signed and unbounded too. Considering these, we decided to go with {{Z|16683}} for our integer type. * {{Z|80}} can be defined by having the validator ensure it is within the 0-255 range. * {{Z|13518}} can be defined by having the validator ensure it is a non-negatuve integer. Given this, we can have efficient type converters from and to programming language types, with the added bonus of having all possible values be valid (e.g., if a Python function returns an int, it can always be converted to a valid {{Z|16683}}, unlike {{Z|13518}} which wouldn't support negative numbers). === Floating-point type === We propose to make the {{Z|20838}} type built-in. The IEEE 754 standard for floating point numbers is the ideal representation: it is a reference standard that has already been adopted on Wikifunctions. In its current implementation following [[Wikifunctions:Type proposals/float64]], it does however require quite a few different types: * The {{Z|16659}} enumeration (3 members) * The {{Z|20825}} enumeration (8 members) * Both a natural number and an integer type Our options at the moment are: # Turn all those types into built-ins # Change the internal representation of float64 Considering the need for performant functions, we propose having a different float 64 type whose value is an hexadecimal string representing the raw IEEE 754 byte representation. ==== Converters ==== The representation was arbitrarily chosen to be [[w:Endianness|little-endian]]. ===== JavaScript ===== The ECMAScript <syntaxhighlight lang="javascript" inline>DataView</syntaxhighlight> offers the required functions to access the raw bytes of a floating point number and format them as hexadecimal: <syntaxhighlight lang="javascript"> function fromNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setFloat64(0, num, true); return view.getBigUint64(0, true).toString(16); } </syntaxhighlight> Converting an hexadecimal string back into a floating point number is trivial now: <syntaxhighlight lang="javascript"> function toNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setBigUint64(0, BigInt(`0x${num}`), true); return view.getFloat64(0, true); } </syntaxhighlight> ===== Python ===== We have to use the <code>struct</code> module in order to access a floating point number's bytes: <syntaxhighlight lang="python"> import struct def fromNumber(num: float) -> str: return struct.pack('<d', num).hex() </syntaxhighlight> The reverse operation, converting hexadecimal bytes back into a floating point number, is trivial too: <syntaxhighlight lang="python"> import struct def toNumber(num: str) -> float: return struct.unpack('<d', bytes.fromhex(num))[0] </syntaxhighlight> === ZIDs === This proposal includes the creation of multiple new ZObjects, all of which require a statically assigned ZID. In [[Wikifunctions:Function model|the function model documentation]], functions in the range Z700-Z799 are used as sample arithmetic functions. Since many new built-in functions will be included in this proposal, having a dedicated range for them is coherent and avoids taking too much space in the previously used Z800-Z899 space. To remain coherent with this idea, new core types will be put in the Z70-Z79 range, which is coincidentally free. The IEEE 754 standard includes many operations that a system needs to implement to be considered conformant. The Z7000 range could be used for those, as there is more than a hundred of them. == Specifications == === Integers === ==== Summary ==== {{void|Short overview of the idea of this Type}} We propose the creation of a new type, named '''integer'''. It is part of the wider proposal to add two new built-in types for numbers. This type would be a built-in type whose ZID is in the 0-99 range. We propose Z70, as functions in the Z700-Z799 range are numeric operations. '''Integer''' is similar to the existing {{Z|16683}}, but there are some differences regarding its internal representation. ==== Uses ==== {{void|Prompts: * Why should this exist? * What kinds of functions would be created using this? * What standard concepts, if any, does this align with?}} There are many types that could be built on top of an integer type on Wikifunctions: {{Z|80}}, {{Z|13518}}, {{Z|19677}}... Having them all defined relatively to one standard built-in type improves the type hierarchy, allows further optimisations in the future, and fixes issues regarding built-in dependence on non built-ins. Integers are then used throughout Wikifunctions, whether for mathematical operations or for other uses (such as getting the length of a list). This new built-in type allows us to have composition of built-ins implementaions for all those functions. ==== Structure ==== {{void|Description of how a value of this type would look like and why}} This type has a single key, value (Z70K1), whose type is {{Z|6}}. This key holds a big endian lowercase hexadecimal representation of the number described. The string is preceded by a single minus character <code>-</code> if the number is negative. Note that <code>-0</code> is not a valid value. This format was chosen because it is well supported by both available programming languages (and by many others should they be added to Wikifunctions in the future) and should have rather good performance, as hexadecimal notation is close to how numbers are represented in the computer's memory. ===== Example values ===== Here is how the number <code>666</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "integer", "value": "29a" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z70", "Z70K1": "29a" }</syntaxhighlight> |} And here is how its opposite <code>-666</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "integer", "value": "-29a" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z70", "Z70K1": "-29a" }</syntaxhighlight> |} ==== Identity ==== Two integers are equal if and only if their hexadecimal representations are equal. ==== Converting to code ==== ===== Python ===== <syntaxhighlight lang="python"> def deserialize(Z70K1: str) -> int: return int(Z70K1, 16) </syntaxhighlight> <syntaxhighlight lang="python"> def serialize(integer: int) -> str: return f"{integer:x}" </syntaxhighlight> ===== JavaScript ===== <syntaxhighlight lang="javascript"> function deserialize(Z70K1) { if (Z70K1.startsWith("-")) { return -BigInt(`0x${Z70K1.slice(1)}`); } return BigInt(`0x${Z70K1}`); } </syntaxhighlight> <syntaxhighlight lang="javascript"> function serialize(big_int) { return big_int.toString(16); } </syntaxhighlight> ==== Display function ==== {{void|How would a value of this type be displayed on Wikifunctions. Remove this section for types that should not be displayed as a string.}} Integers should be displayed as localized numbers. For example, a French user would see <code>678910</code> as 678 910 while an American user might see 678,910. ==== Read function ==== {{void|When entering a value for this type as a string, what format should that string have? Remove this section for types that should not be entered as a string.}} The input should be interpreted as a either localized number in the user's language, or as a standard decimal number (without separators). ==== Alternatives ==== {{void|In order to capture the idea presented in the summary, what alternative structures, display functions, read functions, etc. could have made sense too? Please also link to any type proposals that "compete" with this one.}} # Having a separate Sign key in the type, but that would imply making Sign built-in too and would make conversion slower. ==== Comments ==== ''For general comments, please reply to the proposer.'' * {{s}} as proposer. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 09:20, 15 August 2026 (UTC) === Floating point numbers === ==== Summary ==== {{void|Short overview of the idea of this Type}} We propose the creation of a new type, named '''floating point number'''. It is part of the wider proposal to add two new built-in types for numbers. This type would be a built-in type whose ZID is in the 0-99 range. We propose Z71, as arithmetic functions occupy the Z700-Z999 range. The name '''floating point number''' has be chosen to differentiate this type from {{Z|20838}}. The internal representation used is different: while {{Z|20838}} stores each part of an IEEE 754 floating point number separately, '''floating point number''' simply stores the bytes as hexadecimal in a {{Z|6}} key. ==== Uses ==== {{void|Prompts: * Why should this exist? * What kinds of functions would be created using this? * What standard concepts, if any, does this align with?}} {{Z|20838}} is already a widely used type<ref>[[Special:WhatLinksHere/Z20838]] returns more than 500 items.</ref>, this proposal simply turns it into a built-in type. The different representation allows faster performance for complex composed functions. Its new built-in nature also permits the creation of built-in functions operating on floating point number, and then permit the creation of pure composition mathematical operations. This aligns with the standard concept of representing numbers; in that case, real numbers are approximated by floating point numbers. The international widely recoginzed IEEE 754 format is used as it has first-class support in code implementations. ==== Structure ==== {{void|Description of how a value of this type would look like and why}} This type has a single key, value (Z71K1), whose type is {{Z|6}}. This key holds a little-endian IEEE 754 number, whose bytes are reprsesented as hexadecimal. This was done for performance reasons: most operations do not work with individual components of the floating point number, but rather with the number as a whole. It also avoids having to make two new enumerations builtin for the sign and special value. ===== Example values ===== Here is how the number <code>666.67</code> would be stored: {|class="wikitable" style="margin:.6em 1.6em" |- | <syntaxhighlight lang="json" line="line">{   "type": "floating point number", "value": "8fc2f5285cd58440" }</syntaxhighlight> | <syntaxhighlight lang="json">{   "Z1K1": "Z71", "Z71K1": "8fc2f5285cd58440" }</syntaxhighlight> |} ==== Identity ==== Two floating point numbers are the same if the subtraction of their values (Z71K1) is equal to zero. The special case where either is equal to NaN means that they are not equal, even if both are NaN. ==== Converting to code ==== ===== Python ===== <syntaxhighlight lang="python"> import struct def fromNumber(num: float) -> str: return struct.pack('<d', num).hex() </syntaxhighlight> <syntaxhighlight lang="python"> import struct def toNumber(num: str) -> float: return struct.unpack('<d', bytes.fromhex(num))[0] </syntaxhighlight> ===== JavaScript ===== <syntaxhighlight lang="javascript"> function fromNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setFloat64(0, num, true); return view.getBigUint64(0, true).toString(16); } </syntaxhighlight> <syntaxhighlight lang="javascript"> function toNumber(num) { const buffer = new ArrayBuffer(8); const view = new DataView(buffer); view.setBigUint64(0, BigInt(`0x${num}`), true); return view.getFloat64(0, true); } </syntaxhighlight> ==== Display function ==== {{void|How would a value of this type be displayed on Wikifunctions. Remove this section for types that should not be displayed as a string.}} The cleanest way to display floating point numbers is using the localized number system. For example, a French user could have the sample number shown above displayed to them as <code>666,67</code>, while an user from the USA could see <code>666.67</code>. A Latin user might see <code>DCLXVI.LXVII</code>. ==== Read function ==== {{void|When entering a value for this type as a string, what format should that string have? Remove this section for types that should not be entered as a string.}} The input should be interpreted as a localized number in the user's language and then parsed into its IEEE 754 representation. ==== Alternatives ==== {{void|In order to capture the idea presented in the summary, what alternative structures, display functions, read functions, etc. could have made sense too? Please also link to any type proposals that "compete" with this one.}} # Using the existing float64 type structure, where each part has its own key. ==== Comments ==== ''For general comments, please reply to the proposer.'' * {{s}} as proposer. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 07:04, 15 August 2026 (UTC) == Discussion == '''We are aware that what we propose are major breaking changes that could take time and effort to implement.''' We believe that, as its own programming system, Wikifunctions ''needs'' first-class support for a concept as fundamental as numbers; and that this proposal will make further work with numbers easier while opening the door to further improvements. We submit this first proposal for the community to discuss it and to get advice regarding its implementation if it is approved. [[User:Virinas-code|Virinas-code]] ([[User talk:Virinas-code|talk]]) 09:36, 15 August 2026 (UTC) hcqc4xd25cma60q0yiek23bjvhk2vhn Z39473 0 90145 299654 299549 2026-08-15T16:14:48Z Artsiom91 2118 fix en label 299654 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39473" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z39473K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "country name" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "страна" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z25501", "Z17K2": "Z39473K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "gender" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "род" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z26934", "Z17K2": "Z39473K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "number" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "число" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39473" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Russian country denomym adjective (string input)" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "русское прилагательное-демоним страны" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Returns demonym adjective of a country, continent, or former country in Russian." }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "Возвращает прилагательное-демоним страны, региона или бывшей страны на русском языке." } ] } } 970hsl4rp5hfh86yc4j86bb0rr2xwtb 299657 299654 2026-08-15T16:21:09Z ZI Jony 1002 Added Z39474 to the approved list of implementations 299657 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39473" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z39473K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "country name" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "страна" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z25501", "Z17K2": "Z39473K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "gender" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "род" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z26934", "Z17K2": "Z39473K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "number" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "число" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39474" ], "Z8K5": "Z39473" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Russian country denomym adjective (string input)" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "русское прилагательное-демоним страны" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Returns demonym adjective of a country, continent, or former country in Russian." }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "Возвращает прилагательное-демоним страны, региона или бывшей страны на русском языке." } ] } } 0twwdwh0j7eavh2e9yrl87ps4sdm391 299658 299657 2026-08-15T16:21:13Z ZI Jony 1002 Added Z39475, Z39476 and Z39477 to the approved list of test cases 299658 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39473" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z39473K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "country name" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "страна" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z25501", "Z17K2": "Z39473K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "gender" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "род" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z26934", "Z17K2": "Z39473K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "number" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "число" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20", "Z39475", "Z39476", "Z39477" ], "Z8K4": [ "Z14", "Z39474" ], "Z8K5": "Z39473" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Russian country denomym adjective (string input)" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "русское прилагательное-демоним страны" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Returns demonym adjective of a country, continent, or former country in Russian." }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "Возвращает прилагательное-демоним страны, региона или бывшей страны на русском языке." } ] } } 04mnqr47e6c1v42oxc5dl3yvmiqf868 Z39474 0 90146 299655 299592 2026-08-15T16:15:43Z Artsiom91 2118 add en label 299655 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39474" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39473", "Z14K3": { "Z1K1": "Z16", "Z16K1": "Z610", "Z16K2": "def Z39473(Z39473K1, Z39473K2, Z39473K3):\n country = Z39473K1.lower()\n stem = country\n \n exceptional = { # to extendм\n \"абхазия\": \"абхазск\",\n \"австралия\": \"австралийск\",\n \"англия\": \"английск\",\n \"австрия\": \"австрийск\",\n \"армения\": \"армянск\",\n \"беларусь\": \"белорусск\",\n \"великобритания\": \"британск\",\n \"венгрия\": \"венгерск\",\n \"германия\": \"немецк\",\n \"греция\": \"греческ\",\n \"дания\": \"датск\",\n \"зимбабве\": \"зимбабвийск\",\n \"индия\": \"индийск\",\n \"италия\": \"итальянск\",\n \"кения\": \"кенийск\",\n \"коста-рика\": \"костариканск\",\n \"кот-д’ивуар\": \"ивуарийск\",\n \"литва\": \"литовск\",\n \"марокко\": \"марокканск\",\n \"мьянма\": \"мьянманск\",\n \"мексика\": \"мексиканск\",\n \"новая зеландия\": \"новозеландск\",\n \"норвегия\": \"норвежск\",\n \"польша\": \"польск\",\n \"сан-марино\": \"сан-маринск\",\n \"сербия\": \"сербск\",\n \"сирия\": \"сирийск\",\n \"словакия\": \"словацк\",\n \"сша\": \"американск\",\n \"финляндия\": \"финск\",\n \"франция\": \"французск\",\n \"чехия\": \"чешск\",\n \"швеция\": \"шведск\"\n }\n \n if country in exceptional:\n stem = exceptional[country]\n \n elif country.endswith(\" империя\"):\n stem = country[:-10]\n \n elif country.endswith(\" республика\"):\n stem = country[:-13]\n \n elif country.endswith(\"ы\"):\n stem = country[:-1] + \"ск\"\n \n elif country.endswith(\"ла\"):\n stem = country[:-1] + \"ьск\"\n \n elif country.endswith(\"а\"):\n stem = country[:-1] + \"ск\"\n \n elif country.endswith(\"о\"):\n stem = country[:-1] + \"ск\"\n \n elif country.endswith(\"лия\"):\n stem = country[:-2] + \"ьск\"\n \n elif country.endswith(\"ния\"):\n stem = country[:-2] + \"ск\"\n\n elif country.endswith(\"бия\"):\n stem = country[:-2] + \"ийск\"\n \n elif country.endswith(\"сия\"):\n stem = country[:-2] + \"ийск\"\n \n elif country.endswith(\"зия\"):\n stem = country[:-2] + \"ийск\"\n\n elif country.endswith(\"ия\"):\n stem = country[:-2] + \"ск\"\n\n else:\n stem = country + \"ск\"\n\n match Z39473K3.Z26934K1.Z6091K1:\n case \"Q146786\": # Plural\n return (stem + \"ие\")\n case _:\n match Z39473K2.Z25501K1.Z6091K1:\n\t case \"Q499327\": #masculine\n return (stem + \"ий\")\n\t case \"Q1775415\": #feminine\n return (stem + \"ая\")\n\t case _: #neuter\n\t return (stem + \"ое\")\n\t" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "русское прилагательное-демоним страны (python)" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Russian country denomym adjective python" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 0fw1bph90je1rjct7yzz2ycto5v3ev0 Z39478 0 90152 299672 299573 2026-08-15T19:35:10Z Jsamwrites 938 Added Z39497 to the approved list of test cases 299672 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39478" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39478K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20", "Z39497" ], "Z8K4": [ "Z14", "Z39479" ], "Z8K5": "Z39478" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French lexical form requires elision" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 2a7txrvd6v0r1ze7dsipane7d73cm2i 299690 299672 2026-08-15T20:00:25Z Jsamwrites 938 Added Z39501 to the approved list of test cases 299690 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39478" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39478K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20", "Z39497", "Z39501" ], "Z8K4": [ "Z14", "Z39479" ], "Z8K5": "Z39478" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French lexical form requires elision" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } b5tczhsk0j4vhf9b4lnxpz6a7j4emw9 299694 299690 2026-08-15T20:13:10Z Jsamwrites 938 Added Z39502 to the approved list of test cases 299694 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39478" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39478K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20", "Z39497", "Z39501", "Z39502" ], "Z8K4": [ "Z14", "Z39479" ], "Z8K5": "Z39478" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French lexical form requires elision" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 0vv5mxll5im0f3ehpw7t573b9gw4d8e 299697 299694 2026-08-15T20:16:12Z Jsamwrites 938 Added Z39503 and Z39504 to the approved list of test cases 299697 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39478" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39478K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20", "Z39497", "Z39501", "Z39502", "Z39503", "Z39504" ], "Z8K4": [ "Z14", "Z39479" ], "Z8K5": "Z39478" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French lexical form requires elision" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 8r1kmveh6q8njht2jp1v54b5psq5ppm Z39479 0 90153 299688 299571 2026-08-15T19:57:38Z Jsamwrites 938 299688 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39479" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39478", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z10196", "Z10196K1": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39422", "Z39422K1": { "Z1K1": "Z18", "Z18K1": "Z39478K1" }, "Z39422K2": [ "Z6091" ], "Z39422K3": "Z1004" } }, "Z10196K2": "^[b-df-gj-np-tv-xzB-DF-GJ-NP-TV-XZ]" }, "Z802K2": { "Z1K1": "Z40", "Z40K1": "Z42" }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z19565", "Z19565K1": { "Z1K1": "Z7", "Z7K1": "Z10196", "Z10196K1": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39422", "Z39422K1": { "Z1K1": "Z18", "Z18K1": "Z39478K1" }, "Z39422K2": [ "Z6091" ], "Z39422K3": "Z1004" } }, "Z10196K2": "^[h]" }, "Z19565K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z23568", "Z23568K1": { "Z1K1": "Z6091", "Z6091K1": "Q131441009" }, "Z23568K2": { "Z1K1": "Z7", "Z7K1": "Z39498", "Z39498K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z6830", "Z6830K1": { "Z1K1": "Z18", "Z18K1": "Z39478K1" }, "Z6830K2": { "Z1K1": "Z6092", "Z6092K1": "P5137" }, "Z6830K3": "Z1004" } } } }, "Z802K2": { "Z1K1": "Z40", "Z40K1": "Z42" }, "Z802K3": { "Z1K1": "Z40", "Z40K1": "Z41" } }, "Z19565K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z10196", "Z10196K1": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39422", "Z39422K1": { "Z1K1": "Z18", "Z18K1": "Z39478K1" }, "Z39422K2": [ "Z6091" ], "Z39422K3": "Z1004" } }, "Z10196K2": "[^aàâäeéèêëiîïoôöuùûüyÿ]" }, "Z802K2": { "Z1K1": "Z40", "Z40K1": "Z41" }, "Z802K3": { "Z1K1": "Z40", "Z40K1": "Z42" } }, "Z19565K4": { "Z1K1": "Z40", "Z40K1": "Z42" }, "Z19565K5": { "Z1K1": "Z40", "Z40K1": "Z42" } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French lexical form requires elision, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } cbmb9a5p1kceospddhco0ft8wz1d2jm 299691 299688 2026-08-15T20:04:34Z Jsamwrites 938 299691 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39479" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39478", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z10196", "Z10196K1": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39422", "Z39422K1": { "Z1K1": "Z18", "Z18K1": "Z39478K1" }, "Z39422K2": [ "Z6091" ], "Z39422K3": "Z1004" } }, "Z10196K2": "^[b-df-gj-np-tv-xzB-DF-GJ-NP-TV-XZ]" }, "Z802K2": { "Z1K1": "Z40", "Z40K1": "Z42" }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z19565", "Z19565K1": { "Z1K1": "Z7", "Z7K1": "Z10196", "Z10196K1": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39422", "Z39422K1": { "Z1K1": "Z18", "Z18K1": "Z39478K1" }, "Z39422K2": [ "Z6091" ], "Z39422K3": "Z1004" } }, "Z10196K2": "^[h]" }, "Z19565K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z23568", "Z23568K1": { "Z1K1": "Z6091", "Z6091K1": "Q131441009" }, "Z23568K2": { "Z1K1": "Z7", "Z7K1": "Z39498", "Z39498K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z6830", "Z6830K1": { "Z1K1": "Z18", "Z18K1": "Z39478K1" }, "Z6830K2": { "Z1K1": "Z6092", "Z6092K1": "P5137" }, "Z6830K3": "Z1004" } } } }, "Z802K2": { "Z1K1": "Z40", "Z40K1": "Z42" }, "Z802K3": { "Z1K1": "Z40", "Z40K1": "Z41" } }, "Z19565K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z10196", "Z10196K1": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39422", "Z39422K1": { "Z1K1": "Z18", "Z18K1": "Z39478K1" }, "Z39422K2": [ "Z6091" ], "Z39422K3": "Z1004" } }, "Z10196K2": "^[aàâäeéèêëiîïoôöuùûüyÿ]" }, "Z802K2": { "Z1K1": "Z40", "Z40K1": "Z41" }, "Z802K3": { "Z1K1": "Z40", "Z40K1": "Z42" } }, "Z19565K4": { "Z1K1": "Z40", "Z40K1": "Z42" }, "Z19565K5": { "Z1K1": "Z40", "Z40K1": "Z42" } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French lexical form requires elision, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } tbsb43dlg0p15xx8uygpjo9tdtzyqsb 299692 299691 2026-08-15T20:11:55Z Jsamwrites 938 299692 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39479" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39478", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z10196", "Z10196K1": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39422", "Z39422K1": { "Z1K1": "Z18", "Z18K1": "Z39478K1" }, "Z39422K2": [ "Z6091" ], "Z39422K3": "Z1004" } }, "Z10196K2": "^[b-df-gj-np-tv-xzB-DF-GJ-NP-TV-XZ]" }, "Z802K2": { "Z1K1": "Z40", "Z40K1": "Z42" }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z10196", "Z10196K1": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39422", "Z39422K1": { "Z1K1": "Z18", "Z18K1": "Z39478K1" }, "Z39422K2": [ "Z6091" ], "Z39422K3": "Z1004" } }, "Z10196K2": "^[h]" }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z23568", "Z23568K1": { "Z1K1": "Z6091", "Z6091K1": "Q131441009" }, "Z23568K2": { "Z1K1": "Z7", "Z7K1": "Z39498", "Z39498K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z6830", "Z6830K1": { "Z1K1": "Z18", "Z18K1": "Z39478K1" }, "Z6830K2": { "Z1K1": "Z6092", "Z6092K1": "P5137" }, "Z6830K3": "Z1004" } } } }, "Z802K2": { "Z1K1": "Z40", "Z40K1": "Z42" }, "Z802K3": { "Z1K1": "Z40", "Z40K1": "Z41" } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z10196", "Z10196K1": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39422", "Z39422K1": { "Z1K1": "Z18", "Z18K1": "Z39478K1" }, "Z39422K2": [ "Z6091" ], "Z39422K3": "Z1004" } }, "Z10196K2": "^[aàâäeéèêëiîïoôöuùûüyÿ]" }, "Z802K2": { "Z1K1": "Z40", "Z40K1": "Z41" }, "Z802K3": { "Z1K1": "Z40", "Z40K1": "Z42" } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French lexical form requires elision, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } moa9n6avhe9lzrqbaut6j51k1jv9hfk Z39480 0 90154 299622 299597 2026-08-15T12:13:32Z 99of9 1622 299622 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39480" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z38411", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z38411", "Z38411K1": { "Z1K1": "Z6091", "Z6091K1": "Q55771891" }, "Z38411K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q17985717" }, { "Z1K1": "Z6091", "Z6091K1": "Q17001625" }, { "Z1K1": "Z6091", "Z6091K1": "Q7230471" }, { "Z1K1": "Z6091", "Z6091K1": "Q31039436" }, { "Z1K1": "Z6091", "Z6091K1": "Q24189336" }, { "Z1K1": "Z6091", "Z6091K1": "Q31202277" } ], "Z38411K3": { "Z1K1": "Z40", "Z40K1": "Z41" }, "Z38411K4": { "Z1K1": "Z6091", "Z6091K1": "Q192613" }, "Z38411K5": "Z1113" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z14392", "Z14392K2": { "Z1K1": "Z11", "Z11K1": "Z1113", "Z11K2": " It shares borders with Bajool, Bouldercombe, Port Alma, Port Curtis, Nerimbera and Nankin." } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "[en-au] Midgee borders 6 localities" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } pbu1oshs9b2bedg6b8mv652gdshl3t3 299623 299622 2026-08-15T12:15:38Z 99of9 1622 remove errant space 299623 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39480" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z38411", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z38411", "Z38411K1": { "Z1K1": "Z6091", "Z6091K1": "Q55771891" }, "Z38411K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q17985717" }, { "Z1K1": "Z6091", "Z6091K1": "Q17001625" }, { "Z1K1": "Z6091", "Z6091K1": "Q7230471" }, { "Z1K1": "Z6091", "Z6091K1": "Q31039436" }, { "Z1K1": "Z6091", "Z6091K1": "Q24189336" }, { "Z1K1": "Z6091", "Z6091K1": "Q31202277" } ], "Z38411K3": { "Z1K1": "Z40", "Z40K1": "Z41" }, "Z38411K4": { "Z1K1": "Z6091", "Z6091K1": "Q192613" }, "Z38411K5": "Z1113" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z14392", "Z14392K2": { "Z1K1": "Z11", "Z11K1": "Z1113", "Z11K2": "It shares borders with Bajool, Bouldercombe, Port Alma, Port Curtis, Nerimbera and Nankin." } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "[en-au] Midgee borders 6 localities" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 8kbwdtvvxxhcbae2qujd1enl5ut1hqc Z39485 0 90159 299621 2026-08-15T12:12:38Z 99of9 1622 299621 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39485" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z14392", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14392", "Z14392K1": { "Z1K1": "Z7", "Z7K1": "Z38425", "Z38425K1": { "Z1K1": "Z6091", "Z6091K1": "Q55771891" }, "Z38425K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q17985717" }, { "Z1K1": "Z6091", "Z6091K1": "Q17001625" }, { "Z1K1": "Z6091", "Z6091K1": "Q7230471" }, { "Z1K1": "Z6091", "Z6091K1": "Q31039436" }, { "Z1K1": "Z6091", "Z6091K1": "Q24189336" }, { "Z1K1": "Z6091", "Z6091K1": "Q31202277" } ], "Z38425K3": { "Z1K1": "Z40", "Z40K1": "Z41" }, "Z38425K4": { "Z1K1": "Z6091", "Z6091K1": "Q192613" }, "Z38425K5": "Z1113" }, "Z14392K2": { "Z1K1": "Z11", "Z11K1": "Z1113", "Z11K2": "It shares borders with Bajool, Bouldercombe, Port Alma, Port Curtis, Nerimbera and Nankin." } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z844", "Z844K2": { "Z1K1": "Z40", "Z40K1": "Z41" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "result from function equal to text with language r" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } n2hfrrecjo77mvamjx467qoof0wpk95 Z39486 0 90160 299624 2026-08-15T12:17:59Z 99of9 1622 299624 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39486" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39486K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39486K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "list of neighbours" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z40", "Z17K2": "Z39486K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity repeated?" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39486K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z39486K5", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language requested" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39486" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "shares border with-sentence, default" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 38jemo5yc7l3nkq0p7d4iy9zvy2l4ns 299626 299624 2026-08-15T12:23:48Z 99of9 1622 Added Z39487 to the approved list of implementations 299626 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39486" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39486K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39486K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "list of neighbours" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z40", "Z17K2": "Z39486K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity repeated?" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39486K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z39486K5", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language requested" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39487" ], "Z8K5": "Z39486" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "shares border with-sentence, default" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 8n9ljwcyoo89a70w3iuvsiyxpxu49qi 299638 299626 2026-08-15T13:16:54Z 99of9 1622 Added Z39488 to the approved list of test cases 299638 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39486" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39486K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39486K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "list of neighbours" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z40", "Z17K2": "Z39486K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity repeated?" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39486K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z39486K5", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language requested" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z39488" ], "Z8K4": [ "Z14", "Z39487" ], "Z8K5": "Z39486" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "shares border with-sentence, default" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 8tpzb7y2dflx79q7bqok9v09iqio0xx Z39487 0 90161 299625 2026-08-15T12:23:31Z 99of9 1622 299625 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39487" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39486", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z26107", "Z26107K1": "Z1360", "Z26107K2": { "Z1K1": "Z7", "Z7K1": "Z22511", "Z22511K1": { "Z1K1": "Z7", "Z7K1": "Z22504", "Z22504K1": [ "Z6", { "Z1K1": "Z7", "Z7K1": "Z36270", "Z36270K1": { "Z1K1": "Z6091", "Z6091K1": "Q133346" }, "Z36270K2": { "Z1K1": "Z18", "Z18K1": "Z39486K5" } }, "(", { "Z1K1": "Z7", "Z7K1": "Z36270", "Z36270K1": { "Z1K1": "Z18", "Z18K1": "Z39486K1" }, "Z36270K2": { "Z1K1": "Z18", "Z18K1": "Z39486K5" } }, ") = {", { "Z1K1": "Z7", "Z7K1": "Z32283", "Z32283K1": { "Z1K1": "Z7", "Z7K1": "Z13464", "Z13464K1": "Z36270", "Z13464K2": { "Z1K1": "Z18", "Z18K1": "Z39486K2" }, "Z13464K3": { "Z1K1": "Z18", "Z18K1": "Z39486K5" } }, "Z32283K2": { "Z1K1": "Z18", "Z18K1": "Z39486K5" } }, "}" ] } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "shares border with sentence, default" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 1lp61d20bgpl3jwlm4adupi9xkb3t9y Z39488 0 90162 299627 2026-08-15T12:31:53Z 99of9 1622 Border ( Judea ) = { Samaria }. 299627 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39488" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39486", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39486", "Z39486K1": { "Z1K1": "Z6091", "Z6091K1": "Q94586595" }, "Z39486K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1294629" } ], "Z39486K3": { "Z1K1": "Z40", "Z40K1": "Z42" }, "Z39486K4": { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, "Z39486K5": "Z1002" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z14392", "Z14392K2": { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Border ( Judea ) = { Samaria }." } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Border ( Judea ) = { Samaria }." } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } bhnmnnqv9ouldd0k8kr7ic88qrh2c0n 299628 299627 2026-08-15T12:32:49Z 99of9 1622 299628 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39488" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39486", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39486", "Z39486K1": { "Z1K1": "Z6091", "Z6091K1": "Q94586595" }, "Z39486K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1294629" } ], "Z39486K3": { "Z1K1": "Z40", "Z40K1": "Z42" }, "Z39486K4": { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, "Z39486K5": "Z1002" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z14392", "Z14392K2": { "Z1K1": "Z11", "Z11K1": "Z1360", "Z11K2": "Border ( Judea ) = { Samaria }." } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "English: [mul] \"Border ( Judea ) = { Samaria }.\"" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 57t3mgr2kew736vgqp4ahzut14li771 Z39489 0 90163 299639 2026-08-15T15:17:56Z Artsiom91 2118 start 299639 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39489" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39489K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "country or region" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z39489K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "requested language" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z25501", "Z17K2": "Z39489K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "gender" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z28215", "Z17K2": "Z39489K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "number" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z40", "Z17K2": "Z39489K5", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "use noun form?" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39489" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Russian demonym" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Returns demonym (noun or adjective) of a country, continent, or former country in Russian." } ] } } 74uaczjer9o0y7y8vnndxotegnci85q 299644 299639 2026-08-15T15:23:53Z Artsiom91 2118 add ru desc 299644 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39489" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39489K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "country or region" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z39489K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "requested language" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z25501", "Z17K2": "Z39489K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "gender" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z28215", "Z17K2": "Z39489K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "number" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z40", "Z17K2": "Z39489K5", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "use noun form?" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39489" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Russian demonym" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "русский демоним" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Returns demonym (noun or adjective) of a country, continent, or former country in Russian." }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "Возвращает демоним (существительное или прилагательное) страны, региона или бывшей страны на русском языке." } ] } } ehwy25k0wec1w1pf8yv0di27q7xs8ix 299659 299644 2026-08-15T16:21:21Z ZI Jony 1002 Added Z39490 to the approved list of implementations 299659 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39489" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39489K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "country or region" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z39489K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "requested language" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z25501", "Z17K2": "Z39489K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "gender" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z28215", "Z17K2": "Z39489K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "number" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z40", "Z17K2": "Z39489K5", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "use noun form?" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39490" ], "Z8K5": "Z39489" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Russian demonym" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "русский демоним" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Returns demonym (noun or adjective) of a country, continent, or former country in Russian." }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "Возвращает демоним (существительное или прилагательное) страны, региона или бывшей страны на русском языке." } ] } } lk6kqq9gaitl3e5zb2cs8hada9nsldf 299660 299659 2026-08-15T16:21:26Z ZI Jony 1002 Added Z39491, Z39492 and Z39493 to the approved list of test cases 299660 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39489" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39489K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "country or region" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z39489K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "requested language" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z25501", "Z17K2": "Z39489K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "gender" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z28215", "Z17K2": "Z39489K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "number" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z40", "Z17K2": "Z39489K5", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "use noun form?" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z39491", "Z39492", "Z39493" ], "Z8K4": [ "Z14", "Z39490" ], "Z8K5": "Z39489" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Russian demonym" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "русский демоним" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Returns demonym (noun or adjective) of a country, continent, or former country in Russian." }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "Возвращает демоним (существительное или прилагательное) страны, региона или бывшей страны на русском языке." } ] } } o674ifime4cwtc8tagvnbgox5qtc5z1 Z39490 0 90164 299642 2026-08-15T15:22:07Z Artsiom91 2118 copy from mul fallback 299642 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39490" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39489", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z18", "Z18K1": "" }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z813", "Z813K1": { "Z1K1": "Z7", "Z7K1": "Z39011", "Z39011K1": { "Z1K1": "Z7", "Z7K1": "Z873", "Z873K1": "Z6825", "Z873K2": { "Z1K1": "Z7", "Z7K1": "Z6830", "Z6830K1": { "Z1K1": "Z18", "Z18K1": "" }, "Z6830K2": { "Z1K1": "Z6092", "Z6092K1": "P6271" }, "Z6830K3": { "Z1K1": "Z18", "Z18K1": "" } } }, "Z39011K2": { "Z1K1": "Z18", "Z18K1": "" }, "Z39011K3": { "Z1K1": "Z18", "Z18K1": "" } } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z38994", "Z38994K1": { "Z1K1": "Z18", "Z18K1": "" }, "Z38994K2": "Z1002", "Z38994K3": { "Z1K1": "Z18", "Z18K1": "" }, "Z38994K4": { "Z1K1": "Z18", "Z18K1": "" }, "Z38994K5": { "Z1K1": "Z18", "Z18K1": "" } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z13036", "Z13036K1": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z6894", "Z6894K1": { "Z1K1": "Z18", "Z18K1": "" }, "Z6894K2": { "Z1K1": "Z28215", "Z28215K1": { "Z1K1": "Z6091", "Z6091K1": "Q110786" } } }, "Z802K2": "Z19252", "Z802K3": "Z19260" }, "Z13036K2": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z39011", "Z39011K1": { "Z1K1": "Z7", "Z7K1": "Z873", "Z873K1": "Z6825", "Z873K2": { "Z1K1": "Z7", "Z7K1": "Z6830", "Z6830K1": { "Z1K1": "Z18", "Z18K1": "" }, "Z6830K2": { "Z1K1": "Z6092", "Z6092K1": "P6271" }, "Z6830K3": { "Z1K1": "Z18", "Z18K1": "" } } }, "Z39011K2": { "Z1K1": "Z18", "Z18K1": "" }, "Z39011K3": { "Z1K1": "Z18", "Z18K1": "" } } } } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z19530", "Z19530K1": { "Z1K1": "Z7", "Z7K1": "Z22807", "Z22807K1": { "Z1K1": "Z7", "Z7K1": "Z873", "Z873K1": "Z6825", "Z873K2": { "Z1K1": "Z7", "Z7K1": "Z30460", "Z30460K1": { "Z1K1": "Z18", "Z18K1": "" }, "Z30460K2": { "Z1K1": "Z18", "Z18K1": "" } } }, "Z22807K2": { "Z1K1": "Z6091", "Z6091K1": "Q34698" } }, "Z19530K2": [ "Z6091" ] } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } cs0megupml3egif9v6mhbaus7xpo0or 299643 299642 2026-08-15T15:22:59Z Artsiom91 2118 add labels 299643 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39490" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39489", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z18", "Z18K1": "" }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z813", "Z813K1": { "Z1K1": "Z7", "Z7K1": "Z39011", "Z39011K1": { "Z1K1": "Z7", "Z7K1": "Z873", "Z873K1": "Z6825", "Z873K2": { "Z1K1": "Z7", "Z7K1": "Z6830", "Z6830K1": { "Z1K1": "Z18", "Z18K1": "" }, "Z6830K2": { "Z1K1": "Z6092", "Z6092K1": "P6271" }, "Z6830K3": { "Z1K1": "Z18", "Z18K1": "" } } }, "Z39011K2": { "Z1K1": "Z18", "Z18K1": "" }, "Z39011K3": { "Z1K1": "Z18", "Z18K1": "" } } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z38994", "Z38994K1": { "Z1K1": "Z18", "Z18K1": "" }, "Z38994K2": "Z1002", "Z38994K3": { "Z1K1": "Z18", "Z18K1": "" }, "Z38994K4": { "Z1K1": "Z18", "Z18K1": "" }, "Z38994K5": { "Z1K1": "Z18", "Z18K1": "" } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z13036", "Z13036K1": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z6894", "Z6894K1": { "Z1K1": "Z18", "Z18K1": "" }, "Z6894K2": { "Z1K1": "Z28215", "Z28215K1": { "Z1K1": "Z6091", "Z6091K1": "Q110786" } } }, "Z802K2": "Z19252", "Z802K3": "Z19260" }, "Z13036K2": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z39011", "Z39011K1": { "Z1K1": "Z7", "Z7K1": "Z873", "Z873K1": "Z6825", "Z873K2": { "Z1K1": "Z7", "Z7K1": "Z6830", "Z6830K1": { "Z1K1": "Z18", "Z18K1": "" }, "Z6830K2": { "Z1K1": "Z6092", "Z6092K1": "P6271" }, "Z6830K3": { "Z1K1": "Z18", "Z18K1": "" } } }, "Z39011K2": { "Z1K1": "Z18", "Z18K1": "" }, "Z39011K3": { "Z1K1": "Z18", "Z18K1": "" } } } } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z19530", "Z19530K1": { "Z1K1": "Z7", "Z7K1": "Z22807", "Z22807K1": { "Z1K1": "Z7", "Z7K1": "Z873", "Z873K1": "Z6825", "Z873K2": { "Z1K1": "Z7", "Z7K1": "Z30460", "Z30460K1": { "Z1K1": "Z18", "Z18K1": "" }, "Z30460K2": { "Z1K1": "Z18", "Z18K1": "" } } }, "Z22807K2": { "Z1K1": "Z6091", "Z6091K1": "Q34698" } }, "Z19530K2": [ "Z6091" ] } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "русский демоним, композиция" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Russian demonym, composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 18av4zf42gv51dmwx4me81dqr6vn9us 299645 299643 2026-08-15T15:31:31Z Artsiom91 2118 fix inputs 299645 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39490" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39489", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z18", "Z18K1": "Z39489K5" }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z813", "Z813K1": { "Z1K1": "Z7", "Z7K1": "Z39011", "Z39011K1": { "Z1K1": "Z7", "Z7K1": "Z873", "Z873K1": "Z6825", "Z873K2": { "Z1K1": "Z7", "Z7K1": "Z6830", "Z6830K1": { "Z1K1": "Z18", "Z18K1": "Z39489K1" }, "Z6830K2": { "Z1K1": "Z6092", "Z6092K1": "P6271" }, "Z6830K3": { "Z1K1": "Z18", "Z18K1": "Z39489K2" } } }, "Z39011K2": { "Z1K1": "Z18", "Z18K1": "Z39489K3" }, "Z39011K3": { "Z1K1": "Z18", "Z18K1": "Z39489K1" } } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z38994", "Z38994K1": { "Z1K1": "Z18", "Z18K1": "Z39489K1" }, "Z38994K2": "Z1002", "Z38994K3": { "Z1K1": "Z18", "Z18K1": "Z39489K3" }, "Z38994K4": { "Z1K1": "Z18", "Z18K1": "Z39489K4" }, "Z38994K5": { "Z1K1": "Z18", "Z18K1": "Z39489K5" } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z13036", "Z13036K1": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z6894", "Z6894K1": { "Z1K1": "Z18", "Z18K1": "Z39489K4" }, "Z6894K2": { "Z1K1": "Z28215", "Z28215K1": { "Z1K1": "Z6091", "Z6091K1": "Q110786" } } }, "Z802K2": "Z19252", "Z802K3": "Z19260" }, "Z13036K2": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z39011", "Z39011K1": { "Z1K1": "Z7", "Z7K1": "Z873", "Z873K1": "Z6825", "Z873K2": { "Z1K1": "Z7", "Z7K1": "Z6830", "Z6830K1": { "Z1K1": "Z18", "Z18K1": "Z39489K1" }, "Z6830K2": { "Z1K1": "Z6092", "Z6092K1": "P6271" }, "Z6830K3": { "Z1K1": "Z18", "Z18K1": "Z39489K2" } } }, "Z39011K2": { "Z1K1": "Z18", "Z18K1": "Z39489K3" }, "Z39011K3": { "Z1K1": "Z18", "Z18K1": "Z39489K1" } } } } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z19530", "Z19530K1": { "Z1K1": "Z7", "Z7K1": "Z22807", "Z22807K1": { "Z1K1": "Z7", "Z7K1": "Z873", "Z873K1": "Z6825", "Z873K2": { "Z1K1": "Z7", "Z7K1": "Z30460", "Z30460K1": { "Z1K1": "Z18", "Z18K1": "Z39489K1" }, "Z30460K2": { "Z1K1": "Z18", "Z18K1": "Z39489K2" } } }, "Z22807K2": { "Z1K1": "Z6091", "Z6091K1": "Q34698" } }, "Z19530K2": [ "Z6091" ] } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "русский демоним, композиция" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Russian demonym, composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } rgfrfbac4cpq8sat87mqcutnlhk3v1g 299646 299645 2026-08-15T15:42:44Z Artsiom91 2118 use Z39473 299646 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39490" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39489", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z18", "Z18K1": "Z39489K5" }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z813", "Z813K1": { "Z1K1": "Z7", "Z7K1": "Z39011", "Z39011K1": { "Z1K1": "Z7", "Z7K1": "Z873", "Z873K1": "Z6825", "Z873K2": { "Z1K1": "Z7", "Z7K1": "Z6830", "Z6830K1": { "Z1K1": "Z18", "Z18K1": "Z39489K1" }, "Z6830K2": { "Z1K1": "Z6092", "Z6092K1": "P6271" }, "Z6830K3": { "Z1K1": "Z18", "Z18K1": "Z39489K2" } } }, "Z39011K2": { "Z1K1": "Z18", "Z18K1": "Z39489K3" }, "Z39011K3": { "Z1K1": "Z18", "Z18K1": "Z39489K1" } } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z38994", "Z38994K1": { "Z1K1": "Z18", "Z18K1": "Z39489K1" }, "Z38994K2": "Z1002", "Z38994K3": { "Z1K1": "Z18", "Z18K1": "Z39489K3" }, "Z38994K4": { "Z1K1": "Z18", "Z18K1": "Z39489K4" }, "Z38994K5": { "Z1K1": "Z18", "Z18K1": "Z39489K5" } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z13036", "Z13036K1": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z6894", "Z6894K1": { "Z1K1": "Z18", "Z18K1": "Z39489K4" }, "Z6894K2": { "Z1K1": "Z28215", "Z28215K1": { "Z1K1": "Z6091", "Z6091K1": "Q110786" } } }, "Z802K2": "Z19252", "Z802K3": "Z19260" }, "Z13036K2": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z39011", "Z39011K1": { "Z1K1": "Z7", "Z7K1": "Z873", "Z873K1": "Z6825", "Z873K2": { "Z1K1": "Z7", "Z7K1": "Z6830", "Z6830K1": { "Z1K1": "Z18", "Z18K1": "Z39489K1" }, "Z6830K2": { "Z1K1": "Z6092", "Z6092K1": "P6271" }, "Z6830K3": { "Z1K1": "Z18", "Z18K1": "Z39489K2" } } }, "Z39011K2": { "Z1K1": "Z18", "Z18K1": "Z39489K3" }, "Z39011K3": { "Z1K1": "Z18", "Z18K1": "Z39489K1" } } } } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z39473", "Z39473K1": { "Z1K1": "Z7", "Z7K1": "Z24766", "Z24766K1": { "Z1K1": "Z18", "Z18K1": "Z39489K1" }, "Z24766K2": { "Z1K1": "Z18", "Z18K1": "Z39489K2" } }, "Z39473K2": { "Z1K1": "Z18", "Z18K1": "Z39489K3" }, "Z39473K3": { "Z1K1": "Z18", "Z18K1": "Z39489K4" } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "русский демоним, композиция" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Russian demonym, composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 0x46jq8i1ohcqsy4kbm9w6wcpmqmytq Z39491 0 90165 299647 2026-08-15T15:46:21Z Artsiom91 2118 new testcase 299647 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39491" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39489", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39489", "Z39489K1": { "Z1K1": "Z6091", "Z6091K1": "Q159" }, "Z39489K2": "Z1005", "Z39489K3": { "Z1K1": "Z25501", "Z25501K1": { "Z1K1": "Z6091", "Z6091K1": "Q499327" } }, "Z39489K4": { "Z1K1": "Z28215", "Z28215K1": { "Z1K1": "Z6091", "Z6091K1": "Q110786" } }, "Z39489K5": { "Z1K1": "Z40", "Z40K1": "Z42" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z14392", "Z14392K2": { "Z1K1": "Z11", "Z11K1": { "Z1K1": "Z9", "Z9K1": "" }, "Z11K2": "российский" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "(Россия, ru, ср, ед, F) → российский" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } os2myhhvxi2sxlgwl83fdyqbqce05f4 299648 299647 2026-08-15T15:47:21Z Artsiom91 2118 fix lang 299648 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39491" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39489", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39489", "Z39489K1": { "Z1K1": "Z6091", "Z6091K1": "Q159" }, "Z39489K2": "Z1005", "Z39489K3": { "Z1K1": "Z25501", "Z25501K1": { "Z1K1": "Z6091", "Z6091K1": "Q499327" } }, "Z39489K4": { "Z1K1": "Z28215", "Z28215K1": { "Z1K1": "Z6091", "Z6091K1": "Q110786" } }, "Z39489K5": { "Z1K1": "Z40", "Z40K1": "Z42" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z14392", "Z14392K2": { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "российский" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "(Россия, ru, ср, ед, F) → российский" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 02cm14n6kixp96n3yizv7ds9t93ywtb 299649 299648 2026-08-15T15:48:37Z Artsiom91 2118 en desc 299649 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39491" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39489", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39489", "Z39489K1": { "Z1K1": "Z6091", "Z6091K1": "Q159" }, "Z39489K2": "Z1005", "Z39489K3": { "Z1K1": "Z25501", "Z25501K1": { "Z1K1": "Z6091", "Z6091K1": "Q499327" } }, "Z39489K4": { "Z1K1": "Z28215", "Z28215K1": { "Z1K1": "Z6091", "Z6091K1": "Q110786" } }, "Z39489K5": { "Z1K1": "Z40", "Z40K1": "Z42" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z14392", "Z14392K2": { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "российский" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "(Россия, ru, м, ед, F) → российский" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "(Россия, ru, masc., sing., F) → российский" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 6iqj13iospliaz957nphcv2z2b7bq00 299653 299649 2026-08-15T15:52:56Z Artsiom91 2118 fix en label 299653 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39491" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39489", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39489", "Z39489K1": { "Z1K1": "Z6091", "Z6091K1": "Q159" }, "Z39489K2": "Z1005", "Z39489K3": { "Z1K1": "Z25501", "Z25501K1": { "Z1K1": "Z6091", "Z6091K1": "Q499327" } }, "Z39489K4": { "Z1K1": "Z28215", "Z28215K1": { "Z1K1": "Z6091", "Z6091K1": "Q110786" } }, "Z39489K5": { "Z1K1": "Z40", "Z40K1": "Z42" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z14392", "Z14392K2": { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "российский" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "(Россия, ru, м, ед, F) → российский" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "(Russia, ru, masc., sing., F) → российский" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } ou0laqhr8d3jgd3kjukcws3izj8694e Z39492 0 90166 299650 2026-08-15T15:50:02Z Artsiom91 2118 new testcase 299650 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39492" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39489", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39489", "Z39489K1": { "Z1K1": "Z6091", "Z6091K1": "Q38" }, "Z39489K2": "Z1005", "Z39489K3": { "Z1K1": "Z25501", "Z25501K1": { "Z1K1": "Z6091", "Z6091K1": "Q1775415" } }, "Z39489K4": { "Z1K1": "Z28215", "Z28215K1": { "Z1K1": "Z6091", "Z6091K1": "Q110786" } }, "Z39489K5": { "Z1K1": "Z40", "Z40K1": "Z41" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z14392", "Z14392K2": { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "итальянка" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "(Италия, ru, жен, ед, T) → итальянка" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "(Италия, ru, fem., sing., T) → итальянка" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 06az6jmz365491jhb1qzt4k4g15g8vy 299652 299650 2026-08-15T15:52:42Z Artsiom91 2118 fix en label 299652 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39492" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39489", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39489", "Z39489K1": { "Z1K1": "Z6091", "Z6091K1": "Q38" }, "Z39489K2": "Z1005", "Z39489K3": { "Z1K1": "Z25501", "Z25501K1": { "Z1K1": "Z6091", "Z6091K1": "Q1775415" } }, "Z39489K4": { "Z1K1": "Z28215", "Z28215K1": { "Z1K1": "Z6091", "Z6091K1": "Q110786" } }, "Z39489K5": { "Z1K1": "Z40", "Z40K1": "Z41" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z14392", "Z14392K2": { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "итальянка" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "(Италия, ru, жен, ед, T) → итальянка" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "(Italy, ru, fem., sing., T) → итальянка" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } b6aanhe9qp6iljwt43l0zmsn73ynfhu Z39493 0 90167 299651 2026-08-15T15:52:15Z Artsiom91 2118 new testcase 299651 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39493" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39489", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39489", "Z39489K1": { "Z1K1": "Z6091", "Z6091K1": "Q184" }, "Z39489K2": "Z1005", "Z39489K3": { "Z1K1": "Z25501", "Z25501K1": { "Z1K1": "Z6091", "Z6091K1": "Q499327" } }, "Z39489K4": { "Z1K1": "Z28215", "Z28215K1": { "Z1K1": "Z6091", "Z6091K1": "Q146786" } }, "Z39489K5": { "Z1K1": "Z40", "Z40K1": "Z42" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z14392", "Z14392K2": { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "белорусские" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "(Беларусь, ru, муж, мн, F) → белорусские" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "(Belarus, ru, masc., pl., F) → белорусские" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } m82bnooz4iv1sbbk74b85fl6h0bm426 Z39494 0 90168 299662 2026-08-15T17:11:00Z HenkvD 1290 intro for species with hypernym, Papiamento 299662 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39494" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39494K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "species" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39494K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Taxa hypernym" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z39494K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language" } ] } } ], "Z8K2": "Z89", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39494" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "intro for species with hypernym, Papiamento" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 32vdiler5ztkxvdve6b063rcs2tmit1 299664 299662 2026-08-15T17:12:35Z HenkvD 1290 Added Z39495 to the approved list of test cases 299664 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39494" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39494K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "species" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39494K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Taxa hypernym" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z39494K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language" } ] } } ], "Z8K2": "Z89", "Z8K3": [ "Z20", "Z39495" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39494" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "intro for species with hypernym, Papiamento" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } lcsz1khmk3q8185ikdydgf9ywzcz6hv 299666 299664 2026-08-15T17:28:10Z HenkvD 1290 Added Z39496 to the approved list of implementations 299666 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39494" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39494K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "species" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39494K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Taxa hypernym" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z39494K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language" } ] } } ], "Z8K2": "Z89", "Z8K3": [ "Z20", "Z39495" ], "Z8K4": [ "Z14", "Z39496" ], "Z8K5": "Z39494" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "intro for species with hypernym, Papiamento" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } e7cfaxs7q6aek6q0arqzdro704a4hmn Z39495 0 90169 299663 2026-08-15T17:12:24Z HenkvD 1290 Intro sentence for Lion in Papiamento 299663 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39495" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39494", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39494", "Z39494K1": { "Z1K1": "Z6091", "Z6091K1": "Q140" }, "Z39494K2": { "Z1K1": "Z6091", "Z6091K1": "Q6667323" }, "Z39494K3": "Z1137" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z877", "Z877K2": { "Z1K1": "Z89", "Z89K1": "TBD" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Intro sentence for Lion in Papiamento" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } f2upog4vah9x4k6gkra3i5vhsyeyzjg 299668 299663 2026-08-15T17:35:29Z HenkvD 1290 Intro sentence for Lion in Papiamento 299668 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39495" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39494", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39494", "Z39494K1": { "Z1K1": "Z6091", "Z6091K1": "Q140" }, "Z39494K2": { "Z1K1": "Z6091", "Z6091K1": "Q6667323" }, "Z39494K3": "Z1137" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z877", "Z877K2": { "Z1K1": "Z89", "Z89K1": "\u003Cb\u003E\u003Ci\u003EPanthera leo\u003C/i\u003E\u003C/b\u003E ta un espesie de pushi grandi den e famia \u003Ca href=\"https://abstract.wikipedia.org/wiki/Q25265\"\u003EFelidae\u003C/a\u003E. E espesie a wòrdu deskribí na 1758 pa \u003Ca href=\"https://abstract.wikipedia.org/wiki/Q1043\"\u003ECarl Linnaeus\u003C/a\u003E.\u003Csup class=\"ext-wikilambda-reference\"\u003E\u003Ca href=\"https://www.wikidata.org/wiki/Q140#P225\"\u003EWikidata: Panthera leo (Q140#P225)\u003C/a\u003E\u003C/sup\u003E \u003Cem\u003EPanthera leo\u003C/em\u003E ta wòrdu klasifiká komo un espesie vulnerabel dor di \u003Ca href=\"https://abstract.wikipedia.org/wiki/Q48268\"\u003EInternational Union for Conservation of Nature\u003C/a\u003E (IUCN).\u003Csup class=\"ext-wikilambda-reference\"\u003E\u003Ca href=\"https://www.wikidata.org/wiki/Q140#P141\"\u003EWikidata: Panthera leo (Q140#P141)\u003C/a\u003E\u003C/sup\u003E" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Intro sentence for Lion in Papiamento" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } qauth1db92d0v2ei6nlsn9pohwtwf9p Z39496 0 90170 299665 2026-08-15T17:26:54Z HenkvD 1290 intro for species with hypernym, Papiamento Comp 299665 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39496" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39494", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z27926", "Z27926K1": [ "Z89", { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z28676", "Z28676K1": { "Z1K1": "Z7", "Z7K1": "Z37821", "Z37821K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" }, "Z37821K2": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } }, "Z28676K2": "Z37463" }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z27926", "Z27926K1": [ "Z89", { "Z1K1": "Z89", "Z89K1": "\u003Cb\u003E\u003Ci\u003E" }, { "Z1K1": "Z7", "Z7K1": "Z27868", "Z27868K1": { "Z1K1": "Z7", "Z7K1": "Z19308", "Z19308K1": { "Z1K1": "Z7", "Z7K1": "Z37836", "Z37836K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" } } } }, { "Z1K1": "Z89", "Z89K1": "\u003C/i\u003E\u003C/b\u003E" } ] }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z27926", "Z27926K1": [ "Z89", { "Z1K1": "Z89", "Z89K1": "\u003Ci\u003E" }, { "Z1K1": "Z7", "Z7K1": "Z36961", "Z36961K1": { "Z1K1": "Z7", "Z7K1": "Z27868", "Z27868K1": { "Z1K1": "Z7", "Z7K1": "Z19308", "Z19308K1": { "Z1K1": "Z7", "Z7K1": "Z37836", "Z37836K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" } } } } }, { "Z1K1": "Z89", "Z89K1": "\u003C/i\u003E (" }, { "Z1K1": "Z7", "Z7K1": "Z28914", "Z28914K1": { "Z1K1": "Z7", "Z7K1": "Z10771", "Z10771K1": { "Z1K1": "Z7", "Z7K1": "Z37821", "Z37821K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" }, "Z37821K2": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } } } }, { "Z1K1": "Z89", "Z89K1": ")" } ] } }, { "Z1K1": "Z89", "Z89K1": " ta un espesie " }, { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z10174", "Z10174K1": { "Z1K1": "Z7", "Z7K1": "Z24331", "Z24331K1": { "Z1K1": "Z7", "Z7K1": "Z20041", "Z20041K1": { "Z1K1": "Z18", "Z18K1": "Z39494K2" } } }, "Z10174K2": { "Z1K1": "Z7", "Z7K1": "Z10216", "Z10216K1": { "Z1K1": "Z7", "Z7K1": "Z35811", "Z35811K1": { "Z1K1": "Z7", "Z7K1": "Z31676", "Z31676K1": { "Z1K1": "Z18", "Z18K1": "Z39494K2" }, "Z31676K2": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } } } } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z27926", "Z27926K1": [ "Z89", { "Z1K1": "Z89", "Z89K1": "de " }, { "Z1K1": "Z7", "Z7K1": "Z27868", "Z27868K1": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z31676", "Z31676K1": { "Z1K1": "Z18", "Z18K1": "Z39494K2" }, "Z31676K2": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } } } }, { "Z1K1": "Z89", "Z89K1": " " } ] }, "Z802K3": { "Z1K1": "Z89", "Z89K1": "" } }, { "Z1K1": "Z89", "Z89K1": "den e famia " }, { "Z1K1": "Z7", "Z7K1": "Z36489", "Z36489K1": { "Z1K1": "Z7", "Z7K1": "Z37725", "Z37725K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" } }, "Z36489K2": { "Z1K1": "Z7", "Z7K1": "Z23459", "Z23459K1": { "Z1K1": "Z7", "Z7K1": "Z30120", "Z30120K1": { "Z1K1": "Z7", "Z7K1": "Z37725", "Z37725K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" } }, "Z30120K2": [ "Z6030", "Z6036" ], "Z30120K3": [ "Z60" ], "Z30120K4": [ "Z6092", { "Z1K1": "Z6092", "Z6092K1": "P225" } ] }, "Z23459K2": { "Z1K1": "Z6092", "Z6092K1": "P225" } } }, { "Z1K1": "Z89", "Z89K1": ". " }, { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z37925", "Z37925K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z37808", "Z37808K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" }, "Z37808K2": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } } } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z27926", "Z27926K1": [ "Z89", { "Z1K1": "Z89", "Z89K1": "E espesie a wòrdu deskribí na " }, { "Z1K1": "Z7", "Z7K1": "Z27868", "Z27868K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z37808", "Z37808K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" }, "Z37808K2": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } } } }, { "Z1K1": "Z89", "Z89K1": " pa " }, { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z23120", "Z23120K1": { "Z1K1": "Z7", "Z7K1": "Z16360", "Z16360K1": { "Z1K1": "Z7", "Z7K1": "Z37808", "Z37808K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" }, "Z37808K2": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } } } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z37927", "Z37927K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" }, "Z37927K2": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } }, "Z802K3": { "Z1K1": "Z89", "Z89K1": "" } }, { "Z1K1": "Z89", "Z89K1": "." }, { "Z1K1": "Z7", "Z7K1": "Z32891", "Z32891K1": { "Z1K1": "Z7", "Z7K1": "Z36240", "Z36240K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" }, "Z36240K2": { "Z1K1": "Z6092", "Z6092K1": "P225" }, "Z36240K3": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } } }, { "Z1K1": "Z89", "Z89K1": " " } ] }, "Z802K3": { "Z1K1": "Z89", "Z89K1": "\u003C!-- no describing date and/or authority --\u003E" } }, { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z10216", "Z10216K1": { "Z1K1": "Z7", "Z7K1": "Z28676", "Z28676K1": { "Z1K1": "Z7", "Z7K1": "Z37833", "Z37833K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" }, "Z37833K2": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } }, "Z28676K2": "Z28158" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z27926", "Z27926K1": [ "Z89", { "Z1K1": "Z7", "Z7K1": "Z37441", "Z37441K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" } }, { "Z1K1": "Z89", "Z89K1": " eo ta wòrdu klasifiká komo un espesie " }, { "Z1K1": "Z7", "Z7K1": "Z27868", "Z27868K1": { "Z1K1": "Z7", "Z7K1": "Z37833", "Z37833K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" }, "Z37833K2": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } } }, { "Z1K1": "Z89", "Z89K1": " dor di " }, { "Z1K1": "Z7", "Z7K1": "Z32428", "Z32428K1": { "Z1K1": "Z6091", "Z6091K1": "Q48268" }, "Z32428K2": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } }, { "Z1K1": "Z89", "Z89K1": " (IUCN)." }, { "Z1K1": "Z7", "Z7K1": "Z32891", "Z32891K1": { "Z1K1": "Z7", "Z7K1": "Z36240", "Z36240K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" }, "Z36240K2": { "Z1K1": "Z6092", "Z6092K1": "P141" }, "Z36240K3": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } } }, { "Z1K1": "Z89", "Z89K1": "" } ] }, "Z802K3": { "Z1K1": "Z89", "Z89K1": "\u003C!-- Not assessed by IUCN --\u003E" } } ] } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "intro for species with hypernym, Papiamento Comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 6i2qxj78e0dq6n3h783gxub8y3e6j6t 299667 299665 2026-08-15T17:33:49Z HenkvD 1290 minor change 299667 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39496" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39494", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z27926", "Z27926K1": [ "Z89", { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z28676", "Z28676K1": { "Z1K1": "Z7", "Z7K1": "Z37821", "Z37821K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" }, "Z37821K2": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } }, "Z28676K2": "Z37463" }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z27926", "Z27926K1": [ "Z89", { "Z1K1": "Z89", "Z89K1": "\u003Cb\u003E\u003Ci\u003E" }, { "Z1K1": "Z7", "Z7K1": "Z27868", "Z27868K1": { "Z1K1": "Z7", "Z7K1": "Z19308", "Z19308K1": { "Z1K1": "Z7", "Z7K1": "Z37836", "Z37836K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" } } } }, { "Z1K1": "Z89", "Z89K1": "\u003C/i\u003E\u003C/b\u003E" } ] }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z27926", "Z27926K1": [ "Z89", { "Z1K1": "Z89", "Z89K1": "\u003Ci\u003E" }, { "Z1K1": "Z7", "Z7K1": "Z36961", "Z36961K1": { "Z1K1": "Z7", "Z7K1": "Z27868", "Z27868K1": { "Z1K1": "Z7", "Z7K1": "Z19308", "Z19308K1": { "Z1K1": "Z7", "Z7K1": "Z37836", "Z37836K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" } } } } }, { "Z1K1": "Z89", "Z89K1": "\u003C/i\u003E (" }, { "Z1K1": "Z7", "Z7K1": "Z28914", "Z28914K1": { "Z1K1": "Z7", "Z7K1": "Z10771", "Z10771K1": { "Z1K1": "Z7", "Z7K1": "Z37821", "Z37821K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" }, "Z37821K2": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } } } }, { "Z1K1": "Z89", "Z89K1": ")" } ] } }, { "Z1K1": "Z89", "Z89K1": " ta un espesie " }, { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z10174", "Z10174K1": { "Z1K1": "Z7", "Z7K1": "Z24331", "Z24331K1": { "Z1K1": "Z7", "Z7K1": "Z20041", "Z20041K1": { "Z1K1": "Z18", "Z18K1": "Z39494K2" } } }, "Z10174K2": { "Z1K1": "Z7", "Z7K1": "Z10216", "Z10216K1": { "Z1K1": "Z7", "Z7K1": "Z35811", "Z35811K1": { "Z1K1": "Z7", "Z7K1": "Z31676", "Z31676K1": { "Z1K1": "Z18", "Z18K1": "Z39494K2" }, "Z31676K2": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } } } } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z27926", "Z27926K1": [ "Z89", { "Z1K1": "Z89", "Z89K1": "de " }, { "Z1K1": "Z7", "Z7K1": "Z27868", "Z27868K1": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z31676", "Z31676K1": { "Z1K1": "Z18", "Z18K1": "Z39494K2" }, "Z31676K2": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } } } }, { "Z1K1": "Z89", "Z89K1": " " } ] }, "Z802K3": { "Z1K1": "Z89", "Z89K1": "" } }, { "Z1K1": "Z89", "Z89K1": "den e famia " }, { "Z1K1": "Z7", "Z7K1": "Z36489", "Z36489K1": { "Z1K1": "Z7", "Z7K1": "Z37725", "Z37725K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" } }, "Z36489K2": { "Z1K1": "Z7", "Z7K1": "Z23459", "Z23459K1": { "Z1K1": "Z7", "Z7K1": "Z30120", "Z30120K1": { "Z1K1": "Z7", "Z7K1": "Z37725", "Z37725K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" } }, "Z30120K2": [ "Z6030", "Z6036" ], "Z30120K3": [ "Z60" ], "Z30120K4": [ "Z6092", { "Z1K1": "Z6092", "Z6092K1": "P225" } ] }, "Z23459K2": { "Z1K1": "Z6092", "Z6092K1": "P225" } } }, { "Z1K1": "Z89", "Z89K1": ". " }, { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z37925", "Z37925K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z37808", "Z37808K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" }, "Z37808K2": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } } } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z27926", "Z27926K1": [ "Z89", { "Z1K1": "Z89", "Z89K1": "E espesie a wòrdu deskribí na " }, { "Z1K1": "Z7", "Z7K1": "Z27868", "Z27868K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z37808", "Z37808K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" }, "Z37808K2": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } } } }, { "Z1K1": "Z89", "Z89K1": " pa " }, { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z23120", "Z23120K1": { "Z1K1": "Z7", "Z7K1": "Z16360", "Z16360K1": { "Z1K1": "Z7", "Z7K1": "Z37808", "Z37808K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" }, "Z37808K2": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } } } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z37927", "Z37927K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" }, "Z37927K2": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } }, "Z802K3": { "Z1K1": "Z89", "Z89K1": "" } }, { "Z1K1": "Z89", "Z89K1": "." }, { "Z1K1": "Z7", "Z7K1": "Z32891", "Z32891K1": { "Z1K1": "Z7", "Z7K1": "Z36240", "Z36240K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" }, "Z36240K2": { "Z1K1": "Z6092", "Z6092K1": "P225" }, "Z36240K3": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } } }, { "Z1K1": "Z89", "Z89K1": " " } ] }, "Z802K3": { "Z1K1": "Z89", "Z89K1": "\u003C!-- no describing date and/or authority --\u003E" } }, { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z10216", "Z10216K1": { "Z1K1": "Z7", "Z7K1": "Z28676", "Z28676K1": { "Z1K1": "Z7", "Z7K1": "Z37833", "Z37833K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" }, "Z37833K2": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } }, "Z28676K2": "Z28158" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z27926", "Z27926K1": [ "Z89", { "Z1K1": "Z7", "Z7K1": "Z37441", "Z37441K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" } }, { "Z1K1": "Z89", "Z89K1": " ta wòrdu klasifiká komo un espesie " }, { "Z1K1": "Z7", "Z7K1": "Z27868", "Z27868K1": { "Z1K1": "Z7", "Z7K1": "Z37833", "Z37833K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" }, "Z37833K2": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } } }, { "Z1K1": "Z89", "Z89K1": " dor di " }, { "Z1K1": "Z7", "Z7K1": "Z32428", "Z32428K1": { "Z1K1": "Z6091", "Z6091K1": "Q48268" }, "Z32428K2": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } }, { "Z1K1": "Z89", "Z89K1": " (IUCN)." }, { "Z1K1": "Z7", "Z7K1": "Z32891", "Z32891K1": { "Z1K1": "Z7", "Z7K1": "Z36240", "Z36240K1": { "Z1K1": "Z18", "Z18K1": "Z39494K1" }, "Z36240K2": { "Z1K1": "Z6092", "Z6092K1": "P141" }, "Z36240K3": { "Z1K1": "Z18", "Z18K1": "Z39494K3" } } }, { "Z1K1": "Z89", "Z89K1": "" } ] }, "Z802K3": { "Z1K1": "Z89", "Z89K1": "\u003C!-- Not assessed by IUCN --\u003E" } } ] } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "intro for species with hypernym, Papiamento Comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 2gwlx8uqxzy9pyl12aly4w5ehesr3dd Z39497 0 90171 299671 2026-08-15T19:34:56Z Jsamwrites 938 299671 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39497" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39478", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39478", "Z39478K1": { "Z1K1": "Z6091", "Z6091K1": "Q89" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z844", "Z844K2": { "Z1K1": "Z40", "Z40K1": "Z42" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "apple, fr requires elision, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } ee3ieub66tdb4de9fxtcuvl9a44rfyn Z39498 0 90172 299673 2026-08-15T19:40:23Z Jsamwrites 938 299673 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39498" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39498K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39498" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme has characteristic" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } jpeymp434afk6icitgtmlbkth7pa6i3 299676 299673 2026-08-15T19:42:46Z Jsamwrites 938 Added Z39499 to the approved list of implementations 299676 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39498" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39498K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39499" ], "Z8K5": "Z39498" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme has characteristic" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } myzhkppjfkivqvr1687hkmhrekllno3 299677 299676 2026-08-15T19:43:07Z Jsamwrites 938 Removed Z39499 from the approved list of implementations 299677 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39498" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39498K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39498" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme has characteristic" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } jpeymp434afk6icitgtmlbkth7pa6i3 299678 299677 2026-08-15T19:43:21Z Jsamwrites 938 299678 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39498" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39498K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39498" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme has characteristic" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } fm2lr0x5m866dcatgs7bnq5gga4dcnq 299679 299678 2026-08-15T19:43:26Z Jsamwrites 938 Added Z39499 to the approved list of implementations 299679 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39498" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39498K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39499" ], "Z8K5": "Z39498" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme has characteristic" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } fr3ks7t77s0686w9st9fy0htyo72nxg 299682 299679 2026-08-15T19:46:12Z Jsamwrites 938 Added Z39500 to the approved list of test cases 299682 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39498" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39498K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20", "Z39500" ], "Z8K4": [ "Z14", "Z39499" ], "Z8K5": "Z39498" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme has characteristic" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } rxubscpdpo0tskhlld79f5gskj7wycz 299683 299682 2026-08-15T19:49:27Z Jsamwrites 938 Removed Z39499 from the approved list of implementations 299683 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39498" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39498K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20", "Z39500" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39498" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme has characteristic" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 2sfchqxiw3w38w7oyjotcohutkrb5c4 299684 299683 2026-08-15T19:50:01Z Jsamwrites 938 299684 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39498" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39498K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39498" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme has characteristic" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 4kq8848s6rfngikqxqzrgq87d1w7zpn 299685 299684 2026-08-15T19:50:09Z Jsamwrites 938 Added Z39499 to the approved list of implementations 299685 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39498" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39498K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39499" ], "Z8K5": "Z39498" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme has characteristic" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 7qhd72k5crv4y2llkk8ci8vythliby8 299686 299685 2026-08-15T19:50:10Z Jsamwrites 938 Added Z39500 to the approved list of test cases 299686 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39498" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39498K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z8K3": [ "Z20", "Z39500" ], "Z8K4": [ "Z14", "Z39499" ], "Z8K5": "Z39498" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme has characteristic" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } l0z5t0tutqeddulp3te5ku6km6rmkqr 299687 299686 2026-08-15T19:50:22Z Jsamwrites 938 299687 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39498" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39498K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z8K3": [ "Z20", "Z39500" ], "Z8K4": [ "Z14", "Z39499" ], "Z8K5": "Z39498" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme has characteristics" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } r337bkuwlo88agvwq6hequr2m5oeoss Z39499 0 90173 299674 2026-08-15T19:42:04Z Jsamwrites 938 299674 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39499" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39498", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z33125", "Z33125K1": { "Z1K1": "Z18", "Z18K1": "Z39498K1" }, "Z33125K2": { "Z1K1": "Z6092", "Z6092K1": "P1552" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } ndvv0mfppqvzbd4s6enmg1dh3suvpka 299675 299674 2026-08-15T19:42:24Z Jsamwrites 938 299675 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39499" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39498", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z33125", "Z33125K1": { "Z1K1": "Z18", "Z18K1": "Z39498K1" }, "Z33125K2": { "Z1K1": "Z6092", "Z6092K1": "P1552" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme has characteristic, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } p2s5a1yf314fb76alr2lro2nfasy6uc Z39500 0 90174 299680 2026-08-15T19:44:37Z Jsamwrites 938 299680 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39500" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39498", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39498", "Z39498K1": { "Z1K1": "Z6095", "Z6095K1": "L15797" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q131441009" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme-hôtel, fr, characteristic" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } kyr9uis47kij22ogl9y5jy9luiqgta3 299681 299680 2026-08-15T19:45:38Z Jsamwrites 938 299681 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39500" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39498", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39498", "Z39498K1": { "Z1K1": "Z6095", "Z6095K1": "L15797" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z12846", "Z12846K2": [ "Z1", { "Z1K1": "Z6091", "Z6091K1": "Q131441009" } ] } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme-hôtel, fr, characteristic" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } qorwy86x7zz3iknh4s2qf3bk3772f9e Z39501 0 90175 299689 2026-08-15T20:00:13Z Jsamwrites 938 299689 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39501" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39478", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39478", "Z39478K1": { "Z1K1": "Z6091", "Z6091K1": "Q63099748" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z844", "Z844K2": { "Z1K1": "Z40", "Z40K1": "Z41" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "hotel building-fr, elision, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 5fasx3kgt7q8yxvsr9dxnqgcyqk53mi Z39502 0 90176 299693 2026-08-15T20:12:54Z Jsamwrites 938 299693 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39502" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39478", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39478", "Z39478K1": { "Z1K1": "Z6091", "Z6091K1": "Q3914" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z844", "Z844K2": { "Z1K1": "Z40", "Z40K1": "Z41" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "school-fr, elision, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } cu55rxsrk6zbz4os3teze9uwvjqp2vt Z39503 0 90177 299695 2026-08-15T20:15:58Z Jsamwrites 938 Create test for Z39478 299695 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39503" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39478", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39478", "Z39478K1": { "Z1K1": "Z6091", "Z6091K1": "Q3914" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z844", "Z844K2": { "Z1K1": "Z40", "Z40K1": "Z41" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "universe-fr, elision, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 7oyk45k18mg2lel239nkn03gaykhpwj 299698 299695 2026-08-15T20:16:35Z Jsamwrites 938 299698 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39503" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39478", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39478", "Z39478K1": { "Z1K1": "Z6091", "Z6091K1": "Q1" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z844", "Z844K2": { "Z1K1": "Z40", "Z40K1": "Z41" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "universe-fr, elision, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 097i9aazqci820nm26kulgn97uiprgn Z39504 0 90178 299696 2026-08-15T20:16:01Z Jsamwrites 938 Create test for Z39478 299696 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39504" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39478", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39478", "Z39478K1": { "Z1K1": "Z6091", "Z6091K1": "Q3914" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z844", "Z844K2": { "Z1K1": "Z40", "Z40K1": "Z41" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "hero-fr, elision, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 9a5sfpk0eiktwaxz2r1s4sce1zmag8k 299699 299696 2026-08-15T20:17:03Z Jsamwrites 938 299699 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39504" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39478", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39478", "Z39478K1": { "Z1K1": "Z6091", "Z6091K1": "Q162244" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z844", "Z844K2": { "Z1K1": "Z40", "Z40K1": "Z41" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "hero-fr, elision, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } m6wtaya59qupefo3qrdb7qwexren81k 299700 299699 2026-08-15T20:19:17Z Jsamwrites 938 299700 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39504" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39478", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39478", "Z39478K1": { "Z1K1": "Z6091", "Z6091K1": "Q162244" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z844", "Z844K2": { "Z1K1": "Z40", "Z40K1": "Z42" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "hero-fr, elision, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } jvfo9udu0wsfg7u3ax60rjlcykf9b2z 299701 299700 2026-08-15T20:23:22Z Jsamwrites 938 299701 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39504" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39478", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39478", "Z39478K1": { "Z1K1": "Z6091", "Z6091K1": "Q5742644" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z844", "Z844K2": { "Z1K1": "Z40", "Z40K1": "Z42" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "hero-fr, elision, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } dg9jsmi7hx0fdxo5dmcndeww91nfyfr Z39505 0 90179 299702 2026-08-15T20:43:13Z Jsamwrites 938 299702 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39505" }, "Z2K2": [ "Z1", { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q5" } }, { "Z1K1": "Z6091", "Z6091K1": "Q9143" }, { "Z1K1": "Z6091", "Z6091K1": "Q486972" } ], "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "categories that do not have an article in French" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } c4tqgydzu6qbkw16d4l5ngvzqg8x0wk 299707 299702 2026-08-15T20:54:08Z Jsamwrites 938 299707 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39505" }, "Z2K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q9143" }, { "Z1K1": "Z6091", "Z6091K1": "Q486972" }, { "Z1K1": "Z6091", "Z6091K1": "Q629206" } ], "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "categories that do not have an article in French" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 09n8r15ceawdh2drao1ilqyvws0b8tr 299712 299707 2026-08-15T20:57:44Z Jsamwrites 938 299712 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39505" }, "Z2K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q9143" }, { "Z1K1": "Z6091", "Z6091K1": "Q486972" }, { "Z1K1": "Z6091", "Z6091K1": "Q629206" }, { "Z1K1": "Z6091", "Z6091K1": "Q634" }, { "Z1K1": "Z6091", "Z6091K1": "Q2199" }, { "Z1K1": "Z6091", "Z6091K1": "Q1022867" }, { "Z1K1": "Z6091", "Z6091K1": "Q2537" }, { "Z1K1": "Z6091", "Z6091K1": "Q523" } ], "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "categories that do not have an article in French" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Please note that there are exceptions like Earth, Sun" } ] } } jmdpi5gpxqc33t01r49ra7z85zzfias 299713 299712 2026-08-15T20:58:19Z Jsamwrites 938 299713 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39505" }, "Z2K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q9143" }, { "Z1K1": "Z6091", "Z6091K1": "Q486972" }, { "Z1K1": "Z6091", "Z6091K1": "Q629206" }, { "Z1K1": "Z6091", "Z6091K1": "Q634" }, { "Z1K1": "Z6091", "Z6091K1": "Q2199" }, { "Z1K1": "Z6091", "Z6091K1": "Q1022867" }, { "Z1K1": "Z6091", "Z6091K1": "Q2537" }, { "Z1K1": "Z6091", "Z6091K1": "Q523" }, { "Z1K1": "Z6091", "Z6091K1": "Q7397" } ], "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "categories that do not have an article in French" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Please note that there are exceptions like Earth, Sun" } ] } } mzani81oy736tnp0vq5cw643kjwgr5g 299722 299713 2026-08-15T21:04:37Z Jsamwrites 938 299722 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39505" }, "Z2K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q9143" }, { "Z1K1": "Z6091", "Z6091K1": "Q486972" }, { "Z1K1": "Z6091", "Z6091K1": "Q629206" }, { "Z1K1": "Z6091", "Z6091K1": "Q634" }, { "Z1K1": "Z6091", "Z6091K1": "Q2199" }, { "Z1K1": "Z6091", "Z6091K1": "Q1022867" }, { "Z1K1": "Z6091", "Z6091K1": "Q2537" }, { "Z1K1": "Z6091", "Z6091K1": "Q523" }, { "Z1K1": "Z6091", "Z6091K1": "Q7397" }, { "Z1K1": "Z6091", "Z6091K1": "Q5" } ], "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "categories that do not have an article in French" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Please note that there are exceptions like Earth, Sun" } ] } } i56acv11kafyrcufa2zfx63af20z1rj 299724 299722 2026-08-15T21:05:44Z Jsamwrites 938 299724 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39505" }, "Z2K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q9143" }, { "Z1K1": "Z6091", "Z6091K1": "Q486972" }, { "Z1K1": "Z6091", "Z6091K1": "Q629206" }, { "Z1K1": "Z6091", "Z6091K1": "Q634" }, { "Z1K1": "Z6091", "Z6091K1": "Q2199" }, { "Z1K1": "Z6091", "Z6091K1": "Q1022867" }, { "Z1K1": "Z6091", "Z6091K1": "Q2537" }, { "Z1K1": "Z6091", "Z6091K1": "Q523" }, { "Z1K1": "Z6091", "Z6091K1": "Q7397" }, { "Z1K1": "Z6091", "Z6091K1": "Q5" }, { "Z1K1": "Z6091", "Z6091K1": "Q3504248" } ], "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "categories that do not have an article in French" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Please note that there are exceptions like Earth, Sun" } ] } } lirkzbyl5n5j21d8dgazz0xbkx3xky3 299742 299724 2026-08-15T21:25:34Z Jsamwrites 938 299742 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39505" }, "Z2K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q9143" }, { "Z1K1": "Z6091", "Z6091K1": "Q486972" }, { "Z1K1": "Z6091", "Z6091K1": "Q629206" }, { "Z1K1": "Z6091", "Z6091K1": "Q634" }, { "Z1K1": "Z6091", "Z6091K1": "Q2199" }, { "Z1K1": "Z6091", "Z6091K1": "Q1022867" }, { "Z1K1": "Z6091", "Z6091K1": "Q2537" }, { "Z1K1": "Z6091", "Z6091K1": "Q523" }, { "Z1K1": "Z6091", "Z6091K1": "Q7397" }, { "Z1K1": "Z6091", "Z6091K1": "Q5" }, { "Z1K1": "Z6091", "Z6091K1": "Q3504248" }, { "Z1K1": "Z6091", "Z6091K1": "Q341" } ], "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "categories that do not have an article in French" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Please note that there are exceptions like Earth, Sun" } ] } } 2rvdaqho8aljd6qq212jh3xqr50toab Z39506 0 90180 299703 2026-08-15T20:47:28Z Jsamwrites 938 299703 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39506" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6001", "Z17K2": "Z39506K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39506" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "item indicates zero article, French" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 8rsjp4i4tp5tzwdujusxar32irx6oa1 299705 299703 2026-08-15T20:48:24Z Jsamwrites 938 Added Z39507 to the approved list of implementations 299705 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39506" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6001", "Z17K2": "Z39506K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39507" ], "Z8K5": "Z39506" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "item indicates zero article, French" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 3wttltdr1r1115oyfhevpmdkkr38z4q 299708 299705 2026-08-15T20:55:27Z Jsamwrites 938 Removed Z39507 from the approved list of implementations 299708 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39506" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6001", "Z17K2": "Z39506K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39506" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "item indicates zero article, French" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 8rsjp4i4tp5tzwdujusxar32irx6oa1 299709 299708 2026-08-15T20:55:38Z Jsamwrites 938 299709 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39506" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6001", "Z17K2": "Z39506K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": "Z22112", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39506" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "item indicates zero article, French" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } p1jdzwon62f7601crzksv7ki74yxevo 299710 299709 2026-08-15T20:55:44Z Jsamwrites 938 Added Z39507 to the approved list of implementations 299710 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39506" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6001", "Z17K2": "Z39506K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": "Z22112", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39507" ], "Z8K5": "Z39506" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "item indicates zero article, French" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } p06q98f5e3zr1kruhvjnfugqae1lhks 299714 299710 2026-08-15T20:58:37Z Jsamwrites 938 Added Z39508 to the approved list of test cases 299714 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39506" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6001", "Z17K2": "Z39506K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": "Z22112", "Z8K3": [ "Z20", "Z39508" ], "Z8K4": [ "Z14", "Z39507" ], "Z8K5": "Z39506" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "item indicates zero article, French" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } k84ehfielyherrkqy1ul5psfwoat0tk 299718 299714 2026-08-15T21:00:05Z Jsamwrites 938 Added Z39509, Z39510 and Z39511 to the approved list of test cases 299718 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39506" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6001", "Z17K2": "Z39506K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": "Z22112", "Z8K3": [ "Z20", "Z39508", "Z39509", "Z39510", "Z39511" ], "Z8K4": [ "Z14", "Z39507" ], "Z8K5": "Z39506" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "item indicates zero article, French" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } j3al6pm20gb60rwyb454in4r72gu43y 299738 299718 2026-08-15T21:19:48Z Jsamwrites 938 Added Z39513 to the approved list of test cases 299738 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39506" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6001", "Z17K2": "Z39506K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": "Z22112", "Z8K3": [ "Z20", "Z39508", "Z39509", "Z39510", "Z39511", "Z39513" ], "Z8K4": [ "Z14", "Z39507" ], "Z8K5": "Z39506" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "item indicates zero article, French" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 8bbeb4o2oekxyiamx1lwqxgwfsbs9y0 299739 299738 2026-08-15T21:19:55Z Jsamwrites 938 Added Z39514 and Z39515 to the approved list of test cases 299739 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39506" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6001", "Z17K2": "Z39506K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": "Z22112", "Z8K3": [ "Z20", "Z39508", "Z39509", "Z39510", "Z39511", "Z39513", "Z39514", "Z39515" ], "Z8K4": [ "Z14", "Z39507" ], "Z8K5": "Z39506" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "item indicates zero article, French" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 2suqxu5c14nkp0sodewfgrh060u5g0f Z39507 0 90181 299704 2026-08-15T20:48:14Z Jsamwrites 938 299704 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39507" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39506", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z7", "Z7K1": "Z22978", "Z22978K1": { "Z1K1": "Z18", "Z18K1": "Z39506K1" }, "Z22978K2": { "Z1K1": "Z6092", "Z6092K1": "P31" } }, "Z13752K2": "Z39505" }, "Z802K2": "Z22113", "Z802K3": "Z22115" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 06ld994u8qg2ndhgmqlpdnbad4eo8bf 299706 299704 2026-08-15T20:52:13Z Jsamwrites 938 299706 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39507" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39506", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z7", "Z7K1": "Z22978", "Z22978K1": { "Z1K1": "Z18", "Z18K1": "Z39506K1" }, "Z22978K2": { "Z1K1": "Z6092", "Z6092K1": "P31" } }, "Z13752K2": "Z39505" }, "Z802K2": "Z22113", "Z802K3": "Z22115" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "item indicates zero article, French, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 8yny91qpk5y8xsb5n5t4ysruf0hl7um 299729 299706 2026-08-15T21:13:06Z Jsamwrites 938 299729 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39507" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39506", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z23568", "Z23568K1": { "Z1K1": "Z18", "Z18K1": "Z39506K1" }, "Z23568K2": "Z39512" }, "Z802K2": "Z22115", "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z7", "Z7K1": "Z22978", "Z22978K1": { "Z1K1": "Z18", "Z18K1": "Z39506K1" }, "Z22978K2": { "Z1K1": "Z6092", "Z6092K1": "P31" } }, "Z13752K2": "Z39505" }, "Z802K2": "Z22113", "Z802K3": "Z22115" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "item indicates zero article, French, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } k0mmh5dnkwpftypq09889guh18z6ga4 299734 299729 2026-08-15T21:16:03Z Jsamwrites 938 299734 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39507" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39506", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z23568", "Z23568K1": { "Z1K1": "Z18", "Z18K1": "Z39506K1" }, "Z23568K2": "Z39512" }, "Z802K2": "Z22113", "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z7", "Z7K1": "Z22978", "Z22978K1": { "Z1K1": "Z18", "Z18K1": "Z39506K1" }, "Z22978K2": { "Z1K1": "Z6092", "Z6092K1": "P31" } }, "Z13752K2": "Z39505" }, "Z802K2": "Z22113", "Z802K3": "Z22115" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "item indicates zero article, French, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } s0yqan0ba6vjmjr5p8sh8rx4rhrdda1 299737 299734 2026-08-15T21:19:27Z Jsamwrites 938 299737 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39507" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39506", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": [ "Z1", { "Z1K1": "Z18", "Z18K1": "Z39506K1" } ], "Z13752K2": "Z39512" }, "Z802K2": "Z22115", "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z7", "Z7K1": "Z22978", "Z22978K1": { "Z1K1": "Z18", "Z18K1": "Z39506K1" }, "Z22978K2": { "Z1K1": "Z6092", "Z6092K1": "P31" } }, "Z13752K2": "Z39505" }, "Z802K2": "Z22113", "Z802K3": "Z22115" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "item indicates zero article, French, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } ccyajaotchw9yvqjv2a7dv11vdpyymd 299740 299737 2026-08-15T21:22:54Z Jsamwrites 938 299740 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39507" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39506", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": [ "Z1", { "Z1K1": "Z7", "Z7K1": "Z23756", "Z23756K1": { "Z1K1": "Z18", "Z18K1": "Z39506K1" } } ], "Z13752K2": "Z39512" }, "Z802K2": "Z22115", "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z7", "Z7K1": "Z22978", "Z22978K1": { "Z1K1": "Z18", "Z18K1": "Z39506K1" }, "Z22978K2": { "Z1K1": "Z6092", "Z6092K1": "P31" } }, "Z13752K2": "Z39505" }, "Z802K2": "Z22113", "Z802K3": "Z22115" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "item indicates zero article, French, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } q4vx1wtcq235faafwhmitly5j9oxk1p 299741 299740 2026-08-15T21:24:05Z Jsamwrites 938 299741 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39507" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39506", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": [ "Z1", { "Z1K1": "Z7", "Z7K1": "Z23756", "Z23756K1": { "Z1K1": "Z18", "Z18K1": "Z39506K1" } } ], "Z13752K2": "Z39512" }, "Z802K2": "Z22113", "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z7", "Z7K1": "Z22978", "Z22978K1": { "Z1K1": "Z18", "Z18K1": "Z39506K1" }, "Z22978K2": { "Z1K1": "Z6092", "Z6092K1": "P31" } }, "Z13752K2": "Z39505" }, "Z802K2": "Z22113", "Z802K3": "Z22115" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "item indicates zero article, French, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 7dbjeu0sc5p2vowoeqeu03ogbv8kweh 299743 299741 2026-08-15T21:26:16Z Jsamwrites 938 299743 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39507" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39506", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": [ "Z1", { "Z1K1": "Z7", "Z7K1": "Z23756", "Z23756K1": { "Z1K1": "Z18", "Z18K1": "Z39506K1" } } ], "Z13752K2": "Z39512" }, "Z802K2": "Z22115", "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z7", "Z7K1": "Z22978", "Z22978K1": { "Z1K1": "Z18", "Z18K1": "Z39506K1" }, "Z22978K2": { "Z1K1": "Z6092", "Z6092K1": "P31" } }, "Z13752K2": "Z39505" }, "Z802K2": "Z22113", "Z802K3": "Z22115" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "item indicates zero article, French, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } q4vx1wtcq235faafwhmitly5j9oxk1p 299767 299743 2026-08-15T22:12:53Z Jsamwrites 938 299767 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39507" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39506", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": [ "Z6091" ], "Z13752K2": "Z39512" }, "Z802K2": "Z22115", "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z7", "Z7K1": "Z22978", "Z22978K1": { "Z1K1": "Z18", "Z18K1": "Z39506K1" }, "Z22978K2": { "Z1K1": "Z6092", "Z6092K1": "P31" } }, "Z13752K2": "Z39505" }, "Z802K2": "Z22113", "Z802K3": "Z22115" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "item indicates zero article, French, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 1b60cufg348e3vf96ueivberq0eqne0 299768 299767 2026-08-15T22:13:43Z Jsamwrites 938 299768 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39507" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39506", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": [ "Z6091", { "Z1K1": "Z18", "Z18K1": "Z39506K1" } ], "Z13752K2": "Z39512" }, "Z802K2": "Z22115", "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z7", "Z7K1": "Z22978", "Z22978K1": { "Z1K1": "Z18", "Z18K1": "Z39506K1" }, "Z22978K2": { "Z1K1": "Z6092", "Z6092K1": "P31" } }, "Z13752K2": "Z39505" }, "Z802K2": "Z22113", "Z802K3": "Z22115" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "item indicates zero article, French, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } c3fhzpo2jmaeu8117qu506es1p72txv 299769 299768 2026-08-15T22:18:28Z Jsamwrites 938 299769 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39507" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39506", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": [ "Z6091", { "Z1K1": "Z7", "Z7K1": "Z23756", "Z23756K1": { "Z1K1": "Z18", "Z18K1": "Z39506K1" } } ], "Z13752K2": "Z39512" }, "Z802K2": "Z22115", "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z7", "Z7K1": "Z22978", "Z22978K1": { "Z1K1": "Z18", "Z18K1": "Z39506K1" }, "Z22978K2": { "Z1K1": "Z6092", "Z6092K1": "P31" } }, "Z13752K2": "Z39505" }, "Z802K2": "Z22113", "Z802K3": "Z22115" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "item indicates zero article, French, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 1ysh81c9balkao2cwy2arc8x55p2drj Z39508 0 90182 299711 2026-08-15T20:56:19Z Jsamwrites 938 299711 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39508" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39506", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q47484" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z22120", "Z22120K2": "Z22115" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "André Gide, article, fr, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } lfm8xwah637efutvmxkuv7ate2qh1f2 299723 299711 2026-08-15T21:04:58Z Jsamwrites 938 299723 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39508" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39506", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q47484" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z22120", "Z22120K2": "Z22113" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "André Gide, article, fr, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } ingoet66vvo48mg1roh4bbi1olhvl18 Z39509 0 90183 299715 2026-08-15T20:59:48Z Jsamwrites 938 Create test for Z39506 299715 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39509" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39506", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q47484" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z22120", "Z22120K2": "Z22115" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Firefox, article, fr, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } qurf86nm138n6qbcl2yzvf2qqor0a16 299719 299715 2026-08-15T21:00:32Z Jsamwrites 938 299719 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39509" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39506", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q698" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z22120", "Z22120K2": "Z22115" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Firefox, article, fr, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } d6iv7qgrtdn7q7ms6tms91w63gze62z 299727 299719 2026-08-15T21:06:57Z Jsamwrites 938 299727 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39509" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39506", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q698" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z22120", "Z22120K2": "Z22113" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Firefox, article, fr, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } g7l57513dw442glzgrlbwnli5u4ndoe Z39510 0 90184 299716 2026-08-15T20:59:51Z Jsamwrites 938 Create test for Z39506 299716 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39510" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39506", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q47484" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z22120", "Z22120K2": "Z22115" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "C++, article, fr, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } jradxnc3d8m4qx7jymmzyox1lbrd4h6 299720 299716 2026-08-15T21:00:49Z Jsamwrites 938 299720 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39510" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39506", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q2407" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z22120", "Z22120K2": "Z22115" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "C++, article, fr, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } i56n0sk9xcq1je1v2koxiz6o77hg1iw 299726 299720 2026-08-15T21:06:18Z Jsamwrites 938 299726 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39510" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39506", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q2407" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z22120", "Z22120K2": "Z22113" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "C++, article, fr, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 27zpkjyc9vsmz3yzb3wm4wvmm30viot Z39511 0 90185 299717 2026-08-15T20:59:53Z Jsamwrites 938 Create test for Z39506 299717 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39511" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39506", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q47484" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z22120", "Z22120K2": "Z22115" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Mars, article, fr, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } e6uh4ty0fkhx8iys0gxqvlkitx90vir 299721 299717 2026-08-15T21:01:13Z Jsamwrites 938 299721 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39511" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39506", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q111" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z22120", "Z22120K2": "Z22115" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Mars, article, fr, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 1k8ospfmgk4z7kygz3c1jpavhn4s61j 299725 299721 2026-08-15T21:05:58Z Jsamwrites 938 299725 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39511" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39506", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q111" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z22120", "Z22120K2": "Z22113" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Mars, article, fr, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 7ono54s6bwji6sb6ina1ato0k2ta04c Z39512 0 90186 299728 2026-08-15T21:09:51Z Jsamwrites 938 299728 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39512" }, "Z2K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q2" }, { "Z1K1": "Z6091", "Z6091K1": "Q525" }, { "Z1K1": "Z6091", "Z6091K1": "Q16877383" }, { "Z1K1": "Z6091", "Z6091K1": "Q235" }, { "Z1K1": "Z6091", "Z6091K1": "Q1019" }, { "Z1K1": "Z6091", "Z6091K1": "Q233" } ], "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French exceptions to zero article" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } dvhq06e3sxgvhk1kylmie1tuxfzmoeo Z39513 0 90187 299730 2026-08-15T21:13:47Z Jsamwrites 938 Create test for Z39506 299730 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39513" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39506", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q47484" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z22120", "Z22120K2": "Z22113" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Earth, article, fr, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } ajh1gknatrgq7k7qm0y4900o02jsa54 299733 299730 2026-08-15T21:14:21Z Jsamwrites 938 299733 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39513" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39506", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q2" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z22120", "Z22120K2": "Z22115" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Earth, article, fr, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } nttqxwhndt3ix33llooyzwk2g7xuloz Z39514 0 90188 299731 2026-08-15T21:13:50Z Jsamwrites 938 Create test for Z39506 299731 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39514" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39506", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q47484" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z22120", "Z22120K2": "Z22113" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Sun, article, fr, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } qplqznyen2pt9fg2wzxjjd48x3jf8fc 299735 299731 2026-08-15T21:16:43Z Jsamwrites 938 299735 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39514" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39506", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q2" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z22120", "Z22120K2": "Z22115" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Sun, article, fr, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 7cwfb1k4uc9o7i5rdtja3tm1gefh8b4 299745 299735 2026-08-15T21:35:50Z Jsamwrites 938 299745 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39514" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39506", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q525" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z22120", "Z22120K2": "Z22115" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Sun, article, fr, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } tquodwc8dmbepqn9qef2qfwrm6lwhci Z39515 0 90189 299732 2026-08-15T21:13:52Z Jsamwrites 938 Create test for Z39506 299732 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39515" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39506", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q47484" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z22120", "Z22120K2": "Z22113" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Malta, article, fr, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 9d6gawau9s4npm84cttnihyz4qg9v69 299736 299732 2026-08-15T21:17:05Z Jsamwrites 938 299736 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39515" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39506", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q233" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z22120", "Z22120K2": "Z22113" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Malta, article, fr, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 381bthrtrbp3mv7n6mdhy4taemfd0w5 299770 299736 2026-08-15T22:20:15Z Jsamwrites 938 299770 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39515" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39506", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q233" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z22120", "Z22120K2": "Z22115" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Malta, article, fr, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 2euc6xdcw2t5i60q0fect7wlw9jeuo3 Z39516 0 90190 299746 2026-08-15T21:44:57Z Jsamwrites 938 299746 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39516" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39466", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z22131", "Z22131K1": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z18", "Z18K1": "Z39466K1" } } }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "" }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z18", "Z18K1": "Z39466K3" }, "Z13752K2": [ "Z1", { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q146786" } } ] }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z18", "Z18K1": "Z39466K2" }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "les" }, "Z802K3": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "des" } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z18", "Z18K1": "Z39466K2" }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z39478", "Z39478K1": { "Z1K1": "Z18", "Z18K1": "Z39466K1" } }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "l'" }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z7", "Z7K1": "Z39467", "Z39467K1": { "Z1K1": "Z18", "Z18K1": "Z39466K1" }, "Z39467K2": "Z1004" }, "Z13752K2": [ "Z1", { "Z1K1": "Z6091", "Z6091K1": "Q1775415" } ] }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "la" }, "Z802K3": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "le" } } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z7", "Z7K1": "Z39467", "Z39467K1": { "Z1K1": "Z18", "Z18K1": "Z39466K1" }, "Z39467K2": "Z1004" }, "Z13752K2": [ "Z1", { "Z1K1": "Z6091", "Z6091K1": "Q1775415" } ] }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "une" }, "Z802K3": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "un" } } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French determiner for Wikidata item, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 29mqav2vrwr0dw5ok5011x3w9rcnj17 299748 299746 2026-08-15T21:47:32Z Jsamwrites 938 299748 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39516" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39466", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z22131", "Z22131K1": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z39466K1" } } } }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "" }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z18", "Z18K1": "Z39466K3" }, "Z13752K2": [ "Z1", { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q146786" } } ] }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z18", "Z18K1": "Z39466K2" }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "les" }, "Z802K3": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "des" } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z18", "Z18K1": "Z39466K2" }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z39478", "Z39478K1": { "Z1K1": "Z18", "Z18K1": "Z39466K1" } }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "l'" }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z7", "Z7K1": "Z39467", "Z39467K1": { "Z1K1": "Z18", "Z18K1": "Z39466K1" }, "Z39467K2": "Z1004" }, "Z13752K2": [ "Z1", { "Z1K1": "Z6091", "Z6091K1": "Q1775415" } ] }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "la" }, "Z802K3": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "le" } } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z7", "Z7K1": "Z39467", "Z39467K1": { "Z1K1": "Z18", "Z18K1": "Z39466K1" }, "Z39467K2": "Z1004" }, "Z13752K2": [ "Z1", { "Z1K1": "Z6091", "Z6091K1": "Q1775415" } ] }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "une" }, "Z802K3": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "un" } } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French determiner for Wikidata item, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } lrx3h6d8llg9mpj5ea8g5axcf3tdf1p 299749 299748 2026-08-15T21:51:25Z Jsamwrites 938 test 299749 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39516" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39466", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z22131", "Z22131K1": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z39466K1" } } } }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "" }, "Z802K3": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "le" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French determiner for Wikidata item, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } i94ote2m2j0yoxtpr3lpkjs5m89uq9m 299752 299749 2026-08-15T21:54:04Z Jsamwrites 938 299752 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39516" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39466", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z22131", "Z22131K1": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z39466K1" } } } }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "" }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z18", "Z18K1": "Z39466K3" }, "Z13752K2": [ "Z1", { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q146786" } } ] }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z18", "Z18K1": "Z39466K2" }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "les" }, "Z802K3": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "des" } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z18", "Z18K1": "Z39466K2" }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z39478", "Z39478K1": { "Z1K1": "Z18", "Z18K1": "Z39466K1" } }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "l'" }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z7", "Z7K1": "Z39467", "Z39467K1": { "Z1K1": "Z18", "Z18K1": "Z39466K1" }, "Z39467K2": "Z1004" }, "Z13752K2": [ "Z1", { "Z1K1": "Z6091", "Z6091K1": "Q1775415" } ] }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "la" }, "Z802K3": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "le" } } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z7", "Z7K1": "Z39467", "Z39467K1": { "Z1K1": "Z18", "Z18K1": "Z39466K1" }, "Z39467K2": "Z1004" }, "Z13752K2": [ "Z1", { "Z1K1": "Z6091", "Z6091K1": "Q1775415" } ] }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "une" }, "Z802K3": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "un" } } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French determiner for Wikidata item, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } lrx3h6d8llg9mpj5ea8g5axcf3tdf1p 299754 299752 2026-08-15T21:58:17Z Jsamwrites 938 299754 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39516" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39466", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z22131", "Z22131K1": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z39466K1" } } } }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "" }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z18", "Z18K1": "Z39466K3" }, "Z13752K2": [ "Z6091" ] }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z18", "Z18K1": "Z39466K2" }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "les" }, "Z802K3": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "des" } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z18", "Z18K1": "Z39466K2" }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z39478", "Z39478K1": { "Z1K1": "Z18", "Z18K1": "Z39466K1" } }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "l'" }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z7", "Z7K1": "Z39467", "Z39467K1": { "Z1K1": "Z18", "Z18K1": "Z39466K1" }, "Z39467K2": "Z1004" }, "Z13752K2": [ "Z1", { "Z1K1": "Z6091", "Z6091K1": "Q1775415" } ] }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "la" }, "Z802K3": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "le" } } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z7", "Z7K1": "Z39467", "Z39467K1": { "Z1K1": "Z18", "Z18K1": "Z39466K1" }, "Z39467K2": "Z1004" }, "Z13752K2": [ "Z1", { "Z1K1": "Z6091", "Z6091K1": "Q1775415" } ] }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "une" }, "Z802K3": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "un" } } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French determiner for Wikidata item, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } ljephwjt4bmx91q8no8n6pp38vkodhh 299755 299754 2026-08-15T21:59:29Z Jsamwrites 938 299755 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39516" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39466", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z22131", "Z22131K1": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z39466K1" } } } }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "" }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z18", "Z18K1": "Z39466K3" }, "Z13752K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q146786" } ] }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z18", "Z18K1": "Z39466K2" }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "les" }, "Z802K3": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "des" } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z18", "Z18K1": "Z39466K2" }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z39478", "Z39478K1": { "Z1K1": "Z18", "Z18K1": "Z39466K1" } }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "l'" }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z7", "Z7K1": "Z39467", "Z39467K1": { "Z1K1": "Z18", "Z18K1": "Z39466K1" }, "Z39467K2": "Z1004" }, "Z13752K2": [ "Z1", { "Z1K1": "Z6091", "Z6091K1": "Q1775415" } ] }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "la" }, "Z802K3": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "le" } } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z7", "Z7K1": "Z39467", "Z39467K1": { "Z1K1": "Z18", "Z18K1": "Z39466K1" }, "Z39467K2": "Z1004" }, "Z13752K2": [ "Z1", { "Z1K1": "Z6091", "Z6091K1": "Q1775415" } ] }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "une" }, "Z802K3": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "un" } } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French determiner for Wikidata item, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } tcr62up82lns1gf8jjz09187t4rtuoh 299756 299755 2026-08-15T22:01:41Z Jsamwrites 938 299756 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39516" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39466", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z22131", "Z22131K1": { "Z1K1": "Z7", "Z7K1": "Z39506", "Z39506K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z39466K1" } } } }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "" }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z18", "Z18K1": "Z39466K3" }, "Z13752K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q146786" } ] }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z18", "Z18K1": "Z39466K2" }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "les" }, "Z802K3": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "des" } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z18", "Z18K1": "Z39466K2" }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z39478", "Z39478K1": { "Z1K1": "Z18", "Z18K1": "Z39466K1" } }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "l'" }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z7", "Z7K1": "Z39467", "Z39467K1": { "Z1K1": "Z18", "Z18K1": "Z39466K1" }, "Z39467K2": "Z1004" }, "Z13752K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1775415" } ] }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "la" }, "Z802K3": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "le" } } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z7", "Z7K1": "Z39467", "Z39467K1": { "Z1K1": "Z18", "Z18K1": "Z39466K1" }, "Z39467K2": "Z1004" }, "Z13752K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1775415" } ] }, "Z802K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "une" }, "Z802K3": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "un" } } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French determiner for Wikidata item, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } ge02de7k4wbl19z70lqrh0j82mbcwf4 Z39517 0 90191 299750 2026-08-15T21:53:15Z Jsamwrites 938 299750 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39517" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39466", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39466", "Z39466K1": { "Z1K1": "Z6091", "Z6091K1": "Q111" }, "Z39466K2": { "Z1K1": "Z40", "Z40K1": "Z42" }, "Z39466K3": [ "Z6091" ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Mars-French determiner, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } s1wpu5hmzd6yf1duvme5r04rdd2mk6u Z39518 0 90192 299753 2026-08-15T21:54:38Z Berveder24 68789 En insérant des informations sur moi 299753 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39518" }, "Z2K2": "Wikipédia, wikicommons et wikidata", "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "MPNGH" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "Étudiant congolaise en science" } ] } } nrjw20c2d0tmaxxuin4g4aitzygubxo Z39519 0 90193 299757 2026-08-15T22:04:06Z Jsamwrites 938 Create test for Z39466 299757 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39519" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39466", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39466", "Z39466K1": { "Z1K1": "Z6091", "Z6091K1": "Q111" }, "Z39466K2": { "Z1K1": "Z40", "Z40K1": "Z42" }, "Z39466K3": [ "Z6091" ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Apple-plural-definite,French determiner, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } f8byzv5ogm8unnir1ep1rxny4up4vve 299761 299757 2026-08-15T22:05:08Z Jsamwrites 938 299761 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39519" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39466", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39466", "Z39466K1": { "Z1K1": "Z6091", "Z6091K1": "Q89" }, "Z39466K2": { "Z1K1": "Z40", "Z40K1": "Z41" }, "Z39466K3": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q146786" } ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "les" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Apple-plural-definite,French determiner, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } s9ni81btxuupkxn5fmrco4j4h24wx2w Z39520 0 90194 299758 2026-08-15T22:04:08Z Jsamwrites 938 Create test for Z39466 299758 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39520" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39466", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39466", "Z39466K1": { "Z1K1": "Z6091", "Z6091K1": "Q111" }, "Z39466K2": { "Z1K1": "Z40", "Z40K1": "Z42" }, "Z39466K3": [ "Z6091" ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Apple-plural-indefinite,French determiner, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } esw2jpb40tqaincr9p2zz8di24ee5dv 299762 299758 2026-08-15T22:05:47Z Jsamwrites 938 299762 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39520" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39466", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39466", "Z39466K1": { "Z1K1": "Z6091", "Z6091K1": "Q89" }, "Z39466K2": { "Z1K1": "Z40", "Z40K1": "Z41" }, "Z39466K3": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q146786" } ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "des" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Apple-plural-indefinite,French determiner, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } gyze8z385tfgcnw2yobwzvobgd6ghbt 299763 299762 2026-08-15T22:06:11Z Jsamwrites 938 299763 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39520" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39466", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39466", "Z39466K1": { "Z1K1": "Z6091", "Z6091K1": "Q89" }, "Z39466K2": { "Z1K1": "Z40", "Z40K1": "Z42" }, "Z39466K3": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q146786" } ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "des" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Apple-plural-indefinite,French determiner, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } d3wl42fe9l5m52wkay9utio6i91rd5g Z39521 0 90195 299759 2026-08-15T22:04:11Z Jsamwrites 938 Create test for Z39466 299759 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39521" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39466", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39466", "Z39466K1": { "Z1K1": "Z6091", "Z6091K1": "Q111" }, "Z39466K2": { "Z1K1": "Z40", "Z40K1": "Z42" }, "Z39466K3": [ "Z6091" ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Apple-definite,French determiner, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } ajdmogtm0k85c0o41pfkclhscwwbst3 299764 299759 2026-08-15T22:06:34Z Jsamwrites 938 299764 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39521" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39466", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39466", "Z39466K1": { "Z1K1": "Z6091", "Z6091K1": "Q89" }, "Z39466K2": { "Z1K1": "Z40", "Z40K1": "Z41" }, "Z39466K3": [ "Z6091" ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "la" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Apple-definite,French determiner, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 83tftkwt46wukvo54dzkfrzjoyhyygs Z39522 0 90196 299760 2026-08-15T22:04:14Z Jsamwrites 938 Create test for Z39466 299760 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39522" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39466", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39466", "Z39466K1": { "Z1K1": "Z6091", "Z6091K1": "Q111" }, "Z39466K2": { "Z1K1": "Z40", "Z40K1": "Z42" }, "Z39466K3": [ "Z6091" ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Apple-indefinite,French determiner, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } fjj6jsh3ezmsv0mfasicpbu4d5jz8u9 299766 299760 2026-08-15T22:07:21Z Jsamwrites 938 299766 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39522" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39466", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39466", "Z39466K1": { "Z1K1": "Z6091", "Z6091K1": "Q89" }, "Z39466K2": { "Z1K1": "Z40", "Z40K1": "Z42" }, "Z39466K3": [ "Z6091" ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "une" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Apple-indefinite,French determiner, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 4popq9j0m66lpe94bzl9pgbcjdmc934 Z39523 0 90197 299771 2026-08-15T22:30:29Z Jsamwrites 938 299771 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39523" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39523K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z40", "Z17K2": "Z39523K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "definite article" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39523K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical features" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39523" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Wikidata item as noun phrase, French" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } o5vfavwz4iu4b7amz1c7hqzzkaxunck 299773 299771 2026-08-15T22:39:51Z Jsamwrites 938 Added Z39524 to the approved list of implementations 299773 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39523" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39523K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z40", "Z17K2": "Z39523K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "definite article" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39523K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical features" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39524" ], "Z8K5": "Z39523" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Wikidata item as noun phrase, French" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } gk94hs3ncbuj6rkvtdt5nm06dc71kgj 299775 299773 2026-08-15T22:43:12Z Jsamwrites 938 Added Z39525 to the approved list of test cases 299775 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39523" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39523K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z40", "Z17K2": "Z39523K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "definite article" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39523K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical features" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z39525" ], "Z8K4": [ "Z14", "Z39524" ], "Z8K5": "Z39523" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Wikidata item as noun phrase, French" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } swzh5b78m73j48yn10zfqm0v8uw60m0 299780 299775 2026-08-15T22:44:53Z Jsamwrites 938 Added Z39526, Z39527, Z39528 and Z39529 to the approved list of test cases 299780 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39523" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39523K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z40", "Z17K2": "Z39523K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "definite article" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39523K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical features" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z39525", "Z39526", "Z39527", "Z39528", "Z39529" ], "Z8K4": [ "Z14", "Z39524" ], "Z8K5": "Z39523" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Wikidata item as noun phrase, French" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 959yv4od88t9atmgorimg233ql9pkra Z39524 0 90198 299772 2026-08-15T22:39:42Z Jsamwrites 938 299772 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39524" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39523", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K1": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39466", "Z39466K1": { "Z1K1": "Z18", "Z18K1": "Z39523K1" }, "Z39466K2": { "Z1K1": "Z18", "Z18K1": "Z39523K2" }, "Z39466K3": { "Z1K1": "Z18", "Z18K1": "Z39523K3" } } }, "Z866K2": "" }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z39422", "Z39422K1": { "Z1K1": "Z18", "Z18K1": "Z39523K1" }, "Z39422K2": { "Z1K1": "Z18", "Z18K1": "Z39523K3" }, "Z39422K3": "Z1004" }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K1": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39466", "Z39466K1": { "Z1K1": "Z18", "Z18K1": "Z39523K1" }, "Z39466K2": { "Z1K1": "Z18", "Z18K1": "Z39523K2" }, "Z39466K3": { "Z1K1": "Z18", "Z18K1": "Z39523K3" } } }, "Z866K2": "l'" }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z34669", "Z34669K1": [ "Z11", { "Z1K1": "Z7", "Z7K1": "Z39466", "Z39466K1": { "Z1K1": "Z18", "Z18K1": "Z39523K1" }, "Z39466K2": { "Z1K1": "Z18", "Z18K1": "Z39523K2" }, "Z39466K3": { "Z1K1": "Z18", "Z18K1": "Z39523K3" } }, { "Z1K1": "Z7", "Z7K1": "Z39422", "Z39422K1": { "Z1K1": "Z18", "Z18K1": "Z39523K1" }, "Z39422K2": { "Z1K1": "Z18", "Z18K1": "Z39523K3" }, "Z39422K3": "Z1004" } ], "Z34669K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "" } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z34669", "Z34669K1": [ "Z11", { "Z1K1": "Z7", "Z7K1": "Z39466", "Z39466K1": { "Z1K1": "Z18", "Z18K1": "Z39523K1" }, "Z39466K2": { "Z1K1": "Z18", "Z18K1": "Z39523K2" }, "Z39466K3": { "Z1K1": "Z18", "Z18K1": "Z39523K3" } }, { "Z1K1": "Z7", "Z7K1": "Z39422", "Z39422K1": { "Z1K1": "Z18", "Z18K1": "Z39523K1" }, "Z39422K2": { "Z1K1": "Z18", "Z18K1": "Z39523K3" }, "Z39422K3": "Z1004" } ], "Z34669K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": " " } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Wikidata item as noun phrase, French, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 5bsxwkkf5fm5v11oj8q6ltrp7hh5you Z39525 0 90199 299774 2026-08-15T22:42:59Z Jsamwrites 938 299774 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39525" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39523", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39523", "Z39523K1": { "Z1K1": "Z6091", "Z6091K1": "Q89" }, "Z39523K2": { "Z1K1": "Z40", "Z40K1": "Z41" }, "Z39523K3": [ "Z6091" ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "la pomme" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "apple-fr definite noun phrase, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } brmxc93ydv9svq5e6as3isoowxt0w0x Z39526 0 90200 299776 2026-08-15T22:44:36Z Jsamwrites 938 Create test for Z39523 299776 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39526" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39523", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39523", "Z39523K1": { "Z1K1": "Z6091", "Z6091K1": "Q89" }, "Z39523K2": { "Z1K1": "Z40", "Z40K1": "Z41" }, "Z39523K3": [ "Z6091" ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "la pomme" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Dog-plural-definite,French noun phrase, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 5q5wbhw6n4gar7d1umj3nd5w54oxmnh 299781 299776 2026-08-15T22:47:23Z Jsamwrites 938 299781 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39526" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39523", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39523", "Z39523K1": { "Z1K1": "Z6091", "Z6091K1": "Q144" }, "Z39523K2": { "Z1K1": "Z40", "Z40K1": "Z41" }, "Z39523K3": [ "Z6091" ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "le chien" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Dog-plural-definite,French noun phrase, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 2dhdfh305tv1wixgo28wwjxq1h5zgad 299782 299781 2026-08-15T22:48:33Z Jsamwrites 938 299782 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39526" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39523", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39523", "Z39523K1": { "Z1K1": "Z6091", "Z6091K1": "Q144" }, "Z39523K2": { "Z1K1": "Z40", "Z40K1": "Z41" }, "Z39523K3": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q146786" } ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "les chiens" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Dog-plural-definite,French noun phrase, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } g0fwaw3uvmlh5xkfyocoa1frbkzegcb Z39527 0 90201 299777 2026-08-15T22:44:38Z Jsamwrites 938 Create test for Z39523 299777 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39527" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39523", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39523", "Z39523K1": { "Z1K1": "Z6091", "Z6091K1": "Q89" }, "Z39523K2": { "Z1K1": "Z40", "Z40K1": "Z41" }, "Z39523K3": [ "Z6091" ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "la pomme" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Dog-plural-indefinite,French noun phrase, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } lfmtet5haym331dzh0on8jy7h7nqqa7 299783 299777 2026-08-15T22:49:32Z Jsamwrites 938 299783 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39527" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39523", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39523", "Z39523K1": { "Z1K1": "Z6091", "Z6091K1": "Q144" }, "Z39523K2": { "Z1K1": "Z40", "Z40K1": "Z42" }, "Z39523K3": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q146786" } ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "des chiens" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Dog-plural-indefinite,French noun phrase, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } hnnakzbyxoyqa41axype2r87rahnkv3 Z39528 0 90202 299778 2026-08-15T22:44:41Z Jsamwrites 938 Create test for Z39523 299778 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39528" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39523", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39523", "Z39523K1": { "Z1K1": "Z6091", "Z6091K1": "Q89" }, "Z39523K2": { "Z1K1": "Z40", "Z40K1": "Z41" }, "Z39523K3": [ "Z6091" ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "la pomme" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Dog-definite, French noun phrase, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } mrcts6ak1sz27xwajsf6ms5iikcp4xk 299784 299778 2026-08-15T22:50:06Z Jsamwrites 938 299784 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39528" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39523", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39523", "Z39523K1": { "Z1K1": "Z6091", "Z6091K1": "Q144" }, "Z39523K2": { "Z1K1": "Z40", "Z40K1": "Z41" }, "Z39523K3": [ "Z6091" ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "le chien" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Dog-definite, French noun phrase, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 1xw6uvd7caux0jr7d4m17dy30o6urdr 299787 299784 2026-08-15T22:53:28Z Jsamwrites 938 299787 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39528" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39523", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39523", "Z39523K1": { "Z1K1": "Z6091", "Z6091K1": "Q144" }, "Z39523K2": { "Z1K1": "Z40", "Z40K1": "Z41" }, "Z39523K3": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q110786" } ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "le chien" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Dog-definite, French noun phrase, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } hv6007b4nle6y78kay9np7rx7n4kybn Z39529 0 90203 299779 2026-08-15T22:44:44Z Jsamwrites 938 Create test for Z39523 299779 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39529" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39523", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39523", "Z39523K1": { "Z1K1": "Z6091", "Z6091K1": "Q89" }, "Z39523K2": { "Z1K1": "Z40", "Z40K1": "Z41" }, "Z39523K3": [ "Z6091" ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "la pomme" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Dog-indefinite, French noun phrase, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } g6cmso3y0t0u754trp34z9ovg1juf7h 299785 299779 2026-08-15T22:50:34Z Jsamwrites 938 299785 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39529" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39523", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39523", "Z39523K1": { "Z1K1": "Z6091", "Z6091K1": "Q144" }, "Z39523K2": { "Z1K1": "Z40", "Z40K1": "Z42" }, "Z39523K3": [ "Z6091" ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "un chien" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Dog-indefinite, French noun phrase, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } mlvavnmlf4d34pelvdn9pfnicwlv0wo 299786 299785 2026-08-15T22:52:42Z Jsamwrites 938 299786 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39529" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39523", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39523", "Z39523K1": { "Z1K1": "Z6091", "Z6091K1": "Q144" }, "Z39523K2": { "Z1K1": "Z40", "Z40K1": "Z42" }, "Z39523K3": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q110786" } ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "un chien" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Dog-indefinite, French noun phrase, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } p66d5462qqt1i7ip5faw0dolxuv1j3h Z39530 0 90205 299789 2026-08-16T00:23:31Z Omar M. Ghaly 99256 . 299789 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39530" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39530K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39530" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Grammatical gender from Wikidata item [ar]" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "Arabic gender", "gender in Arabic" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Checks the gender of a word from a Wikidata item for Arabic" } ] } } frievl0zq6af5d5sgsyvcpu3raa4yez 299790 299789 2026-08-16T00:48:18Z Omar M. Ghaly 99256 . 299790 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39530" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39530K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39530" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Grammatical gender from Wikidata item [ar]" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "Arabic gender", "gender in Arabic" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Checks the gender of a word from a Wikidata item for Arabic" } ] } } kg2uu294ul9b7iabqxqzzfv0k4wbtzo Talk:Z21658 1 90206 299805 2026-08-16T05:46:43Z Arlo Barnes 1231 /* litre */ new section 299805 wikitext text/x-wiki == litre == 4.226752837(73037469004) cu [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 05:46, 16 August 2026 (UTC) njpzdmbo5wzetyqhqqwrschkxhgp05e Z39531 0 90207 299809 2026-08-16T05:57:11Z Jsamwrites 938 299809 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39531" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39531K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39531" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number of Wikidata item" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } p5r8imd00ncpyygaoum4bcs98rcv2ea 299811 299809 2026-08-16T06:09:26Z Jsamwrites 938 Added Z39532 to the approved list of implementations 299811 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39531" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39531K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39532" ], "Z8K5": "Z39531" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number of Wikidata item" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } s8d4emwhmvane9izxk8ckbdah3r1jux 299815 299811 2026-08-16T06:18:09Z Jsamwrites 938 Added Z39533 to the approved list of test cases 299815 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39531" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39531K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20", "Z39533" ], "Z8K4": [ "Z14", "Z39532" ], "Z8K5": "Z39531" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number of Wikidata item" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } jt51a309x69887wntbe8ng8sfcr7jr2 299824 299815 2026-08-16T06:36:18Z Jsamwrites 938 Removed Z39532 from the approved list of implementations 299824 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39531" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39531K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20", "Z39533" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39531" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number of Wikidata item" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } pfx6wqo9lg23iqb1hu8p1nbh8hdetcr 299825 299824 2026-08-16T06:36:21Z Jsamwrites 938 Removed Z39533 from the approved list of test cases 299825 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39531" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39531K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39531" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number of Wikidata item" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } p5r8imd00ncpyygaoum4bcs98rcv2ea 299826 299825 2026-08-16T06:36:46Z Jsamwrites 938 299826 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39531" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39531K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z39531K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39531" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number of Wikidata item" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } mk5cawt5l2wykj35f9rarxqw22xpv5q 299827 299826 2026-08-16T06:36:51Z Jsamwrites 938 Added Z39532 to the approved list of implementations 299827 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39531" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39531K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z39531K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39532" ], "Z8K5": "Z39531" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number of Wikidata item" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } j7qqfisibz82lnjand7mubl3xha5708 299829 299827 2026-08-16T06:37:29Z Jsamwrites 938 Added Z39533 to the approved list of test cases 299829 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39531" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39531K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z39531K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20", "Z39533" ], "Z8K4": [ "Z14", "Z39532" ], "Z8K5": "Z39531" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number of Wikidata item" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 460w3szcqu7ydcnfxliafmt7xdhnkxj Z39532 0 90208 299810 2026-08-16T06:09:14Z Jsamwrites 938 299810 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39532" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39531", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z27299", "Z27299K1": { "Z1K1": "Z18", "Z18K1": "Z39531K1" }, "Z27299K2": { "Z1K1": "Z6092", "Z6092K1": "P11054" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z22978", "Z22978K1": { "Z1K1": "Z18", "Z18K1": "Z39531K1" }, "Z22978K2": { "Z1K1": "Z6092", "Z6092K1": "P11054" } } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q110786" } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number of Wikidata item, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 7ba4n905b10lksoi86jtfhdajwbts8m 299812 299810 2026-08-16T06:10:26Z Jsamwrites 938 299812 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39532" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39531", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z27299", "Z27299K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z39531K1" } }, "Z27299K2": { "Z1K1": "Z6092", "Z6092K1": "P11054" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z22978", "Z22978K1": { "Z1K1": "Z18", "Z18K1": "Z39531K1" }, "Z22978K2": { "Z1K1": "Z6092", "Z6092K1": "P11054" } } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q110786" } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number of Wikidata item, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } dnnr2mys9g8dfc1zlersmwrurdh8bn0 299814 299812 2026-08-16T06:18:02Z Jsamwrites 938 299814 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39532" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39531", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z27299", "Z27299K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z39531K1" } }, "Z27299K2": { "Z1K1": "Z6092", "Z6092K1": "P11054" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z23756", "Z23756K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z22978", "Z22978K1": { "Z1K1": "Z18", "Z18K1": "Z39531K1" }, "Z22978K2": { "Z1K1": "Z6092", "Z6092K1": "P11054" } } } } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z6091", "Z6091K1": "Q110786" } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number of Wikidata item, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 2h6q484gx0lo1xw2gi9qwnwjql91nzp 299816 299814 2026-08-16T06:20:43Z Jsamwrites 938 299816 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39532" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39531", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z27299", "Z27299K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z39531K1" } }, "Z27299K2": { "Z1K1": "Z6092", "Z6092K1": "P11054" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z23756", "Z23756K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z22978", "Z22978K1": { "Z1K1": "Z18", "Z18K1": "Z39531K1" }, "Z22978K2": { "Z1K1": "Z6092", "Z6092K1": "P11054" } } } } }, "Z802K3": { "Z1K1": "Z6091", "Z6091K1": "Q110786" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number of Wikidata item, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 0h6qya9y8x4m1odfsnjnjamflg9f7n4 Z39533 0 90209 299813 2026-08-16T06:15:39Z Jsamwrites 938 299813 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39533" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39531", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39531", "Z39531K1": { "Z1K1": "Z6091", "Z6091K1": "Q515" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q110786" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "city, grammatical number, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } paktu5gpm4dnnoeq3s69katt2gm83xt 299828 299813 2026-08-16T06:37:21Z Jsamwrites 938 299828 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39533" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39531", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39531", "Z39531K1": { "Z1K1": "Z6091", "Z6091K1": "Q515" }, "Z39531K2": "Z1002" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q110786" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "city, grammatical number, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 31d85apyre7caoaw90rmyquhjs0refk Z39534 0 90210 299817 2026-08-16T06:31:23Z Jsamwrites 938 299817 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39534" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39534K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "list of entities " } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39534" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number of Wikidata items" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } n1gcgma7ls305sdy7j74ysn7s1lc9td 299820 299817 2026-08-16T06:34:46Z Jsamwrites 938 Added Z39535 to the approved list of implementations 299820 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39534" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39534K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "list of entities " } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39535" ], "Z8K5": "Z39534" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number of Wikidata items" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 192ohy0lcrt0ydnf6sg3rx86nch99z2 299821 299820 2026-08-16T06:35:13Z Jsamwrites 938 Removed Z39535 from the approved list of implementations 299821 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39534" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39534K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "list of entities " } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39534" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number of Wikidata items" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } n1gcgma7ls305sdy7j74ysn7s1lc9td 299822 299821 2026-08-16T06:35:34Z Jsamwrites 938 299822 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39534" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39534K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "list of entities " } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39534" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number of Wikidata items" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } mdjska7uijxunp7i0gssfyygki7su0n 299823 299822 2026-08-16T06:35:56Z Jsamwrites 938 299823 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39534" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39534K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "list of entities " } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z39534K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39534" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number of Wikidata items" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } au83ytkq4yruwkvmp43vwxktks9odr4 299830 299823 2026-08-16T06:38:47Z Jsamwrites 938 Added Z39535 to the approved list of implementations 299830 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39534" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39534K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "list of entities " } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z39534K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39535" ], "Z8K5": "Z39534" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number of Wikidata items" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } eq5bi4zjqp5wfz3w2r32b6zjgv4smmw 299833 299830 2026-08-16T06:39:54Z Jsamwrites 938 Added Z39536 to the approved list of test cases 299833 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39534" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39534K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "list of entities " } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z39534K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20", "Z39536" ], "Z8K4": [ "Z14", "Z39535" ], "Z8K5": "Z39534" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number of Wikidata items" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } rjkzqahbfrc6vgq53x1l2lrtj47yjvb Z39535 0 90211 299818 2026-08-16T06:34:24Z Jsamwrites 938 299818 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39535" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39534", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13676", "Z13676K1": { "Z1K1": "Z7", "Z7K1": "Z12681", "Z12681K1": { "Z1K1": "Z18", "Z18K1": "Z39534K1" } }, "Z13676K2": { "Z1K1": "Z13518", "Z13518K1": "1" } }, "Z802K2": { "Z1K1": "Z6091", "Z6091K1": "Q146786" }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z39531", "Z39531K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z18", "Z18K1": "Z39534K1" } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } a62xzlluiq5mj307s79sx5nbwvqepks 299819 299818 2026-08-16T06:34:37Z Jsamwrites 938 299819 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39535" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39534", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13676", "Z13676K1": { "Z1K1": "Z7", "Z7K1": "Z12681", "Z12681K1": { "Z1K1": "Z18", "Z18K1": "Z39534K1" } }, "Z13676K2": { "Z1K1": "Z13518", "Z13518K1": "1" } }, "Z802K2": { "Z1K1": "Z6091", "Z6091K1": "Q146786" }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z39531", "Z39531K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z18", "Z18K1": "Z39534K1" } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number of Wikidata items, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 70tls5bqo83bmootjes9wzhgfsemgpq Z39536 0 90212 299831 2026-08-16T06:39:25Z Jsamwrites 938 299831 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39536" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39534", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39534", "Z39534K1": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q515" }, { "Z1K1": "Z6091", "Z6091K1": "Q1549591" } ], "Z39534K2": { "Z1K1": "Z9", "Z9K1": "" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q146786" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity list, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } obmsrj9ce0vwr866qq8lr9ilzmwr9wg 299832 299831 2026-08-16T06:39:44Z Jsamwrites 938 299832 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39536" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39534", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39534", "Z39534K1": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q515" }, { "Z1K1": "Z6091", "Z6091K1": "Q1549591" } ], "Z39534K2": "Z1002" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q146786" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity list, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } b99bmcju8n7a93586xayfnat5ctl895 299834 299832 2026-08-16T06:40:09Z Jsamwrites 938 299834 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39536" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39534", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39534", "Z39534K1": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q515" }, { "Z1K1": "Z6091", "Z6091K1": "Q1549591" } ], "Z39534K2": "Z1002" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q146786" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity list-grammatical number, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } h56wvgdvphxpr5andqjclb6n2iav339 Z39537 0 90213 299835 2026-08-16T06:46:49Z Jsamwrites 938 299835 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39537" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39537K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39537K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical features list" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39537" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb form from Wikidata Lexeme" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } mtblbgslp41wth9thq6vncbcmvmkd6g 299837 299835 2026-08-16T06:47:55Z Jsamwrites 938 Added Z39538 to the approved list of implementations 299837 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39537" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39537K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39537K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical features list" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39538" ], "Z8K5": "Z39537" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb form from Wikidata Lexeme" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } sp83hljsw4skxsxm25cdresuc79r71g 299841 299837 2026-08-16T06:55:34Z Jsamwrites 938 Added Z39539 to the approved list of test cases 299841 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39537" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39537K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39537K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical features list" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z39539" ], "Z8K4": [ "Z14", "Z39538" ], "Z8K5": "Z39537" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb form from Wikidata Lexeme" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } hs2ayw1rfuks0vl99fza73zoprmkilp 299847 299841 2026-08-16T07:00:33Z Jsamwrites 938 Added Z39540 to the approved list of test cases 299847 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39537" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39537K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39537K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical features list" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z39539", "Z39540" ], "Z8K4": [ "Z14", "Z39538" ], "Z8K5": "Z39537" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb form from Wikidata Lexeme" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } buzwju41vpdbpg6m2tm0k2ce4ssnfzk Z39538 0 90214 299836 2026-08-16T06:47:44Z Jsamwrites 938 299836 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39538" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39537", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z27410", "Z27410K1": { "Z1K1": "Z18", "Z18K1": "Z39537K1" }, "Z27410K2": { "Z1K1": "Z18", "Z18K1": "Z39537K2" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb form from Wikidata Lexeme, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } pkt8c7l8oro7rp8qwbkm8lg45oqzvgw 299838 299836 2026-08-16T06:49:06Z Jsamwrites 938 299838 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39538" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39537", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z27410", "Z27410K1": { "Z1K1": "Z7", "Z7K1": "Z6825", "Z6825K1": { "Z1K1": "Z18", "Z18K1": "Z39537K1" } }, "Z27410K2": { "Z1K1": "Z18", "Z18K1": "Z39537K2" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb form from Wikidata Lexeme, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } jkf0admusf8cm4j17y2fst89mak0r0e 299840 299838 2026-08-16T06:55:25Z Jsamwrites 938 299840 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39538" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39537", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z34943", "Z34943K1": { "Z1K1": "Z7", "Z7K1": "Z6825", "Z6825K1": { "Z1K1": "Z18", "Z18K1": "Z39537K1" } }, "Z34943K2": { "Z1K1": "Z18", "Z18K1": "Z39537K2" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb form from Wikidata Lexeme, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 53c1eqf606agf86tcy8ecwmhpmmeq2t 299842 299840 2026-08-16T06:58:12Z Jsamwrites 938 299842 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39538" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39537", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z16273", "Z16273K1": { "Z1K1": "Z7", "Z7K1": "Z34943", "Z34943K1": { "Z1K1": "Z7", "Z7K1": "Z6825", "Z6825K1": { "Z1K1": "Z18", "Z18K1": "Z39537K1" } }, "Z34943K2": { "Z1K1": "Z18", "Z18K1": "Z39537K2" } }, "Z16273K2": { "Z1K1": "Z7", "Z7K1": "Z19295", "Z19295K1": { "Z1K1": "Z7", "Z7K1": "Z6825", "Z6825K1": { "Z1K1": "Z18", "Z18K1": "Z39537K1" } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb form from Wikidata Lexeme, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } mvui1wtyxxt79n7e0zrma3tctrps3n9 Z39539 0 90215 299839 2026-08-16T06:53:05Z Jsamwrites 938 299839 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39539" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39537", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z6095", "Z6095K1": "L9" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, { "Z1K1": "Z6091", "Z6091K1": "Q814722" } ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "created" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "create-verb form, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 1tk17e4t8iyuczwl6je4nevyopnzl0o Z39540 0 90216 299843 2026-08-16T06:59:28Z Jsamwrites 938 Create test for Z39537 299843 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39540" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39537", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z6095", "Z6095K1": "L9" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, { "Z1K1": "Z6091", "Z6091K1": "Q814722" } ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "created" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "create-verb form, masculine, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } fmu0dgjksoh9ommz9oefdh9m4pwx3om 299845 299843 2026-08-16T06:59:56Z Jsamwrites 938 299845 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39540" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39537", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z6095", "Z6095K1": "L9" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, { "Z1K1": "Z6091", "Z6091K1": "Q814722" } ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "created" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "create-verb form, fr, masculine, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 2pbuiwvllxd86vsg5a5xasrbou1bich 299846 299845 2026-08-16T07:00:24Z Jsamwrites 938 299846 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39540" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39537", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z6095", "Z6095K1": "L9450" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, { "Z1K1": "Z6091", "Z6091K1": "Q814722" } ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "créé" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "create-verb form, fr, masculine, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } qdkva0x64zlm3jri7j0falcyglhh2w0 Z39541 0 90217 299844 2026-08-16T06:59:30Z Jsamwrites 938 Create test for Z39537 299844 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39541" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39537", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z6095", "Z6095K1": "L9" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, { "Z1K1": "Z6091", "Z6091K1": "Q814722" } ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "created" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "create-verb form, feminine, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 3dcuuii6yw52ujf4hasyg4vfhll6haj 299848 299844 2026-08-16T07:01:14Z Jsamwrites 938 299848 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39541" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39537", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z6095", "Z6095K1": "L9450" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, { "Z1K1": "Z6091", "Z6091K1": "Q814722" }, { "Z1K1": "Z6091", "Z6091K1": "Q1775415" } ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "créée" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "create-verb form, fr, feminine, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } rwb50cjbqicgtu9tg7pnhc16vdqia2b Z39542 0 90218 299849 2026-08-16T07:11:00Z Jsamwrites 938 299849 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39542" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39542K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subjects" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39542K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39542K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39542K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "voice" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39542" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "English verbal complex for Wikidata subjects" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } ecacnarmeu721qser8uk1o4vayunshp 299852 299849 2026-08-16T07:19:27Z Jsamwrites 938 Added Z39543 to the approved list of implementations 299852 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39542" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39542K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subjects" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39542K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39542K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39542K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "voice" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39543" ], "Z8K5": "Z39542" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "English verbal complex for Wikidata subjects" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } gm9tbm61usf45ml6xhjq2924agp36xk 299853 299852 2026-08-16T07:21:25Z Jsamwrites 938 Removed Z39543 from the approved list of implementations 299853 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39542" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39542K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subjects" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39542K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39542K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39542K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "voice" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39542" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "English verbal complex for Wikidata subjects" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } ecacnarmeu721qser8uk1o4vayunshp 299854 299853 2026-08-16T07:21:42Z Jsamwrites 938 299854 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39542" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39542K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subjects" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39542K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39542K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39542K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "voice" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39542" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "English verbal complex for Wikidata subjects" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } e9c58ccd8wp5t82l06e1j6aha50a1q8 299855 299854 2026-08-16T07:21:47Z Jsamwrites 938 Added Z39543 to the approved list of implementations 299855 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39542" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39542K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subjects" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39542K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39542K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39542K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "voice" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39543" ], "Z8K5": "Z39542" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "English verbal complex for Wikidata subjects" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 4jf5f5ukpfhub972lbsgdy4bagosnen 299882 299855 2026-08-16T08:09:38Z Jsamwrites 938 Added Z39553 to the approved list of test cases 299882 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39542" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39542K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subjects" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39542K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39542K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39542K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "voice" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z39553" ], "Z8K4": [ "Z14", "Z39543" ], "Z8K5": "Z39542" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "English verbal complex for Wikidata subjects" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } rasbh0c2y0dfq9k4gpl7yyh8sthemac 299891 299882 2026-08-16T08:10:58Z Jsamwrites 938 Added Z39555, Z39556, Z39557 and Z39558 to the approved list of test cases 299891 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39542" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39542K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subjects" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39542K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39542K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39542K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "voice" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z39553", "Z39555", "Z39556", "Z39557", "Z39558" ], "Z8K4": [ "Z14", "Z39543" ], "Z8K5": "Z39542" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "English verbal complex for Wikidata subjects" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 6hcf9etpn8rldx3irwm3ost8meinzkw 299902 299891 2026-08-16T08:18:18Z Jsamwrites 938 Removed Z39553, Z39555, Z39556, Z39557 and Z39558 from the approved list of test cases 299902 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39542" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39542K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subjects" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39542K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39542K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39542K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "voice" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39543" ], "Z8K5": "Z39542" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "English verbal complex for Wikidata subjects" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 4jf5f5ukpfhub972lbsgdy4bagosnen 299906 299902 2026-08-16T08:32:13Z Jsamwrites 938 Added Z39553, Z39555, Z39556, Z39557, Z39558, Z39559, Z39560 and Z39561 to the approved list of test cases 299906 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39542" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39542K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subjects" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39542K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39542K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39542K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "voice" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z39553", "Z39555", "Z39556", "Z39557", "Z39558", "Z39559", "Z39560", "Z39561" ], "Z8K4": [ "Z14", "Z39543" ], "Z8K5": "Z39542" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "English verbal complex for Wikidata subjects" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } s02k9tol0jp0swoknb40f9l1jdwbn7r Z39543 0 90219 299850 2026-08-16T07:19:05Z Jsamwrites 938 299850 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39543" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39542", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z18", "Z18K1": "Z39542K4" }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q1317831" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z18", "Z18K1": "Z39542K2" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z18", "Z18K1": "Z39542K3" }, { "Z1K1": "Z6091", "Z6091K1": "Q682111" }, { "Z1K1": "Z6091", "Z6091K1": "Q51929074" }, { "Z1K1": "Z7", "Z7K1": "Z39534", "Z39534K1": { "Z1K1": "Z18", "Z18K1": "Z39542K1" }, "Z39534K2": "Z1002" } ] }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z34669", "Z34669K1": [ "Z11", { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z6095", "Z6095K1": "L1883" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z18", "Z18K1": "Z39542K3" }, { "Z1K1": "Z6091", "Z6091K1": "Q682111" }, { "Z1K1": "Z6091", "Z6091K1": "Q51929074" }, { "Z1K1": "Z7", "Z7K1": "Z39534", "Z39534K1": { "Z1K1": "Z18", "Z18K1": "Z39542K1" }, "Z39534K2": "Z1002" } ] }, { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z18", "Z18K1": "Z39542K2" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, { "Z1K1": "Z6091", "Z6091K1": "Q814722" } ] } ], "Z34669K2": { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": " " } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } a571fkz3p7s8f3of2lvuad4n6as0qk5 299851 299850 2026-08-16T07:19:18Z Jsamwrites 938 299851 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39543" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39542", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z18", "Z18K1": "Z39542K4" }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q1317831" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z18", "Z18K1": "Z39542K2" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z18", "Z18K1": "Z39542K3" }, { "Z1K1": "Z6091", "Z6091K1": "Q682111" }, { "Z1K1": "Z6091", "Z6091K1": "Q51929074" }, { "Z1K1": "Z7", "Z7K1": "Z39534", "Z39534K1": { "Z1K1": "Z18", "Z18K1": "Z39542K1" }, "Z39534K2": "Z1002" } ] }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z34669", "Z34669K1": [ "Z11", { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z6095", "Z6095K1": "L1883" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z18", "Z18K1": "Z39542K3" }, { "Z1K1": "Z6091", "Z6091K1": "Q682111" }, { "Z1K1": "Z6091", "Z6091K1": "Q51929074" }, { "Z1K1": "Z7", "Z7K1": "Z39534", "Z39534K1": { "Z1K1": "Z18", "Z18K1": "Z39542K1" }, "Z39534K2": "Z1002" } ] }, { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z18", "Z18K1": "Z39542K2" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, { "Z1K1": "Z6091", "Z6091K1": "Q814722" } ] } ], "Z34669K2": { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": " " } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "English verbal complex for Wikidata subjects, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 2bpfklvmi6x83nzwj2ke1ic7jcjdr60 299858 299851 2026-08-16T07:25:23Z Jsamwrites 938 299858 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39543" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39542", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z18", "Z18K1": "Z39542K4" }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q1317831" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z18", "Z18K1": "Z39542K2" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z18", "Z18K1": "Z39542K3" }, { "Z1K1": "Z6091", "Z6091K1": "Q682111" }, { "Z1K1": "Z6091", "Z6091K1": "Q51929074" }, { "Z1K1": "Z7", "Z7K1": "Z39534", "Z39534K1": { "Z1K1": "Z18", "Z18K1": "Z39542K1" }, "Z39534K2": "Z1002" } ] }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z34669", "Z34669K1": [ "Z11", { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z6095", "Z6095K1": "L1883" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z18", "Z18K1": "Z39542K3" }, { "Z1K1": "Z6091", "Z6091K1": "Q682111" }, { "Z1K1": "Z6091", "Z6091K1": "Q51929074" }, { "Z1K1": "Z7", "Z7K1": "Z39534", "Z39534K1": { "Z1K1": "Z18", "Z18K1": "Z39542K1" }, "Z39534K2": "Z1002" } ] }, { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z18", "Z18K1": "Z39542K2" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1230649" } ] } ], "Z34669K2": { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": " " } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "English verbal complex for Wikidata subjects, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 3yqjf1vruaym6oybcoqsn2zyh5kx06w 299863 299858 2026-08-16T07:43:38Z Jsamwrites 938 299863 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39543" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39542", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z18", "Z18K1": "Z39542K4" }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q1317831" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z7", "Z7K1": "Z39534", "Z39534K1": { "Z1K1": "Z18", "Z18K1": "Z39542K1" }, "Z39534K2": "Z1002" }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q110786" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z18", "Z18K1": "Z39542K2" }, "Z39537K2": [ "Z6091" ] }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z18", "Z18K1": "Z39542K2" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q3910936" }, { "Z1K1": "Z6091", "Z6091K1": "Q51929074" }, { "Z1K1": "Z6091", "Z6091K1": "Q110786" } ] } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z34669", "Z34669K1": [ "Z11", { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z6095", "Z6095K1": "L1883" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z18", "Z18K1": "Z39542K3" }, { "Z1K1": "Z6091", "Z6091K1": "Q682111" }, { "Z1K1": "Z6091", "Z6091K1": "Q51929074" }, { "Z1K1": "Z7", "Z7K1": "Z39534", "Z39534K1": { "Z1K1": "Z18", "Z18K1": "Z39542K1" }, "Z39534K2": "Z1002" } ] }, { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z18", "Z18K1": "Z39542K2" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1230649" } ] } ], "Z34669K2": { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": " " } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "English verbal complex for Wikidata subjects, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 5u3t6nbono8s4fpik04o0r8k2isb9rs 299870 299863 2026-08-16T07:48:01Z Jsamwrites 938 299870 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39543" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39542", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z18", "Z18K1": "Z39542K4" }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q1317831" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z39544", "Z39544K1": { "Z1K1": "Z18", "Z18K1": "Z39542K2" }, "Z39544K2": { "Z1K1": "Z18", "Z18K1": "Z39542K3" }, "Z39544K3": { "Z1K1": "Z7", "Z7K1": "Z39534", "Z39534K1": { "Z1K1": "Z18", "Z18K1": "Z39542K1" }, "Z39534K2": "Z1002" } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z34669", "Z34669K1": [ "Z11", { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z6095", "Z6095K1": "L1883" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z18", "Z18K1": "Z39542K3" }, { "Z1K1": "Z6091", "Z6091K1": "Q682111" }, { "Z1K1": "Z6091", "Z6091K1": "Q51929074" }, { "Z1K1": "Z7", "Z7K1": "Z39534", "Z39534K1": { "Z1K1": "Z18", "Z18K1": "Z39542K1" }, "Z39534K2": "Z1002" } ] }, { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z18", "Z18K1": "Z39542K2" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1230649" } ] } ], "Z34669K2": { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": " " } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "English verbal complex for Wikidata subjects, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } fqx6dxwg8eqbhiliayn61ft6k5uetox 299904 299870 2026-08-16T08:24:38Z Jsamwrites 938 299904 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39543" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39542", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z18", "Z18K1": "Z39542K4" }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q1317831" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z39544", "Z39544K1": { "Z1K1": "Z18", "Z18K1": "Z39542K2" }, "Z39544K2": { "Z1K1": "Z18", "Z18K1": "Z39542K3" }, "Z39544K3": { "Z1K1": "Z7", "Z7K1": "Z39534", "Z39534K1": { "Z1K1": "Z18", "Z18K1": "Z39542K1" }, "Z39534K2": "Z1002" } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z34669", "Z34669K1": [ "Z11", { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z18", "Z18K1": "Z39542K3" }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q192613" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z6095", "Z6095K1": "L1883" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q56682909" }, { "Z1K1": "Z7", "Z7K1": "Z39534", "Z39534K1": { "Z1K1": "Z18", "Z18K1": "Z39542K1" }, "Z39534K2": "Z1002" } ] }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z6095", "Z6095K1": "L1883" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z18", "Z18K1": "Z39542K3" }, { "Z1K1": "Z6091", "Z6091K1": "Q682111" }, { "Z1K1": "Z6091", "Z6091K1": "Q51929074" }, { "Z1K1": "Z7", "Z7K1": "Z39534", "Z39534K1": { "Z1K1": "Z18", "Z18K1": "Z39542K1" }, "Z39534K2": "Z1002" } ] } }, { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z18", "Z18K1": "Z39542K2" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1230649" } ] } ], "Z34669K2": { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": " " } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "English verbal complex for Wikidata subjects, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 0zuucjrqonz6vvkoqcjjheghyv4m4ml 299905 299904 2026-08-16T08:32:01Z Jsamwrites 938 299905 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39543" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39542", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z18", "Z18K1": "Z39542K4" }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q1317831" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z39544", "Z39544K1": { "Z1K1": "Z18", "Z18K1": "Z39542K2" }, "Z39544K2": { "Z1K1": "Z18", "Z18K1": "Z39542K3" }, "Z39544K3": { "Z1K1": "Z7", "Z7K1": "Z39534", "Z39534K1": { "Z1K1": "Z18", "Z18K1": "Z39542K1" }, "Z39534K2": "Z1002" } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z34669", "Z34669K1": [ "Z11", { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z18", "Z18K1": "Z39542K3" }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q192613" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z7", "Z7K1": "Z39534", "Z39534K1": { "Z1K1": "Z18", "Z18K1": "Z39542K1" }, "Z39534K2": "Z1002" }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q110786" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z6095", "Z6095K1": "L1883" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q56682909" }, { "Z1K1": "Z6091", "Z6091K1": "Q51929074" }, { "Z1K1": "Z7", "Z7K1": "Z39534", "Z39534K1": { "Z1K1": "Z18", "Z18K1": "Z39542K1" }, "Z39534K2": "Z1002" } ] }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z6095", "Z6095K1": "L1883" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q56682909" }, { "Z1K1": "Z7", "Z7K1": "Z39534", "Z39534K1": { "Z1K1": "Z18", "Z18K1": "Z39542K1" }, "Z39534K2": "Z1002" } ] } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z6095", "Z6095K1": "L1883" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z18", "Z18K1": "Z39542K3" }, { "Z1K1": "Z6091", "Z6091K1": "Q682111" }, { "Z1K1": "Z6091", "Z6091K1": "Q51929074" }, { "Z1K1": "Z7", "Z7K1": "Z39534", "Z39534K1": { "Z1K1": "Z18", "Z18K1": "Z39542K1" }, "Z39534K2": "Z1002" } ] } }, { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z18", "Z18K1": "Z39542K2" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1230649" } ] } ], "Z34669K2": { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": " " } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "English verbal complex for Wikidata subjects, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 3bnh1hglpfpueo3rdiyr32phiwshh2w Z39544 0 90220 299860 2026-08-16T07:38:43Z Jsamwrites 938 299860 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39544" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39544K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39544K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39544K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39544" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "English finite verb form from Wikidata Lexeme" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } biq4kmr4bl3wt5movn6rzwbfbhgmqpl 299861 299860 2026-08-16T07:39:20Z Jsamwrites 938 299861 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39544" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39544K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39544K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39544K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39544" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "English finite verb form from Wikidata Lexeme" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "This function is created as a compatability layer for Wikidata lexeme" } ] } } axkke6z5e8e29dor8v1rckkf9ne5wqu 299866 299861 2026-08-16T07:45:04Z Jsamwrites 938 Added Z39546 to the approved list of implementations 299866 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39544" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39544K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39544K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39544K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39546" ], "Z8K5": "Z39544" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "English finite verb form from Wikidata Lexeme" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "This function is created as a compatability layer for Wikidata lexeme" } ] } } 3e10vr0f8bf3r46ubvlje1bmfxmet5q 299872 299866 2026-08-16T08:02:51Z Jsamwrites 938 Added Z39549 to the approved list of test cases 299872 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39544" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39544K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39544K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39544K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z39549" ], "Z8K4": [ "Z14", "Z39546" ], "Z8K5": "Z39544" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "English finite verb form from Wikidata Lexeme" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "This function is created as a compatability layer for Wikidata lexeme" } ] } } r7z1a48j8drsqhvof3n8ednv4rbb6j0 299876 299872 2026-08-16T08:04:39Z Jsamwrites 938 Added Z39550, Z39551 and Z39552 to the approved list of test cases 299876 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39544" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39544K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39544K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39544K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical number" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z39549", "Z39550", "Z39551", "Z39552" ], "Z8K4": [ "Z14", "Z39546" ], "Z8K5": "Z39544" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "English finite verb form from Wikidata Lexeme" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "This function is created as a compatability layer for Wikidata lexeme" } ] } } tal7fx7l33uwejumhlk1v7crho5xw8v Z39545 0 90221 299862 2026-08-16T07:43:06Z HenkvD 1290 [en] Lion -> vulnerable 299862 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39545" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z37833", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z37833", "Z37833K1": { "Z1K1": "Z6091", "Z6091K1": "Q140" }, "Z37833K2": "Z1002" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "vulnerable" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "[en] Lion -\u003E vulnerable" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } o3hep3movteyglrisw5iih82ao5ow2a Z39546 0 90222 299864 2026-08-16T07:44:52Z Jsamwrites 938 299864 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39546" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39544", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z18", "Z18K1": "Z39544K2" }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q1994301" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z18", "Z18K1": "Z39544K1" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1392475" } ] }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z18", "Z18K1": "Z39544K3" }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q146786" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z18", "Z18K1": "Z39544K1" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q3910936" } ] }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z18", "Z18K1": "Z39544K1" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q110786" }, { "Z1K1": "Z6091", "Z6091K1": "Q3910936" }, { "Z1K1": "Z6091", "Z6091K1": "Q51929074" } ] } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } eilq2mkwjqhcr8sm67qw5hli06dciyg 299867 299864 2026-08-16T07:45:25Z Jsamwrites 938 299867 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39546" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39544", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z18", "Z18K1": "Z39544K2" }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q1994301" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z18", "Z18K1": "Z39544K1" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1392475" } ] }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z18", "Z18K1": "Z39544K3" }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q146786" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z18", "Z18K1": "Z39544K1" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q3910936" } ] }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z18", "Z18K1": "Z39544K1" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q110786" }, { "Z1K1": "Z6091", "Z6091K1": "Q3910936" }, { "Z1K1": "Z6091", "Z6091K1": "Q51929074" } ] } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "English finite verb form from Wikidata Lexeme, com" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } nh50eybj5nekylacrjk849p0rcrtdz8 Z39547 0 90223 299865 2026-08-16T07:44:55Z HenkvD 1290 [en-us] -> [en] Lion -> vulnerable 299865 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39547" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z37833", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z37833", "Z37833K1": { "Z1K1": "Z6091", "Z6091K1": "Q140" }, "Z37833K2": "Z1689" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "vulnerable" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "[en-us] -\u003E [en] Lion -\u003E vulnerable" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } kjt1a2xh2y4206az0j8zmclc6x8r5xy Z39548 0 90224 299868 2026-08-16T07:46:01Z HenkvD 1290 [vls] -> [mul] Lion -> VU 299868 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39548" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z37833", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z37833", "Z37833K1": { "Z1K1": "Z6091", "Z6091K1": "Q140" }, "Z37833K2": "Z1555" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "VU" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "[vls] -\u003E [mul] Lion -\u003E VU" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } cwzxox35edq79k9pgbkcjw10eal4qkh Z39549 0 90225 299871 2026-08-16T08:02:41Z Jsamwrites 938 299871 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39549" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39544", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39544", "Z39544K1": { "Z1K1": "Z6095", "Z6095K1": "L3036" }, "Z39544K2": { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, "Z39544K3": { "Z1K1": "Z6091", "Z6091K1": "Q110786" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "made" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "make-past, singular, en, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } lkvn2ntmvie5hs54q28z91wojte0s7h Z39550 0 90226 299873 2026-08-16T08:03:58Z Jsamwrites 938 Create test for Z39544 299873 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39550" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39544", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39544", "Z39544K1": { "Z1K1": "Z6095", "Z6095K1": "L3036" }, "Z39544K2": { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, "Z39544K3": { "Z1K1": "Z6091", "Z6091K1": "Q110786" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "made" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "make-past, plural, en, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } tauyn29v0t9r8a55yhrzmqt0pugiqqw 299877 299873 2026-08-16T08:05:04Z Jsamwrites 938 299877 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39550" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39544", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39544", "Z39544K1": { "Z1K1": "Z6095", "Z6095K1": "L3036" }, "Z39544K2": { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, "Z39544K3": { "Z1K1": "Z6091", "Z6091K1": "Q146786" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "made" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "make-past, plural, en, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } gk1cilzewfet59ohlzx8rowlnorz19p Z39551 0 90227 299874 2026-08-16T08:04:01Z Jsamwrites 938 Create test for Z39544 299874 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39551" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39544", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39544", "Z39544K1": { "Z1K1": "Z6095", "Z6095K1": "L3036" }, "Z39544K2": { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, "Z39544K3": { "Z1K1": "Z6091", "Z6091K1": "Q110786" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "made" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "make-present, singular, en, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } by17ntsuuc801eldituv8o3mp8ax2sp 299878 299874 2026-08-16T08:05:36Z Jsamwrites 938 299878 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39551" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39544", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39544", "Z39544K1": { "Z1K1": "Z6095", "Z6095K1": "L3036" }, "Z39544K2": { "Z1K1": "Z6091", "Z6091K1": "Q192613" }, "Z39544K3": { "Z1K1": "Z6091", "Z6091K1": "Q110786" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "makes" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "make-present, singular, en, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 25kboc5nzk4b95xbhl8vum4gmck37hw Z39552 0 90228 299875 2026-08-16T08:04:03Z Jsamwrites 938 Create test for Z39544 299875 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39552" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39544", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39544", "Z39544K1": { "Z1K1": "Z6095", "Z6095K1": "L3036" }, "Z39544K2": { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, "Z39544K3": { "Z1K1": "Z6091", "Z6091K1": "Q110786" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "made" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "make-present, plural, en, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } agx6kt2mt3v71lfwp2f1y6bwqo0ayvb 299879 299875 2026-08-16T08:06:16Z Jsamwrites 938 299879 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39552" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39544", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39544", "Z39544K1": { "Z1K1": "Z6095", "Z6095K1": "L3036" }, "Z39544K2": { "Z1K1": "Z6091", "Z6091K1": "Q192613" }, "Z39544K3": { "Z1K1": "Z6091", "Z6091K1": "Q146786" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "makes" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "make-present, plural, en, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } b3q556fdbz08hvxf4m54xs2trsb948h 299880 299879 2026-08-16T08:06:36Z Jsamwrites 938 299880 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39552" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39544", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39544", "Z39544K1": { "Z1K1": "Z6095", "Z6095K1": "L3036" }, "Z39544K2": { "Z1K1": "Z6091", "Z6091K1": "Q192613" }, "Z39544K3": { "Z1K1": "Z6091", "Z6091K1": "Q146786" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "make" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "make-present, plural, en, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 24xlyctv70ngzn43muet32kokc1sglz Z39553 0 90229 299881 2026-08-16T08:09:28Z Jsamwrites 938 299881 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39553" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39542", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39542", "Z39542K1": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1426327" }, { "Z1K1": "Z6091", "Z6091K1": "Q42329" } ], "Z39542K2": { "Z1K1": "Z6095", "Z6095K1": "L9" }, "Z39542K3": { "Z1K1": "Z6091", "Z6091K1": "Q192613" }, "Z39542K4": { "Z1K1": "Z6091", "Z6091K1": "Q1317831" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "create" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "create verb-present, active, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } ns5ipc6qz0znx0jssdn7e45p5xj93aa Z39554 0 90230 299883 2026-08-16T08:10:02Z HenkvD 1290 fetch IUCN conservation status string Comp fallback languages 299883 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39554" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z37833", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z31676", "Z31676K1": { "Z1K1": "Z7", "Z7K1": "Z19308", "Z19308K1": { "Z1K1": "Z7", "Z7K1": "Z23451", "Z23451K1": { "Z1K1": "Z7", "Z7K1": "Z30120", "Z30120K1": { "Z1K1": "Z18", "Z18K1": "Z37833K1" }, "Z30120K2": [ "Z6030", "Z6036" ], "Z30120K3": [ "Z60" ], "Z30120K4": [ "Z6092", { "Z1K1": "Z6092", "Z6092K1": "P141" } ] }, "Z23451K2": { "Z1K1": "Z6092", "Z6092K1": "P141" } } }, "Z31676K2": { "Z1K1": "Z18", "Z18K1": "Z37833K2" } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "fetch IUCN conservation status string Comp fallbac" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 8yiafolk7nohzrdg4tw5eyrk3hilu0q Z39555 0 90231 299886 2026-08-16T08:10:42Z Jsamwrites 938 Create test for Z39542 299886 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39555" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39542", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39542", "Z39542K1": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1426327" }, { "Z1K1": "Z6091", "Z6091K1": "Q42329" } ], "Z39542K2": { "Z1K1": "Z6095", "Z6095K1": "L9" }, "Z39542K3": { "Z1K1": "Z6091", "Z6091K1": "Q192613" }, "Z39542K4": { "Z1K1": "Z6091", "Z6091K1": "Q1317831" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "create" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "create verb-singular,present, active, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 3knw9h7wf1lfkk3tz3a237ulof19yar 299892 299886 2026-08-16T08:11:37Z Jsamwrites 938 299892 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39555" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39542", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39542", "Z39542K1": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1426327" } ], "Z39542K2": { "Z1K1": "Z6095", "Z6095K1": "L9" }, "Z39542K3": { "Z1K1": "Z6091", "Z6091K1": "Q192613" }, "Z39542K4": { "Z1K1": "Z6091", "Z6091K1": "Q1317831" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "creates" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "create verb-singular,present, active, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } ojczd1r3mgmeabm7auvl3qj9eydllf3 Z39556 0 90232 299887 2026-08-16T08:10:45Z Jsamwrites 938 Create test for Z39542 299887 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39556" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39542", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39542", "Z39542K1": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1426327" }, { "Z1K1": "Z6091", "Z6091K1": "Q42329" } ], "Z39542K2": { "Z1K1": "Z6095", "Z6095K1": "L9" }, "Z39542K3": { "Z1K1": "Z6091", "Z6091K1": "Q192613" }, "Z39542K4": { "Z1K1": "Z6091", "Z6091K1": "Q1317831" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "create" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "create verb-present, passive, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 7el3pb1j673u3curqf94f5egtwwdfxy 299893 299887 2026-08-16T08:12:17Z Jsamwrites 938 299893 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39556" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39542", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39542", "Z39542K1": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1426327" }, { "Z1K1": "Z6091", "Z6091K1": "Q42329" } ], "Z39542K2": { "Z1K1": "Z6095", "Z6095K1": "L9" }, "Z39542K3": { "Z1K1": "Z6091", "Z6091K1": "Q192613" }, "Z39542K4": { "Z1K1": "Z6091", "Z6091K1": "Q1194697" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "are created" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "create verb-present, passive, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } r82nt154y8cwih6zhbexvpm9zvstpsl Z39557 0 90233 299888 2026-08-16T08:10:48Z Jsamwrites 938 Create test for Z39542 299888 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39557" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39542", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39542", "Z39542K1": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1426327" }, { "Z1K1": "Z6091", "Z6091K1": "Q42329" } ], "Z39542K2": { "Z1K1": "Z6095", "Z6095K1": "L9" }, "Z39542K3": { "Z1K1": "Z6091", "Z6091K1": "Q192613" }, "Z39542K4": { "Z1K1": "Z6091", "Z6091K1": "Q1317831" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "create" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "create verb-past, active, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 5y4209qz2osal35ce73f53vlk5hij1p 299894 299888 2026-08-16T08:12:43Z Jsamwrites 938 299894 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39557" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39542", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39542", "Z39542K1": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1426327" }, { "Z1K1": "Z6091", "Z6091K1": "Q42329" } ], "Z39542K2": { "Z1K1": "Z6095", "Z6095K1": "L9" }, "Z39542K3": { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, "Z39542K4": { "Z1K1": "Z6091", "Z6091K1": "Q1317831" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "created" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "create verb-past, active, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } adskz88i68aayrbi71d4791ndkmx90v Z39558 0 90234 299889 2026-08-16T08:10:51Z Jsamwrites 938 Create test for Z39542 299889 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39558" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39542", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39542", "Z39542K1": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1426327" }, { "Z1K1": "Z6091", "Z6091K1": "Q42329" } ], "Z39542K2": { "Z1K1": "Z6095", "Z6095K1": "L9" }, "Z39542K3": { "Z1K1": "Z6091", "Z6091K1": "Q192613" }, "Z39542K4": { "Z1K1": "Z6091", "Z6091K1": "Q1317831" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "create" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "create verb-past, passive, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } a07dbc8m003c85x4evlox8owyf8rktt 299895 299889 2026-08-16T08:13:18Z Jsamwrites 938 299895 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39558" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39542", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39542", "Z39542K1": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1426327" }, { "Z1K1": "Z6091", "Z6091K1": "Q42329" } ], "Z39542K2": { "Z1K1": "Z6095", "Z6095K1": "L9" }, "Z39542K3": { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, "Z39542K4": { "Z1K1": "Z6091", "Z6091K1": "Q1194697" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "were created" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "create verb-past, passive, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } ew6bslp7hhx38nskmosvj9qv2pdpp4j Z39559 0 90235 299896 2026-08-16T08:15:56Z Jsamwrites 938 Create test for Z39542 299896 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39559" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39542", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39542", "Z39542K1": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1426327" }, { "Z1K1": "Z6091", "Z6091K1": "Q42329" } ], "Z39542K2": { "Z1K1": "Z6095", "Z6095K1": "L9" }, "Z39542K3": { "Z1K1": "Z6091", "Z6091K1": "Q192613" }, "Z39542K4": { "Z1K1": "Z6091", "Z6091K1": "Q1317831" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "create" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "create verb-singular, present, passive, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } l2so1kc96of4fq2u9ssbmujnw1zw26u 299899 299896 2026-08-16T08:16:55Z Jsamwrites 938 299899 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39559" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39542", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39542", "Z39542K1": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1426327" } ], "Z39542K2": { "Z1K1": "Z6095", "Z6095K1": "L9" }, "Z39542K3": { "Z1K1": "Z6091", "Z6091K1": "Q192613" }, "Z39542K4": { "Z1K1": "Z6091", "Z6091K1": "Q1194697" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "is created" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "create verb-singular, present, passive, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } hgkixlfwd7u5i8lyk4anhc4j5jkbldl Z39560 0 90236 299897 2026-08-16T08:15:58Z Jsamwrites 938 Create test for Z39542 299897 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39560" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39542", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39542", "Z39542K1": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1426327" }, { "Z1K1": "Z6091", "Z6091K1": "Q42329" } ], "Z39542K2": { "Z1K1": "Z6095", "Z6095K1": "L9" }, "Z39542K3": { "Z1K1": "Z6091", "Z6091K1": "Q192613" }, "Z39542K4": { "Z1K1": "Z6091", "Z6091K1": "Q1317831" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "create" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "create verb-singular, past, active, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } k5jutsozli10ja0gk101yeeuigjndi6 299900 299897 2026-08-16T08:17:26Z Jsamwrites 938 299900 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39560" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39542", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39542", "Z39542K1": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1426327" } ], "Z39542K2": { "Z1K1": "Z6095", "Z6095K1": "L9" }, "Z39542K3": { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, "Z39542K4": { "Z1K1": "Z6091", "Z6091K1": "Q1317831" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "created" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "create verb-singular, past, active, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 9yw5ymynw3aop4x7ycf9znzfzu3arc9 Z39561 0 90237 299898 2026-08-16T08:16:01Z Jsamwrites 938 Create test for Z39542 299898 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39561" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39542", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39542", "Z39542K1": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1426327" }, { "Z1K1": "Z6091", "Z6091K1": "Q42329" } ], "Z39542K2": { "Z1K1": "Z6095", "Z6095K1": "L9" }, "Z39542K3": { "Z1K1": "Z6091", "Z6091K1": "Q192613" }, "Z39542K4": { "Z1K1": "Z6091", "Z6091K1": "Q1317831" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "create" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "create verb-singular, past, passive, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } gwh3n1zpqgmjk143zogqddi022b1y82 299901 299898 2026-08-16T08:18:01Z Jsamwrites 938 299901 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39561" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39542", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39542", "Z39542K1": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1426327" }, { "Z1K1": "Z6091", "Z6091K1": "Q42329" } ], "Z39542K2": { "Z1K1": "Z6095", "Z6095K1": "L9" }, "Z39542K3": { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, "Z39542K4": { "Z1K1": "Z6091", "Z6091K1": "Q1194697" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "was created" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "create verb-singular, past, passive, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } fpewxvcduf6zxf656gvjs35c2qkicwn 299903 299901 2026-08-16T08:19:01Z Jsamwrites 938 299903 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39561" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39542", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39542", "Z39542K1": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1426327" } ], "Z39542K2": { "Z1K1": "Z6095", "Z6095K1": "L9" }, "Z39542K3": { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, "Z39542K4": { "Z1K1": "Z6091", "Z6091K1": "Q1194697" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "was created" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "create verb-singular, past, passive, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } lzokubaca447ce3v3ni00dej8qa25ux Z39562 0 90238 299907 2026-08-16T08:44:06Z Jsamwrites 938 299907 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39562" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39562K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subjects" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39562K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39562K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39562K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "voice" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39562" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French verbal complex for Wikidata subjects" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } fdsjqx8sdgiim29vofd5ifw3eh9slz2 299959 299907 2026-08-16T11:25:39Z Jsamwrites 938 Added Z39584 to the approved list of implementations 299959 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39562" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39562K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subjects" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39562K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39562K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39562K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "voice" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39584" ], "Z8K5": "Z39562" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French verbal complex for Wikidata subjects" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 8qp49a88k3z1lkif9189oq5auu4gnil 299960 299959 2026-08-16T11:27:31Z Jsamwrites 938 Removed Z39584 from the approved list of implementations 299960 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39562" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39562K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subjects" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39562K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39562K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39562K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "voice" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39562" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French verbal complex for Wikidata subjects" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } fdsjqx8sdgiim29vofd5ifw3eh9slz2 299961 299960 2026-08-16T11:27:52Z Jsamwrites 938 299961 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39562" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39562K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subjects" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39562K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39562K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39562K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "voice" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39562" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French verbal complex for Wikidata subjects" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 6mf922ohtrc7rkl3yv2a68dttwjbs5f 299962 299961 2026-08-16T11:27:58Z Jsamwrites 938 Added Z39584 to the approved list of implementations 299962 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39562" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39562K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subjects" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39562K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39562K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39562K4", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "voice" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39584" ], "Z8K5": "Z39562" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French verbal complex for Wikidata subjects" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } pje56raaf295fp3kx79vawf7448qsmi Z39563 0 90239 299908 2026-08-16T08:49:06Z 99of9 1622 299908 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39563" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39531", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39531", "Z39531K1": { "Z1K1": "Z6091", "Z6091K1": "Q1952802" }, "Z39531K2": "Z1002" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q146786" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Lake Mungo remains, plural" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } hna586bnvohed47viypkvpq1w6b4n49 Z39564 0 90240 299909 2026-08-16T08:55:07Z Jsamwrites 938 299909 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39564" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39564K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subjects" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39564" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical gender of Wikidata items, French" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 5fb0mhkrm04sc9ol6oj8pe3kb5kekhq 299912 299909 2026-08-16T09:27:43Z Jsamwrites 938 299912 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39564" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39564K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subjects" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39564" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical gender of Wikidata items, French" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } l9vp40zl2ag9ufwz0olrn1u41kohm0y 299927 299912 2026-08-16T10:12:16Z Jsamwrites 938 Added Z39571 to the approved list of implementations 299927 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39564" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39564K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subjects" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39571" ], "Z8K5": "Z39564" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical gender of Wikidata items, French" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } ad8fxdwrkdb75ml7s4sosuf47lslwkz 299929 299927 2026-08-16T10:13:11Z Jsamwrites 938 Added Z39572 to the approved list of test cases 299929 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39564" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39564K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subjects" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20", "Z39572" ], "Z8K4": [ "Z14", "Z39571" ], "Z8K5": "Z39564" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical gender of Wikidata items, French" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } fgoqycibo4vx3y69vfvzcdwp37gbg6n Z39565 0 90241 299910 2026-08-16T09:18:55Z Jsamwrites 938 299910 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39565" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39565K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "list of entities " } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39565" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Wikidata items has masculine grammatical gndr, fr " } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } q4zhvoi269tvberfa9zij53i8em99nr 299911 299910 2026-08-16T09:27:00Z Jsamwrites 938 299911 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39565" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39565K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "list of entities " } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39565" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Wikidata items has masculine grammatical gndr, fr " } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 2xv88rgmajbso0vkvf75hb0ucpnhaya 299914 299911 2026-08-16T09:36:16Z Jsamwrites 938 Added Z39566 to the approved list of implementations 299914 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39565" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39565K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "list of entities " } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39566" ], "Z8K5": "Z39565" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Wikidata items has masculine grammatical gndr, fr " } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } ja4qplg4owas23bxu0x8ljg54ls8nxs 299931 299914 2026-08-16T10:14:00Z Jsamwrites 938 Added Z39573 to the approved list of test cases 299931 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39565" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39565K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "list of entities " } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20", "Z39573" ], "Z8K4": [ "Z14", "Z39566" ], "Z8K5": "Z39565" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Wikidata items has masculine grammatical gndr, fr " } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } nptmztfi8g1d5o6sp1tfdpqkmn5llqm Z39566 0 90242 299913 2026-08-16T09:36:02Z Jsamwrites 938 299913 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39566" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39565", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z19565", "Z19565K1": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z39467", "Z39467K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z18", "Z18K1": "Z39565K1" } }, "Z39467K2": "Z1004" } }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q499327" } }, "Z19565K2": { "Z1K1": "Z40", "Z40K1": "Z41" }, "Z19565K3": { "Z1K1": "Z7", "Z7K1": "Z13522", "Z13522K1": { "Z1K1": "Z7", "Z7K1": "Z12681", "Z12681K1": { "Z1K1": "Z18", "Z18K1": "Z39565K1" } }, "Z13522K2": { "Z1K1": "Z13518", "Z13518K1": "1" } }, "Z19565K4": { "Z1K1": "Z40", "Z40K1": "Z42" }, "Z19565K5": { "Z1K1": "Z7", "Z7K1": "Z39565", "Z39565K1": { "Z1K1": "Z7", "Z7K1": "Z812", "Z812K1": { "Z1K1": "Z18", "Z18K1": "Z39565K1" } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Wikidata items has masc grammatical gndr, fr, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 42jmt6ngns1in4v7sgn1gd3kvjjiskp 299915 299913 2026-08-16T09:48:17Z Jsamwrites 938 299915 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39566" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39565", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z19565", "Z19565K1": { "Z1K1": "Z7", "Z7K1": "Z813", "Z813K1": { "Z1K1": "Z18", "Z18K1": "Z39565K1" } }, "Z19565K2": { "Z1K1": "Z40", "Z40K1": "Z41" }, "Z19565K3": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z39467", "Z39467K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z18", "Z18K1": "Z39565K1" } }, "Z39467K2": "Z1004" } }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q499327" } }, "Z19565K4": { "Z1K1": "Z40", "Z40K1": "Z41" }, "Z19565K5": { "Z1K1": "Z7", "Z7K1": "Z39565", "Z39565K1": { "Z1K1": "Z7", "Z7K1": "Z812", "Z812K1": { "Z1K1": "Z18", "Z18K1": "Z39565K1" } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Wikidata items has masc grammatical gndr, fr, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } neblwu15w6x7fif0qjqbg8j9lo2cs93 299916 299915 2026-08-16T09:48:38Z Jsamwrites 938 299916 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39566" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39565", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z19565", "Z19565K1": { "Z1K1": "Z7", "Z7K1": "Z813", "Z813K1": { "Z1K1": "Z18", "Z18K1": "Z39565K1" } }, "Z19565K2": { "Z1K1": "Z40", "Z40K1": "Z42" }, "Z19565K3": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z39467", "Z39467K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z18", "Z18K1": "Z39565K1" } }, "Z39467K2": "Z1004" } }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q499327" } }, "Z19565K4": { "Z1K1": "Z40", "Z40K1": "Z41" }, "Z19565K5": { "Z1K1": "Z7", "Z7K1": "Z39565", "Z39565K1": { "Z1K1": "Z7", "Z7K1": "Z812", "Z812K1": { "Z1K1": "Z18", "Z18K1": "Z39565K1" } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Wikidata items has masc grammatical gndr, fr, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 7jooja2ra2i4ftob1afcep5hcvkyo13 299925 299916 2026-08-16T10:09:52Z Jsamwrites 938 299925 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39566" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39565", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z12698", "Z12698K1": { "Z1K1": "Z7", "Z7K1": "Z873", "Z873K1": "Z39567", "Z873K2": { "Z1K1": "Z18", "Z18K1": "Z39565K1" } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Wikidata items has masc grammatical gndr, fr, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } svt538woekrphb8erfssto2x1injuuy Z39567 0 90243 299917 2026-08-16T10:04:42Z Jsamwrites 938 299917 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39567" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39567K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39567" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": " Wikidata item has masc grammatical gender, Fr" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } hueus9i8ucivkyq92wcu9zmuvwf8y63 299919 299917 2026-08-16T10:06:26Z Jsamwrites 938 Added Z39568 to the approved list of implementations 299919 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39567" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39567K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39568" ], "Z8K5": "Z39567" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": " Wikidata item has masc grammatical gender, Fr" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 8u3t20ugd2exg3039pydy041vq7ga1l 299922 299919 2026-08-16T10:09:03Z Jsamwrites 938 Added Z39569 to the approved list of test cases 299922 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39567" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39567K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20", "Z39569" ], "Z8K4": [ "Z14", "Z39568" ], "Z8K5": "Z39567" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": " Wikidata item has masc grammatical gender, Fr" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } q8tuzpjtaxqtbaq6kyewigfzngwtafe 299924 299922 2026-08-16T10:09:41Z Jsamwrites 938 Added Z39570 to the approved list of test cases 299924 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39567" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39567K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20", "Z39569", "Z39570" ], "Z8K4": [ "Z14", "Z39568" ], "Z8K5": "Z39567" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": " Wikidata item has masc grammatical gender, Fr" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 4xouqspbcac7qwufzwxlrrkvy1l8gce Z39568 0 90244 299918 2026-08-16T10:06:16Z Jsamwrites 938 299918 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39568" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39567", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z6894", "Z6894K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z39467", "Z39467K1": { "Z1K1": "Z18", "Z18K1": "Z39567K1" }, "Z39467K2": "Z1004" } }, "Z6894K2": { "Z1K1": "Z6091", "Z6091K1": "Q499327" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Wikidata item has masc grammatical gender, Fr, com" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 8ryyvvjiox6cn7u9etcxggrs6a3r50x 299920 299918 2026-08-16T10:07:51Z Jsamwrites 938 299920 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39568" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39567", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z39467", "Z39467K1": { "Z1K1": "Z18", "Z18K1": "Z39567K1" }, "Z39467K2": "Z1004" } }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q499327" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Wikidata item has masc grammatical gender, Fr, com" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 9qjkob7e8k2svvratdu1ar4vg2kd0xv Z39569 0 90245 299921 2026-08-16T10:08:54Z Jsamwrites 938 299921 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39569" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39567", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39567", "Z39567K1": { "Z1K1": "Z6091", "Z6091K1": "Q11028" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z844", "Z844K2": { "Z1K1": "Z40", "Z40K1": "Z42" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "information, fr, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } alyb13dmzvqprm2vw1k64dinjo9booa Z39570 0 90246 299923 2026-08-16T10:09:33Z Jsamwrites 938 299923 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39570" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39567", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39567", "Z39567K1": { "Z1K1": "Z6091", "Z6091K1": "Q191067" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z844", "Z844K2": { "Z1K1": "Z40", "Z40K1": "Z41" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "article, fr, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 1obtnes8foutqs8j88t2t4pu3zzqt33 Z39571 0 90247 299926 2026-08-16T10:12:06Z Jsamwrites 938 299926 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39571" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39564", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z39565", "Z39565K1": { "Z1K1": "Z18", "Z18K1": "Z39564K1" } }, "Z802K2": { "Z1K1": "Z6091", "Z6091K1": "Q499327" }, "Z802K3": { "Z1K1": "Z6091", "Z6091K1": "Q1775415" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical gender of Wikidata items, Fr, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } tng84g1kherr8jrwfwttgk8raf1185g Z39572 0 90248 299928 2026-08-16T10:13:01Z Jsamwrites 938 299928 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39572" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39564", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39564", "Z39564K1": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q49848" }, { "Z1K1": "Z6091", "Z6091K1": "Q11028" } ] }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q499327" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "[masc, fem] -\u003E masc, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 6578mfypwiyztm48ifjhdmqa11mlm9h Z39573 0 90249 299930 2026-08-16T10:13:50Z Jsamwrites 938 299930 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39573" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39565", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39565", "Z39565K1": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q11028" }, { "Z1K1": "Z6091", "Z6091K1": "Q89" } ] }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z844", "Z844K2": { "Z1K1": "Z40", "Z40K1": "Z42" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "[fem, fem] -\u003E false, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } i4gkhn8odmd137s8ihrq3gfyfhwsl6t Z39574 0 90250 299932 2026-08-16T10:17:42Z Jsamwrites 938 299932 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39574" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39574K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subjects" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39574K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39574K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39574" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French finite verb form for Wikidata subjects" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } d75v1xf7w0jq6nsiipcbj8hvdzxmbfh 299935 299932 2026-08-16T10:20:17Z Jsamwrites 938 Added Z39575 to the approved list of implementations 299935 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39574" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39574K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subjects" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39574K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39574K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39575" ], "Z8K5": "Z39574" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French finite verb form for Wikidata subjects" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } drmo94qntxhm2n9r7nsb4w3264etbxl 299938 299935 2026-08-16T10:33:19Z Jsamwrites 938 Added Z39576 to the approved list of test cases 299938 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39574" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39574K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subjects" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39574K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39574K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z39576" ], "Z8K4": [ "Z14", "Z39575" ], "Z8K5": "Z39574" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French finite verb form for Wikidata subjects" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } mf3ae4asv4je49yargctvtyb0suxcf1 299941 299938 2026-08-16T10:34:35Z Jsamwrites 938 Added Z39577 to the approved list of test cases 299941 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39574" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39574K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subjects" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39574K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z39574K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "tense" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z39576", "Z39577" ], "Z8K4": [ "Z14", "Z39575" ], "Z8K5": "Z39574" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French finite verb form for Wikidata subjects" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } m94nf6keubluqxauysxvqzzv1d79h4g Z39575 0 90251 299933 2026-08-16T10:19:35Z Jsamwrites 938 299933 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39575" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39574", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z18", "Z18K1": "Z39574K1" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q682111" }, { "Z1K1": "Z18", "Z18K1": "Z39574K3" }, { "Z1K1": "Z6091", "Z6091K1": "Q51929074" }, { "Z1K1": "Z7", "Z7K1": "Z39534", "Z39534K1": { "Z1K1": "Z18", "Z18K1": "Z39574K1" }, "Z39534K2": "Z1004" } ] } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 2ib0xu11gmpmevc0ln6tx0xhgcowxr2 299934 299933 2026-08-16T10:19:50Z Jsamwrites 938 299934 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39575" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39574", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z18", "Z18K1": "Z39574K1" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q682111" }, { "Z1K1": "Z18", "Z18K1": "Z39574K3" }, { "Z1K1": "Z6091", "Z6091K1": "Q51929074" }, { "Z1K1": "Z7", "Z7K1": "Z39534", "Z39534K1": { "Z1K1": "Z18", "Z18K1": "Z39574K1" }, "Z39534K2": "Z1004" } ] } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French finite verb form for Wikidata subjects, com" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } q22bnm6qgxygrdt1j3i5x9g8fkv6st3 299936 299934 2026-08-16T10:27:59Z Jsamwrites 938 299936 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39575" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39574", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z18", "Z18K1": "Z39574K2" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q682111" }, { "Z1K1": "Z18", "Z18K1": "Z39574K3" }, { "Z1K1": "Z6091", "Z6091K1": "Q51929074" }, { "Z1K1": "Z7", "Z7K1": "Z39534", "Z39534K1": { "Z1K1": "Z18", "Z18K1": "Z39574K1" }, "Z39534K2": "Z1004" } ] } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French finite verb form for Wikidata subjects, com" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } dhjl4kzwkhozlxksicvmw806ote8jt3 Z39576 0 90252 299937 2026-08-16T10:33:01Z Jsamwrites 938 299937 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39576" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39574", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39574", "Z39574K1": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1650915" } ], "Z39574K2": { "Z1K1": "Z6095", "Z6095K1": "L11142" }, "Z39574K3": { "Z1K1": "Z6091", "Z6091K1": "Q192613" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "conçoit" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "concevoir-singular, fr, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 27uyt3khd0gzggrgta5t63xmk1zdrgi Z39577 0 90253 299939 2026-08-16T10:33:49Z Jsamwrites 938 Create test for Z39574 299939 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39577" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39574", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39574", "Z39574K1": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1650915" } ], "Z39574K2": { "Z1K1": "Z6095", "Z6095K1": "L11142" }, "Z39574K3": { "Z1K1": "Z6091", "Z6091K1": "Q192613" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "conçoit" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "concevoir-plural, fr, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } pv7nbqnusipfhwprygnl1bcfxnoxgcb 299940 299939 2026-08-16T10:34:23Z Jsamwrites 938 299940 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39577" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39574", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z14396", "Z14396K1": { "Z1K1": "Z7", "Z7K1": "Z39574", "Z39574K1": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1650915" }, { "Z1K1": "Z6091", "Z6091K1": "Q5322166" } ], "Z39574K2": { "Z1K1": "Z6095", "Z6095K1": "L11142" }, "Z39574K3": { "Z1K1": "Z6091", "Z6091K1": "Q192613" } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "conçoivent" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "concevoir-plural, fr, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } b07igfo1r2wrn287egib6d3l33dm8yu Z39578 0 90254 299942 2026-08-16T10:36:12Z Jsamwrites 938 299942 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39578" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39578K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subjects" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39578K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39578" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French past participle for Wikidata subjects" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } tqjsvugg6dyfvzvo43ggwr34a73vs5w 299944 299942 2026-08-16T10:39:12Z Jsamwrites 938 Added Z39579 to the approved list of implementations 299944 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39578" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z39578K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subjects" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39578K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39579" ], "Z8K5": "Z39578" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French past participle for Wikidata subjects" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } dl5ni1zj4m69xf9se7knftzinydw0u9 Z39579 0 90255 299943 2026-08-16T10:39:00Z Jsamwrites 938 299943 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39579" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39578", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z18", "Z18K1": "Z39578K2" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, { "Z1K1": "Z6091", "Z6091K1": "Q814722" }, { "Z1K1": "Z7", "Z7K1": "Z39564", "Z39564K1": { "Z1K1": "Z18", "Z18K1": "Z39578K1" } }, { "Z1K1": "Z7", "Z7K1": "Z39534", "Z39534K1": { "Z1K1": "Z18", "Z18K1": "Z39578K1" }, "Z39534K2": "Z1004" } ] } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French past participle for Wikidata subj, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } ouimhipox0qjkhhdu7eq3ugrztgy93s Z39580 0 90256 299945 2026-08-16T10:46:48Z Jsamwrites 938 299945 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39580" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39580K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } } ], "Z8K2": "Z6095", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z39580" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "auxiliary verb of French Lexeme" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } f9ux7c19ffhn2ohfqugyd5tuwtq8cde 299947 299945 2026-08-16T10:53:06Z Jsamwrites 938 Added Z39581 to the approved list of implementations 299947 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39580" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39580K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } } ], "Z8K2": "Z6095", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z39581" ], "Z8K5": "Z39580" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "auxiliary verb of French Lexeme" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 2ft23rn0tgsbq5k9lqrzr7yjgvm8e80 299950 299947 2026-08-16T10:56:11Z Jsamwrites 938 Added Z39582 to the approved list of test cases 299950 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39580" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39580K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } } ], "Z8K2": "Z6095", "Z8K3": [ "Z20", "Z39582" ], "Z8K4": [ "Z14", "Z39581" ], "Z8K5": "Z39580" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "auxiliary verb of French Lexeme" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } rqj08vvergz6caotanlgqwhxk8wybh0 299952 299950 2026-08-16T10:57:00Z Jsamwrites 938 Added Z39583 to the approved list of test cases 299952 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39580" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6095", "Z17K2": "Z39580K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "verb lexeme" } ] } } ], "Z8K2": "Z6095", "Z8K3": [ "Z20", "Z39582", "Z39583" ], "Z8K4": [ "Z14", "Z39581" ], "Z8K5": "Z39580" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "auxiliary verb of French Lexeme" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } b5zfilem3xvwa7nf4xfb0w7968q9x1s Z39581 0 90257 299946 2026-08-16T10:52:54Z Jsamwrites 938 299946 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39581" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39580", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19287", "Z19287K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z33125", "Z33125K1": { "Z1K1": "Z18", "Z18K1": "Z39580K1" }, "Z33125K2": { "Z1K1": "Z6092", "Z6092K1": "P5401" } } }, "Z19287K2": { "Z1K1": "Z6095", "Z6095K1": "L1882" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z6825", "Z6825K1": { "Z1K1": "Z6095", "Z6095K1": "L1882" } }, "Z802K3": { "Z1K1": "Z6095", "Z6095K1": "L1886" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "auxiliary verb of French Lexeme, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } prrjdcikjz3zv2xudxayg7cz30mzrte 299949 299946 2026-08-16T10:56:00Z Jsamwrites 938 299949 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39581" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39580", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19287", "Z19287K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z33125", "Z33125K1": { "Z1K1": "Z18", "Z18K1": "Z39580K1" }, "Z33125K2": { "Z1K1": "Z6092", "Z6092K1": "P5401" } } }, "Z19287K2": { "Z1K1": "Z6095", "Z6095K1": "L1882" } }, "Z802K2": { "Z1K1": "Z6095", "Z6095K1": "L1882" }, "Z802K3": { "Z1K1": "Z6095", "Z6095K1": "L1886" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "auxiliary verb of French Lexeme, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 7nltbkb3pteplw4letwl5i71hcztjnh 299955 299949 2026-08-16T11:00:38Z Jsamwrites 938 299955 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39581" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39580", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z813", "Z813K1": [ "Z1" ] }, "Z802K2": { "Z1K1": "Z6095", "Z6095K1": "L1886" }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19287", "Z19287K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z33125", "Z33125K1": { "Z1K1": "Z18", "Z18K1": "Z39580K1" }, "Z33125K2": { "Z1K1": "Z6092", "Z6092K1": "P5401" } } }, "Z19287K2": { "Z1K1": "Z6095", "Z6095K1": "L1882" } }, "Z802K2": { "Z1K1": "Z6095", "Z6095K1": "L1882" }, "Z802K3": { "Z1K1": "Z6095", "Z6095K1": "L1886" } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "auxiliary verb of French Lexeme, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } dkhb0fgcl3f5gd90kfvycy56lubj9t9 299956 299955 2026-08-16T11:01:50Z Jsamwrites 938 299956 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39581" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39580", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z813", "Z813K1": { "Z1K1": "Z7", "Z7K1": "Z33125", "Z33125K1": { "Z1K1": "Z18", "Z18K1": "Z39580K1" }, "Z33125K2": { "Z1K1": "Z6092", "Z6092K1": "P5401" } } }, "Z802K2": { "Z1K1": "Z6095", "Z6095K1": "L1886" }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19287", "Z19287K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z7", "Z7K1": "Z33125", "Z33125K1": { "Z1K1": "Z18", "Z18K1": "Z39580K1" }, "Z33125K2": { "Z1K1": "Z6092", "Z6092K1": "P5401" } } }, "Z19287K2": { "Z1K1": "Z6095", "Z6095K1": "L1882" } }, "Z802K2": { "Z1K1": "Z6095", "Z6095K1": "L1882" }, "Z802K3": { "Z1K1": "Z6095", "Z6095K1": "L1886" } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "auxiliary verb of French Lexeme, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } mrmfxyiq9624yh8x1k06l2y6g17s02z Z39582 0 90258 299948 2026-08-16T10:53:46Z Jsamwrites 938 299948 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39582" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39580", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39580", "Z39580K1": { "Z1K1": "Z6095", "Z6095K1": "L9136" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z19287", "Z19287K2": { "Z1K1": "Z6095", "Z6095K1": "L1882" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "auxillary verb-arriver, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 4ssf09hvoenmimprm3kw2syvsui5avo Z39583 0 90259 299951 2026-08-16T10:56:47Z Jsamwrites 938 Create test for Z39580 299951 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39583" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39580", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39580", "Z39580K1": { "Z1K1": "Z6095", "Z6095K1": "L9136" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z19287", "Z19287K2": { "Z1K1": "Z6095", "Z6095K1": "L1882" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "auxillary verb-concevoir, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } otq7jc2kboktlf99uknlbexulhdsnmv 299953 299951 2026-08-16T10:57:16Z Jsamwrites 938 299953 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39583" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39580", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39580", "Z39580K1": { "Z1K1": "Z6095", "Z6095K1": "L9136" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z19287", "Z19287K2": { "Z1K1": "Z6095", "Z6095K1": "L1886" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "auxillary verb-concevoir, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } sdrk0ju770dhtvy9iojfqka72lamorb 299954 299953 2026-08-16T10:57:53Z Jsamwrites 938 299954 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39583" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z39580", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z39580", "Z39580K1": { "Z1K1": "Z6095", "Z6095K1": "L11142" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z19287", "Z19287K2": { "Z1K1": "Z6095", "Z6095K1": "L1886" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "auxillary verb-concevoir, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } s9pq77z19a0m6tstvbm3jj9975h6dfx Z39584 0 90260 299957 2026-08-16T11:24:59Z Jsamwrites 938 299957 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39584" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39562", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z18", "Z18K1": "Z39562K4" }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q1317831" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z18", "Z18K1": "Z39562K3" }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q192613" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z39574", "Z39574K1": { "Z1K1": "Z18", "Z18K1": "Z39562K1" }, "Z39574K2": { "Z1K1": "Z18", "Z18K1": "Z39562K2" }, "Z39574K3": { "Z1K1": "Z18", "Z18K1": "Z39562K3" } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19287", "Z19287K1": { "Z1K1": "Z7", "Z7K1": "Z39580", "Z39580K1": { "Z1K1": "Z18", "Z18K1": "Z39562K2" } }, "Z19287K2": { "Z1K1": "Z6095", "Z6095K1": "L1882" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z34669", "Z34669K1": [ "Z11", { "Z1K1": "Z7", "Z7K1": "Z39574", "Z39574K1": { "Z1K1": "Z18", "Z18K1": "Z39562K1" }, "Z39574K2": { "Z1K1": "Z7", "Z7K1": "Z39580", "Z39580K1": { "Z1K1": "Z18", "Z18K1": "Z39562K2" } }, "Z39574K3": { "Z1K1": "Z18", "Z18K1": "Z39562K3" } }, { "Z1K1": "Z7", "Z7K1": "Z39578", "Z39578K1": { "Z1K1": "Z18", "Z18K1": "Z39562K1" }, "Z39578K2": { "Z1K1": "Z18", "Z18K1": "Z39562K2" } } ], "Z34669K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": " " } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z34669", "Z34669K1": [ "Z11", { "Z1K1": "Z7", "Z7K1": "Z39574", "Z39574K1": { "Z1K1": "Z18", "Z18K1": "Z39562K1" }, "Z39574K2": { "Z1K1": "Z7", "Z7K1": "Z39580", "Z39580K1": { "Z1K1": "Z18", "Z18K1": "Z39562K2" } }, "Z39574K3": { "Z1K1": "Z18", "Z18K1": "Z39562K3" } }, { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z18", "Z18K1": "Z39562K2" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q814722" }, { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, { "Z1K1": "Z6091", "Z6091K1": "Q499327" }, { "Z1K1": "Z6091", "Z6091K1": "Q110786" } ] } ], "Z34669K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": " " } } } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z6091", "Z6091K1": "" }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q192613" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z34669", "Z34669K1": [ "Z11", { "Z1K1": "Z7", "Z7K1": "Z39574", "Z39574K1": { "Z1K1": "Z18", "Z18K1": "Z39562K1" }, "Z39574K2": { "Z1K1": "Z6095", "Z6095K1": "L627139" }, "Z39574K3": { "Z1K1": "Z18", "Z18K1": "Z39562K3" } }, { "Z1K1": "Z7", "Z7K1": "Z39578", "Z39578K1": { "Z1K1": "Z18", "Z18K1": "Z39562K1" }, "Z39578K2": { "Z1K1": "Z18", "Z18K1": "Z39562K2" } } ], "Z34669K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": " " } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z34669", "Z34669K1": [ "Z11", { "Z1K1": "Z7", "Z7K1": "Z39574", "Z39574K1": { "Z1K1": "Z18", "Z18K1": "Z39562K1" }, "Z39574K2": { "Z1K1": "Z6095", "Z6095K1": "L1886" }, "Z39574K3": { "Z1K1": "Z18", "Z18K1": "Z39562K3" } }, { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z6095", "Z6095K1": "L1882" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q814722" }, { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, { "Z1K1": "Z6091", "Z6091K1": "Q499327" }, { "Z1K1": "Z6091", "Z6091K1": "Q110786" } ] }, { "Z1K1": "Z7", "Z7K1": "Z39578", "Z39578K1": { "Z1K1": "Z18", "Z18K1": "Z39562K1" }, "Z39578K2": { "Z1K1": "Z18", "Z18K1": "Z39562K2" } } ], "Z34669K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": " " } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French verbal complex for Wikidata subjects, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } rs50mzvm1210z9wsh55r7ura91540a1 299958 299957 2026-08-16T11:25:30Z Jsamwrites 938 299958 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39584" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39562", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z18", "Z18K1": "Z39562K4" }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q1317831" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z18", "Z18K1": "Z39562K3" }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q192613" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z39574", "Z39574K1": { "Z1K1": "Z18", "Z18K1": "Z39562K1" }, "Z39574K2": { "Z1K1": "Z18", "Z18K1": "Z39562K2" }, "Z39574K3": { "Z1K1": "Z18", "Z18K1": "Z39562K3" } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19287", "Z19287K1": { "Z1K1": "Z7", "Z7K1": "Z39580", "Z39580K1": { "Z1K1": "Z18", "Z18K1": "Z39562K2" } }, "Z19287K2": { "Z1K1": "Z6095", "Z6095K1": "L1882" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z34669", "Z34669K1": [ "Z11", { "Z1K1": "Z7", "Z7K1": "Z39574", "Z39574K1": { "Z1K1": "Z18", "Z18K1": "Z39562K1" }, "Z39574K2": { "Z1K1": "Z7", "Z7K1": "Z39580", "Z39580K1": { "Z1K1": "Z18", "Z18K1": "Z39562K2" } }, "Z39574K3": { "Z1K1": "Z18", "Z18K1": "Z39562K3" } }, { "Z1K1": "Z7", "Z7K1": "Z39578", "Z39578K1": { "Z1K1": "Z18", "Z18K1": "Z39562K1" }, "Z39578K2": { "Z1K1": "Z18", "Z18K1": "Z39562K2" } } ], "Z34669K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": " " } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z34669", "Z34669K1": [ "Z11", { "Z1K1": "Z7", "Z7K1": "Z39574", "Z39574K1": { "Z1K1": "Z18", "Z18K1": "Z39562K1" }, "Z39574K2": { "Z1K1": "Z7", "Z7K1": "Z39580", "Z39580K1": { "Z1K1": "Z18", "Z18K1": "Z39562K2" } }, "Z39574K3": { "Z1K1": "Z18", "Z18K1": "Z39562K3" } }, { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z18", "Z18K1": "Z39562K2" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q814722" }, { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, { "Z1K1": "Z6091", "Z6091K1": "Q499327" }, { "Z1K1": "Z6091", "Z6091K1": "Q110786" } ] } ], "Z34669K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": " " } } } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z18", "Z18K1": "Z39562K3" }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q192613" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z34669", "Z34669K1": [ "Z11", { "Z1K1": "Z7", "Z7K1": "Z39574", "Z39574K1": { "Z1K1": "Z18", "Z18K1": "Z39562K1" }, "Z39574K2": { "Z1K1": "Z6095", "Z6095K1": "L627139" }, "Z39574K3": { "Z1K1": "Z18", "Z18K1": "Z39562K3" } }, { "Z1K1": "Z7", "Z7K1": "Z39578", "Z39578K1": { "Z1K1": "Z18", "Z18K1": "Z39562K1" }, "Z39578K2": { "Z1K1": "Z18", "Z18K1": "Z39562K2" } } ], "Z34669K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": " " } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z34669", "Z34669K1": [ "Z11", { "Z1K1": "Z7", "Z7K1": "Z39574", "Z39574K1": { "Z1K1": "Z18", "Z18K1": "Z39562K1" }, "Z39574K2": { "Z1K1": "Z6095", "Z6095K1": "L1886" }, "Z39574K3": { "Z1K1": "Z18", "Z18K1": "Z39562K3" } }, { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z6095", "Z6095K1": "L1882" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q814722" }, { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, { "Z1K1": "Z6091", "Z6091K1": "Q499327" }, { "Z1K1": "Z6091", "Z6091K1": "Q110786" } ] }, { "Z1K1": "Z7", "Z7K1": "Z39578", "Z39578K1": { "Z1K1": "Z18", "Z18K1": "Z39562K1" }, "Z39578K2": { "Z1K1": "Z18", "Z18K1": "Z39562K2" } } ], "Z34669K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": " " } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French verbal complex for Wikidata subjects, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } kfp58e4xqs8w5bbhhxny5txrn904zch 299963 299958 2026-08-16T11:34:59Z Jsamwrites 938 299963 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z39584" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z39562", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z18", "Z18K1": "Z39562K4" }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q1317831" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z18", "Z18K1": "Z39562K3" }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q192613" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z39574", "Z39574K1": { "Z1K1": "Z18", "Z18K1": "Z39562K1" }, "Z39574K2": { "Z1K1": "Z18", "Z18K1": "Z39562K2" }, "Z39574K3": { "Z1K1": "Z18", "Z18K1": "Z39562K3" } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19287", "Z19287K1": { "Z1K1": "Z7", "Z7K1": "Z39580", "Z39580K1": { "Z1K1": "Z18", "Z18K1": "Z39562K2" } }, "Z19287K2": { "Z1K1": "Z6095", "Z6095K1": "L1882" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z34669", "Z34669K1": [ "Z11", { "Z1K1": "Z7", "Z7K1": "Z39574", "Z39574K1": { "Z1K1": "Z18", "Z18K1": "Z39562K1" }, "Z39574K2": { "Z1K1": "Z7", "Z7K1": "Z39580", "Z39580K1": { "Z1K1": "Z18", "Z18K1": "Z39562K2" } }, "Z39574K3": { "Z1K1": "Z18", "Z18K1": "Z39562K3" } }, { "Z1K1": "Z7", "Z7K1": "Z39578", "Z39578K1": { "Z1K1": "Z18", "Z18K1": "Z39562K1" }, "Z39578K2": { "Z1K1": "Z18", "Z18K1": "Z39562K2" } } ], "Z34669K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": " " } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z34669", "Z34669K1": [ "Z11", { "Z1K1": "Z7", "Z7K1": "Z39574", "Z39574K1": { "Z1K1": "Z18", "Z18K1": "Z39562K1" }, "Z39574K2": { "Z1K1": "Z7", "Z7K1": "Z39580", "Z39580K1": { "Z1K1": "Z18", "Z18K1": "Z39562K2" } }, "Z39574K3": { "Z1K1": "Z18", "Z18K1": "Z39562K3" } }, { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z18", "Z18K1": "Z39562K2" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q814722" }, { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, { "Z1K1": "Z6091", "Z6091K1": "Q499327" }, { "Z1K1": "Z6091", "Z6091K1": "Q110786" } ] } ], "Z34669K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": " " } } } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K1": { "Z1K1": "Z18", "Z18K1": "Z39562K3" }, "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q192613" } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z34669", "Z34669K1": [ "Z11", { "Z1K1": "Z7", "Z7K1": "Z39574", "Z39574K1": { "Z1K1": "Z18", "Z18K1": "Z39562K1" }, "Z39574K2": { "Z1K1": "Z6095", "Z6095K1": "L1882" }, "Z39574K3": { "Z1K1": "Z18", "Z18K1": "Z39562K3" } }, { "Z1K1": "Z7", "Z7K1": "Z39578", "Z39578K1": { "Z1K1": "Z18", "Z18K1": "Z39562K1" }, "Z39578K2": { "Z1K1": "Z18", "Z18K1": "Z39562K2" } } ], "Z34669K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": " " } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z34669", "Z34669K1": [ "Z11", { "Z1K1": "Z7", "Z7K1": "Z39574", "Z39574K1": { "Z1K1": "Z18", "Z18K1": "Z39562K1" }, "Z39574K2": { "Z1K1": "Z6095", "Z6095K1": "L1886" }, "Z39574K3": { "Z1K1": "Z18", "Z18K1": "Z39562K3" } }, { "Z1K1": "Z7", "Z7K1": "Z39537", "Z39537K1": { "Z1K1": "Z6095", "Z6095K1": "L1882" }, "Z39537K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q814722" }, { "Z1K1": "Z6091", "Z6091K1": "Q1994301" }, { "Z1K1": "Z6091", "Z6091K1": "Q499327" }, { "Z1K1": "Z6091", "Z6091K1": "Q110786" } ] }, { "Z1K1": "Z7", "Z7K1": "Z39578", "Z39578K1": { "Z1K1": "Z18", "Z18K1": "Z39562K1" }, "Z39578K2": { "Z1K1": "Z18", "Z18K1": "Z39562K2" } } ], "Z34669K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": " " } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "French verbal complex for Wikidata subjects, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 2ufr9230yflc6s56k587m8jpe7vvfug