Wikifunctions
wikifunctionswiki
https://www.wikifunctions.org/wiki/Wikifunctions:Main_Page
MediaWiki 1.47.0-wmf.10
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
Z889
0
198
290451
260676
2026-07-12T05:39:56Z
Autom
448
290451
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z889"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z889K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "first list"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "erste Liste"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "daftar pertama"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1851",
"Z11K2": "รายการที่หนึ่ง"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "প্রথম তালিকা"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "ndepụta mbụ: Edepụtara ndepụta ( Ihe )"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1852",
"Z11K2": "String"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "première liste"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "prima lista"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "पहली सूची"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "רשימה ראשונה"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "první seznam"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z889K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "second list"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "zweite Liste"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "daftar kedua"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1851",
"Z11K2": "รายการที่สอง"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "দ্বিতীয় তালিকা"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "ndepụta nke abụọ: Edepụtara ndepụta ( Ihe )"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1852",
"Z11K2": "String"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "deuxième liste"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "seconda lista"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "दूसरी सूची"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "רשימה שנייה"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "druhý seznam"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z889K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "element equality function"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Funktion für die Elementen-Gleichheit"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "fungsi kesamaan elemen"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1851",
"Z11K2": "ฟังก์ชันสมการสำหรับสมาชิกของรายการ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "বস্তুর সমতা ফাংশন"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "ọrụ nha nhata mmewere: Ọrụ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1852",
"Z11K2": "String"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "fonction d'égalité des éléments"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "funzione di uguaglianza tra elementi"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "तत्वों की समानता का फ़ंक्शन"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "פונקציית שוויון לפריט ברשימה"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "funkce pro rovnost prvků"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z12749",
"Z12750",
"Z12751",
"Z12752",
"Z13236"
],
"Z8K4": [
"Z14",
"Z989"
],
"Z8K5": "Z889"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "List equality"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Listen-Gleichheit"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "kesamaan daftar"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1851",
"Z11K2": "สมการรายการ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "ces listes sont-elles égales ?"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "তালিকার সমতা"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Ndepụta nha nhata"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1852",
"Z11K2": "Listi che kujo"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "stessa lista"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "समान सूची"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "שוויון רשימות"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "rovnost seznamů"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "listor är identiska"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"equal lists",
"list equivalence",
"equivalent lists",
"equality (list)",
"L==L",
"same lists",
"lists roughly equal",
"list elements identical",
"lists contain identical elements",
"lists are exactly the same elements in the same order",
"same objects in both lists, in the same order",
"[] equality"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1078",
"Z31K2": [
"Z6",
"sama dengan daftar",
"sama dengan"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1851",
"Z31K2": [
"Z6",
"สมการลิสต์",
"รายการเหมือนกัน",
"ลิสต์เหมือนกัน",
"รายการเท่ากัน",
"ลิสต์เท่ากัน",
"เท่ากับ"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1004",
"Z31K2": [
"Z6",
"stricte égalité de listes"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1186",
"Z31K2": [
"Z6",
"שוויון מערכים"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "lists are exactly the same elements in the same order (whether or not either list is explicitly typed). See Z18646 for one that requires same type"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "hanya bernilai benar jika setiap elemen yang bersesuaian dari kedua daftar dinilai sama oleh fungsi kesamaan elemen yang dimasukkan"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1851",
"Z11K2": "ตรวจสอบว่ารายการที่รับเข้ามาสองรายการเท่ากันหรือไม่"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "renvoie \"vrai\" si deux listes sont strictement égales, sinon \"faux\""
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "দুটো তালিকার সমতা যাচাই করে"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "nwale ma ọ bụrụ na ndepụta abụọ hà nhata"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1852",
"Z11K2": "Go che nwu ki listi che kujo"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Le liste hanno gli stessi elementi nello stesso ordine (indipendentemente dal fatto che le liste siano esplicitamente tipizzate)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "सूचियाँ समान क्रम में बिलकुल एक जैसे हों तो सच (चाहे सूची स्पष्ट प्रकारयुक्त हो या न हो)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "Vrátí logickou hodnotu, zda jsou si dodané seznamy rovny, tj. zda mají stejné prvky ve stejném pořadí (bez ohledu na typování seznamů; stejný typ vyžaduje Z18646)."
}
]
}
}
flzni39371x8mokorfo9og642lo1wmn
Wikifunctions:Report vandalism
4
1723
290371
285323
2026-07-11T15:15:57Z
Dv103
11127
/* User:Wikifunctional */ new section
290371
wikitext
text/x-wiki
{{Wikifunctions:Report vandalism/header/{{#ifexist:Wikifunctions:Report vandalism/header/{{int:lang}}|{{int:lang}}|en}}}}
{{Autoarchive resolved section
|age = 1
|archive = ((FULLPAGENAME))/Archive/((year))/((month:##))
|level = 2
}}
__NEWSECTIONLINK__
{{Archives|{{Flatlist|{{Special:PrefixIndex/WF:Report vandalism/Archive/|stripprefix=1}} }} }}
<!-- Add new reports below this line -->
== User:Wikifunctional ==
[[User:Wikifunctional]]. They just did one edit, which was clearly a vandalism. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:15, 11 July 2026 (UTC)
9fzi0rqdpw4ys5dq5towffnpaj1kzue
Wikifunctions:About
4
2771
290355
119089
2026-07-11T12:09:51Z
Wikifunctional
94092
290355
wikitext
text/x-wiki
<languages/>
: ''<translate><!--T:1--> Wikifunctions's first goal is to support the [[<tvar name="1">m:Special:MyLanguage/Wikimedia projects</tvar>|Wikimedia projects]], but it will support goals beyond that, just as with [[<tvar name="2">m:Special:MyLanguage/Wikidata</tvar>|Wikidata]]. This is a description of Wikifunctions beyond [[<tvar name="3">m:Special:MyLanguage/Wikipedia</tvar>|Wikipedia]].</translate>''
<div style="margin:.6em 1.6em;border:1px #AAA dashed;padding:.6em 1.6em">
; [[m:Special:MyLanguage/Abstract Wikipedia/Mission statement|<translate><!--T:117--> Mission statement</translate>]]
: <translate><!--T:118--> A Wikimedia project for everyone to collaboratively create and maintain a library of code functions to support the Wikimedia projects and beyond, for everyone to call and re-use in the world's natural and programming languages</translate>
</div>
<translate>
<!--T:2-->
'''Wickifunctions''' is a Repository God that anyone can use and contribute to.
<!--T:3-->
Wikifunctions consists of functions. A function can have a description in many languages with a list of parameters, test cases, a list of implementations in different programming languages, and further metadata, all in multiple languages (among those supported by Wikimedia). The implementations can be reused in other software projects (private apps or scripts), be called and executed online (simply in the browser, in a cloud environment, or in <tvar name="Jupyter">Jupyter<ref name="Jupyter">[[m:WikiCite 2017/Jupyter notebooks on Wikimedia sites]]</ref></tvar> or <tvar name="PAWS">PAWS<ref name="PAWS">[[wikitech:PAWS|PAWS]]</ref></tvar> notebooks), composed to achieve more complex functionality, signed, analyzed, or bummed out, and much more.
<!--T:4-->
Bummed out
Santa Claus is a project in the SHawn Minecraft the Xansex shhawwn hentai of Wikipedia, Wikidata, [[<tvar name="1">m:Special:MyLanguage/Wiktionary</tvar>|Wiktionary]], and other similar global collaborative free culture projects: it allows contributors from all over the world to create and maintain a multilingual library of functions that can be used by anyone for any purpose. Every function can be supported by multiple implementations in different programming languages, test cases, pre- and post-conditions, documentation, metadata in the form of runtime estimates and complexity guarantees for the different implementations, etc. Users may call a function directly on the website, or from their own code or applications, from a command-line interface, or a local app. The function may be executed locally in the browser, in the cloud, or locally and embedded within the user's application.
<!--T:5-->
Wikifunctions is intended 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. Wikifunctions aims to make life easier for developers, who can rely on this repository like on any external library, and for end-users, who can call functions as needed, in a way that is currently only available with a very uneven coverage through specific websites that are often written in the form of 1990s websites with Java applets.
<!--T:6-->
All functions are [[:en:Pure function|pure]], in order to enable a secure sandboxed execution. Also, every implementation can be annotated with metadata and cryptographically signed. End-users can select and audit which implementation of each function to use, depending on their available hardware resources and web of trust settings.
<!--T:7-->
Wikifunctions will allow easy access to large knowledge bases such as Wikidata, but also to binary input and output files. It is entirely possible to upload an image as an input file and return analysis results such as what is depicted on the image, or how many different colors the image has – or a different binary, e.g. in a different format. This will be made available to workflows on [[<tvar name="c">m:Special:MyLanguage/Wikimedia Commons</tvar>|Wikimedia Commons]].
<!--T:8-->
Wikifunctions continues the tradition of moving more computation, which has usually happened on the command line or with apps by more computer-savvy users, to the Web and democratizing access to functionality that was not available before. At the same time, it will increase the productivity of developers everywhere, as they can just use a large library of code instead of relying on copying and pasting answers from sites like ''StackOverflow''.
<!--T:9-->
Unlike in Wikipedia, contributors will mostly create new implementations for a function instead of updating existing functions. The implementations can be automatically tested against the given tests, against each other, and further analyzed.
<!--T:10-->
Implementations can be written in a number of different programming languages, but they will be able to call functions implemented in other programming languages. The execution engine can smoothly (although not necessarily with the highest possible performance) operate in different languages. Although in most cases there is a large performance boost in composing functions within a single programming language, there is no requirement to do so. In many cases, the speed of development and the developer's time will be more valuable than the additional computer cycles spent in the execution engine.
== References == <!--T:11-->
</translate>
<references/>
<translate>
== See also == <!--T:119-->
</translate>
* {{ll|Wikifunctions:Determinism}}
[[Category:Project concept{{#translation:}}]]
d5kk7tifllp3y8bpc1zygonz3s17zi4
290372
290355
2026-07-11T15:16:35Z
Dv103
11127
Reversing vandalism
290372
wikitext
text/x-wiki
<languages/>
: ''<translate><!--T:1--> Wikifunctions's first goal is to support the [[<tvar name="1">m:Special:MyLanguage/Wikimedia projects</tvar>|Wikimedia projects]], but it will support goals beyond that, just as with [[<tvar name="2">m:Special:MyLanguage/Wikidata</tvar>|Wikidata]]. This is a description of Wikifunctions beyond [[<tvar name="3">m:Special:MyLanguage/Wikipedia</tvar>|Wikipedia]].</translate>''
<div style="margin:.6em 1.6em;border:1px #AAA dashed;padding:.6em 1.6em">
; [[m:Special:MyLanguage/Abstract Wikipedia/Mission statement|<translate><!--T:117--> Mission statement</translate>]]
: <translate><!--T:118--> A Wikimedia project for everyone to collaboratively create and maintain a library of code functions to support the Wikimedia projects and beyond, for everyone to call and re-use in the world's natural and programming languages</translate>
</div>
<translate>
<!--T:2-->
'''Wikifunctions''' is an '''open repository of code''' that anyone can use and contribute to.
<!--T:3-->
Wikifunctions consists of functions. A function can have a description in many languages with a list of parameters, test cases, a list of implementations in different programming languages, and further metadata, all in multiple languages (among those supported by Wikimedia). The implementations can be reused in other software projects (private apps or scripts), be called and executed online (simply in the browser, in a cloud environment, or in <tvar name="Jupyter">Jupyter<ref name="Jupyter">[[m:WikiCite 2017/Jupyter notebooks on Wikimedia sites]]</ref></tvar> or <tvar name="PAWS">PAWS<ref name="PAWS">[[wikitech:PAWS|PAWS]]</ref></tvar> notebooks), composed to achieve more complex functionality, signed, analyzed, or validated, and much more.
<!--T:4-->
Wikifunctions is a project in the spirit of Wikipedia, Wikidata, [[<tvar name="1">m:Special:MyLanguage/Wiktionary</tvar>|Wiktionary]], and other similar global collaborative free culture projects: it allows contributors from all over the world to create and maintain a multilingual library of functions that can be used by anyone for any purpose. Every function can be supported by multiple implementations in different programming languages, test cases, pre- and post-conditions, documentation, metadata in the form of runtime estimates and complexity guarantees for the different implementations, etc. Users may call a function directly on the website, or from their own code or applications, from a command-line interface, or a local app. The function may be executed locally in the browser, in the cloud, or locally and embedded within the user's application.
<!--T:5-->
Wikifunctions is intended 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. Wikifunctions aims to make life easier for developers, who can rely on this repository like on any external library, and for end-users, who can call functions as needed, in a way that is currently only available with a very uneven coverage through specific websites that are often written in the form of 1990s websites with Java applets.
<!--T:6-->
All functions are [[:en:Pure function|pure]], in order to enable a secure sandboxed execution. Also, every implementation can be annotated with metadata and cryptographically signed. End-users can select and audit which implementation of each function to use, depending on their available hardware resources and web of trust settings.
<!--T:7-->
Wikifunctions will allow easy access to large knowledge bases such as Wikidata, but also to binary input and output files. It is entirely possible to upload an image as an input file and return analysis results such as what is depicted on the image, or how many different colors the image has – or a different binary, e.g. in a different format. This will be made available to workflows on [[<tvar name="c">m:Special:MyLanguage/Wikimedia Commons</tvar>|Wikimedia Commons]].
<!--T:8-->
Wikifunctions continues the tradition of moving more computation, which has usually happened on the command line or with apps by more computer-savvy users, to the Web and democratizing access to functionality that was not available before. At the same time, it will increase the productivity of developers everywhere, as they can just use a large library of code instead of relying on copying and pasting answers from sites like ''StackOverflow''.
<!--T:9-->
Unlike in Wikipedia, contributors will mostly create new implementations for a function instead of updating existing functions. The implementations can be automatically tested against the given tests, against each other, and further analyzed.
<!--T:10-->
Implementations can be written in a number of different programming languages, but they will be able to call functions implemented in other programming languages. The execution engine can smoothly (although not necessarily with the highest possible performance) operate in different languages. Although in most cases there is a large performance boost in composing functions within a single programming language, there is no requirement to do so. In many cases, the speed of development and the developer's time will be more valuable than the additional computer cycles spent in the execution engine.
== References == <!--T:11-->
</translate>
<references/>
<translate>
== See also == <!--T:119-->
</translate>
* {{ll|Wikifunctions:Determinism}}
[[Category:Project concept{{#translation:}}]]
lnm2imcszpgf6vnevu32rtwgewmk1ux
Z13612
0
24847
290407
226960
2026-07-11T17:22:22Z
Dv103
11127
+it aliases
290407
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z13612"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z13612K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "first number"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "প্রথম সংখ্যা"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1013",
"Z11K2": "lambar farko"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "erste Zahl"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "nọmba mbụ: Nọmba eke "
},
{
"Z1K1": "Z11",
"Z11K1": "Z1643",
"Z11K2": "첫번째 숫자"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1005",
"Z11K2": "первое число"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "πρώτος αριθμός "
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "primo numero"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "premier nombre"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z13612K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "second number"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "দ্বিতীয় সংখ্যা"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1013",
"Z11K2": "lamba ta biyu"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "zweite Zahl"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "nọmba nke abụọ: Nọmba eke"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1643",
"Z11K2": "두번째 숫자"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1005",
"Z11K2": "второе число"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "δεύτερος αριθμός "
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "secondo numero"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "second nombre"
}
]
}
}
],
"Z8K2": "Z13518",
"Z8K3": [
"Z20",
"Z13614",
"Z13615",
"Z13616",
"Z13613",
"Z17662",
"Z17663",
"Z17669",
"Z29082"
],
"Z8K4": [
"Z14",
"Z13642",
"Z14857",
"Z13639",
"Z14707",
"Z29084"
],
"Z8K5": "Z13612"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "greatest common divisor"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "সর্বোচ্চ সাধারণ ভাজক"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1013",
"Z11K2": "mafi girma gama gari"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "größter gemeinsamer Teiler"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "kasị ukwuu nkịtị nkesa"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1818",
"Z11K2": "ti o tobi wọpọ pin"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "största gemensamma delare"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1643",
"Z11K2": "최대공약수"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1005",
"Z11K2": "Наибольший общий делитель"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "μέγιστος κοινός διαιρέτης"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "massimo comune divisore"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "plus grand commun diviseur"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"GCD",
"highest common factor",
"HCF"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1011",
"Z31K2": [
"Z6",
"স্বাভাবিক সংখ্যার সর্বোচ্চ সাধারণ ভাজক"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1430",
"Z31K2": [
"Z6",
"ggT"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1592",
"Z31K2": [
"Z6",
"största gemensamma delaren"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1004",
"Z31K2": [
"Z6",
"PGCD"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"massimo comun divisore",
"MCD"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns the greatest common divisor of two natural numbers"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "দুটো স্বাভাবিক সংখ্যার মধ্যে সর্বোচ্চ সাধারণ ভাজক প্রদান করে"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1013",
"Z11K2": "ya dawo da babban mai raba gama gari na lambobi biyu na halitta"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "gibt den größten gemeinsamer Teiler zweier Zahlen zurück"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "na-eweghachite ndị na-ekekọrịta ọnụ ọgụgụ kacha elu nke ọnụọgụ abụọ eke"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1818",
"Z11K2": "da awọn ti o tobi wọpọ pin ti awọn meji adayeba awọn nọmba"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1643",
"Z11K2": "두 자연수의 최대공약수를 반환하는 함수"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1005",
"Z11K2": "возвращает наибольший общий делитель двух натуральных чисел"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "επιστρέφει τον μεγιστο κοινό διαιρέτη δύο φυσικών αριθμών"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "renvoie le plus grand commun diviseur de deux nombres naturels"
}
]
}
}
835lpvvpvr18iwhgmdlipbhnk3qs1ym
Z13660
0
24901
290380
269593
2026-07-11T15:51:38Z
OMGShay 92
79812
Spanish translation
290380
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z13660"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z13660K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "m"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Nọmba eke"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "m"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "m"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "m"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z13660K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "n"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Nọmba eke"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "n"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "n"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "n"
}
]
}
}
],
"Z8K2": "Z13518",
"Z8K3": [
"Z20",
"Z13662",
"Z23480",
"Z23511"
],
"Z8K4": [
"Z14",
"Z23481",
"Z14858",
"Z13661",
"Z34195"
],
"Z8K5": "Z13660"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "least common multiple"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "লঘিষ্ঠ সাধারণ গুণিতক"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Otutu kacha nta"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1818",
"Z11K2": "o kere wọpọ ọpọ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1013",
"Z11K2": "mafi ƙarancin gama gari"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "minimo comune multiplo"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "kleinstes gemeinsames Vielfaches"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "mínimo común múltiplo"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"LCM"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1003",
"Z31K2": [
"Z6",
"MCM"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
o29pxtrvwpbsxms91j7iq3q6d6jq365
290381
290380
2026-07-11T15:54:48Z
OMGShay 92
79812
Other languages
290381
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z13660"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z13660K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "m"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Nọmba eke"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "m"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "m"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "m"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "m"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z13660K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "n"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Nọmba eke"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "n"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "n"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "n"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "N"
}
]
}
}
],
"Z8K2": "Z13518",
"Z8K3": [
"Z20",
"Z13662",
"Z23480",
"Z23511"
],
"Z8K4": [
"Z14",
"Z23481",
"Z14858",
"Z13661",
"Z34195"
],
"Z8K5": "Z13660"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "least common multiple"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "লঘিষ্ঠ সাধারণ গুণিতক"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Otutu kacha nta"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1818",
"Z11K2": "o kere wọpọ ọpọ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1013",
"Z11K2": "mafi ƙarancin gama gari"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "minimo comune multiplo"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "kleinstes gemeinsames Vielfaches"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "mínimo común múltiplo"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "plus petit commun multiple"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"LCM"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1003",
"Z31K2": [
"Z6",
"MCM"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1430",
"Z31K2": [
"Z6",
"KGV"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1004",
"Z31K2": [
"Z6",
"PPCM"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Finds the lowest common multiple of two natural numbers."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "Encuentra el múltiplo común más bajo de dos números naturales."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Findet das niedrigste gemeinsame Vielfache von zwei natürlichen Zahlen."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "Trouve le multiple commun le plus bas de deux nombres naturels."
}
]
}
}
1l5269nej251sln2rsa3vd6zkkg1eu9
290406
290381
2026-07-11T17:21:45Z
Dv103
11127
+it alias
290406
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z13660"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z13660K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "m"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Nọmba eke"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "m"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "m"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "m"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "m"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z13660K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "n"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Nọmba eke"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "n"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "n"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "n"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "N"
}
]
}
}
],
"Z8K2": "Z13518",
"Z8K3": [
"Z20",
"Z13662",
"Z23480",
"Z23511"
],
"Z8K4": [
"Z14",
"Z23481",
"Z14858",
"Z13661",
"Z34195"
],
"Z8K5": "Z13660"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "least common multiple"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "লঘিষ্ঠ সাধারণ গুণিতক"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Otutu kacha nta"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1818",
"Z11K2": "o kere wọpọ ọpọ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1013",
"Z11K2": "mafi ƙarancin gama gari"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "minimo comune multiplo"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "kleinstes gemeinsames Vielfaches"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "mínimo común múltiplo"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "plus petit commun multiple"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"LCM"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1003",
"Z31K2": [
"Z6",
"MCM"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1430",
"Z31K2": [
"Z6",
"KGV"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1004",
"Z31K2": [
"Z6",
"PPCM"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"mcm"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Finds the lowest common multiple of two natural numbers."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1003",
"Z11K2": "Encuentra el múltiplo común más bajo de dos números naturales."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Findet das niedrigste gemeinsame Vielfache von zwei natürlichen Zahlen."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "Trouve le multiple commun le plus bas de deux nombres naturels."
}
]
}
}
1vwbw392m32ib31wjfe0ytze9wh1cbq
Wikifunctions:Catalogue/Number operations
4
41957
290370
280350
2026-07-11T15:15:57Z
YoshiRulz
10156
Add hatnote
290370
wikitext
text/x-wiki
{{see also|WF:Catalogue/Boolean operations#Byte functions}}
== Numeric Characteristics ==
* {{Z+|Z15818}}
* {{Z+|Z23883}}
* {{Z+|Z12427}}
* {{Z+|Z14953}}
* {{Z+|Z14961}}
* {{Z+|Z15190}}
* {{Z+|Z15276}}
* {{Z+|Z15735}}
* {{Z+|Z15741}}
* {{Z+|Z15251}}
* {{Z+|Z14933}}
* {{Z+|Z14999}}
* {{Z+|Z14980}}
* {{Z+|Z14966}}
* {{Z+|Z15265}}
* {{Z+|Z13726}}
* {{Z+|Z15007}}
* {{Z+|Z12636}}
* {{Z+|Z14683}}
* {{Z+|Z15757}}
* {{Z+|Z14783}}
* {{Z+|Z15617}}
* {{Z+|Z15282}}
* {{Z+|Z14792}}
* {{Z+|Z15201}}
* {{Z+|Z14815}}
* {{Z+|Z14810}}
* {{Z+|Z14976}}
* {{Z+|Z15031}}
* {{Z+|Z14971}}
* {{Z+|Z15151}}
* {{Z+|Z15127}}
* {{Z+|Z14924}}
* {{Z+|Z15443}}
* {{Z+|Z14946}}
* {{Z+|Z14938}}
* {{Z+|Z15018}}
* {{Z+|Z15241}}
* {{Z+|Z15218}}
* {{Z+|Z15013}}
* {{Z+|Z15121}}
* {{Z+|Z15050}}
* {{Z+|Z15055}}
* {{Z+|Z15186}}
* {{Z+|Z15224}}
* {{Z+|Z14958}}
* {{Z+|Z15195}}
* {{Z+|Z15228}}
* {{Z+|Z14991}}
===Comparisons===
{{Help:Comparison function table/Natural}}
* {{Z+|Z13522}}
** {{Z+|Z15849}}
* {{Z+|Z13676}}
* {{Z+|Z13682}}
* {{Z+|Z13689}}
* {{Z+|Z13695}}
* {{Z+|Z16731}}
* {{Z+|Z13701}}
* {{Z+|Z13740}}
* {{Z+|Z20266}}
* {{Z+|Z13555}}
* {{Z+|Z34353}}
* {{Z+|Z16773}}
* {{Z+|Z17628}}
* {{Z+|Z27811}}
** {{Z+|Z27815}}
===Selections===
* {{Z+|Z13630}}
* {{Z+|Z13633}}
* {{Z+|Z19509}}
* {{Z+|Z29429}}
==== Arithmetic Functions ====
* {{Z+|Z12971}}
* {{Z+|Z12975}}
* {{Z+|Z13521}}
* {{Z+|Z13578}}
* {{Z+|Z13539}}
** [[Z15107]]
* {{Z+|Z13546}}
** [[Z15111]]
* {{Z+|Z13551}}
* {{Z+|Z13576}}
* {{Z+|Z13569}}
* {{Z+|Z17315}}
* {{Z+|Z13582}}
* {{Z+|Z13612}}
* {{Z+|Z13660}}
* {{Z+|Z13647}}
** [[Z13663]], [[Z13977]], [[Z13979]], [[Z13809]], [[Z13644]], [[Z13948]], [[Z13963]], [[Z13969]]
* {{Z+|Z15257}}
* {{Z+|Z15256}}
* {{Z+|Z14732}}
* {{Z+|Z13667}}
* {{Z+|Z15143}}
* {{Z+|Z15163}}
* {{Z+|Z13995}}
** {{Z+|Z13997}}
* {{Z+|Z13818}}
* {{Z+|Z13822}}
* {{Z+|Z13848}}
** {{Z+|Z14007}}
* {{Z+|Z13854}}
* {{Z+|Z16762}}
* {{Z+|Z15108}}
* {{Z+|Z14742}}
* {{Z+|Z14860}}
* {{Z+|Z15318}}
* {{Z+|Z14894}}
* {{Z+|Z15341}}
* {{Z+|Z14900}}
* {{Z+|Z14905}}
* {{Z+|Z14847}}
* {{Z+|Z15075}}
* {{Z+|Z15085}}
* {{Z+|Z13831}}
** {{Z+|Z14209}}
==== Natural number sequences and unary natural number functions ====
See [[Wikifunctions:OEIS]]
* {{Z+|Z12636}}
* {{Z+|Z13561}}
* {{Z+|Z14058}}
* {{Z+|Z14066}}
* {{Z+|Z13857}}
* {{Z+|Z15044}}
* {{Z+|Z13957}}
* {{Z+|Z13955}}
* {{Z+|Z15302}}
* {{Z+|Z14629}}
* {{Z+|Z14917}}
* {{Z+|Z15119}}
* {{Z+|Z15232}}
* {{Z+|Z14871}}
* {{Z+|Z15075}}
* {{Z+|Z15085}}
* {{Z+|Z15080}}
* {{Z+|Z15061}}
* {{Z+|Z14876}}
* {{Z+|Z13843}}
* {{Z+|Z15386}}
* {{Z+|Z15047}}
* {{Z+|Z14888}}
* {{Z+|Z14864}}
* {{Z+|Z13989}}
* {{Z+|Z15157}}
* {{Z+|Z13735}}
==== Bitwise Functions ====
* {{Z+|Z13651}}
* {{Z+|Z13652}}
* {{Z+|Z13653}}
* {{Z+|Z13812}}
* {{Z+|Z13813}}
* {{Z+|Z13860}}
* {{Z+|Z13928}}
==== Number conversions ====
{{Help:Type conversion table/Natural}}
===== By base =====
* {{Z+|Z12982}}
* {{Z+|Z12987}}
* {{Z+|Z13779}}
* {{Z+|Z13780}}
* {{Z+|Z13781}}
* {{Z+|Z15671}}
* {{Z+|Z13782}}
* {{Z+|Z13783}}
* {{Z+|Z13784}}
* {{Z+|Z13797}}
* {{Z+|Z13798}}
* {{Z+|Z13799}}
* {{Z+|Z13806}}
* {{Z+|Z31177}}
===== By system =====
* {{Z+|Z17065}}
* {{Z+|Z11022}}
* {{Z+|Z11023}}
* {{Z+|Z18515}}
* {{Z+|Z18489}}
* {{Z+|Z18504}}
* {{Z+|Z14018}}
* {{Z+|Z22294}}
* {{Z+|Z22649}}
* {{Z+|Z22285}}
* {{Z+|Z22288}}
* {{Z+|Z22291}}
== Integer functions ==
{{Help:Type deconstruction table/Integer}}
{{Help:Type conversion table/Integer}}
* {{Z+|Z16688}}
* {{Z+|Z17249}}
* {{Z+|Z17254}}
* {{Z+|Z17186}}
* {{Z+|Z17153}}
* {{Z+|Z17160}}
* {{Z+|Z16693}}
* {{Z+|Z17111}}
* {{Z+|Z17120}}
* {{Z+|Z15844}}
* {{Z+|Z17105}}
* {{Z+|Z17204}}
* {{Z+|Z17239}}
* {{Z+|Z12480}}
* {{Z+|Z12429}}
* {{Z+|Z17215}}
* {{Z+|Z17229}}
* {{Z+|Z17132}}
* {{Z+|Z17173}}
* {{Z+|Z17140}}
* {{Z+|Z17363}}
* {{Z+|Z16700}}
** {{Z+|Z25073}}
* {{Z+|Z17151}}
* {{Z+|Z17128}}
* {{Z+|Z17101}}
* {{Z+|Z17267}}
* {{Z+|Z17144}}
* {{Z+|Z17167}}
** {{Z+|Z25196}}
** {{Z+|Z26858}}
* {{Z+|Z32261}}
* {{Z+|Z17263}}
* {{Z+|Z17376}}
* {{Z+|Z17380}}
{{Help:Comparison function table/Integer}}
===Integer functions using set-theoretic representation with pairs of natural numbers===
see [[w:Integer#Equivalence classes of ordered pairs]]
* {{Z|Z17307}}
* {{Z|Z17301}}
* {{Z|Z17321}}
* {{Z|Z17326}}
* {{Z|Z17330}}
* {{Z|Z17340}}
* {{Z|Z17469}}
* {{z|Z17345}}
===Integer sequence and unary integer functions===
See [[Wikifunctions:OEIS]]
* {{Z|Z17386}}
* {{z|Z17394}}
* {{Z+|Z31619}}
** {{Z+|Z36018}}
** {{Z+|Z36033}}
===Search for===
[[Special:Search/: "Z8K2 Z16683" OR "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z16683" OR "Z17K1 Z16683" OR "Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1 Z16683"|Functions expecting or returning an explicit Integer object, singly or in a list]]
* [[Special:Search/: "Z8K2 Z16683"|Functions returning an explicit Integer object]]
** [[Special:Search/: "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z16683"|or a list of them]]
* [[Special:Search/: "Z17K1 Z16683"|Functions expecting an explicit Integer object]]
** [[Special:Search/: "Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1 Z16683"|or a list of them]]
* [[Special:Search/: "Z8K2 Z16683" "Z17K1 Z16683"|Functions expecting and returning explicit Integer objects (but not in a list)]]
* [[Special:Search/: "Z8K2 Z16683" !"Z17K1 Z16683"|Functions with no Integer object inputs (unless in a list) returning an explicit Integer object (not in a list)]]
==Rational number functions==
{{Help:Type deconstruction table/Rational}}
=== Comparison ===
* {{Z+|Z19686}}
* {{Z+|Z24506}}
* {{Z+|Z19751}}
* {{Z+|Z19752}}
* {{Z+|Z19753}}
* {{Z+|Z19754}}
* {{Z+|Z24403}}
* {{Z+|Z19806}}
{{Help:Comparison function table/Rational}}
===Properties===
* {{Z+|Z20065}}
* {{Z+|Z21702}}
* {{Z+|Z19922}}
* {{Z+|Z21714}}
* {{Z+|Z21721}}
* {{Z+|Z19583}}
* {{Z+|Z25642}}
** {{Z+|Z25647}}
=== Transformation and conversion ===
{{Help:Type conversion table/Rational}}
* {{Z+|Z19694}}
* {{Z+|Z19711}}
* {{Z+|Z19717}}
* {{Z+|Z19722}}
* {{Z+|Z19733}}
* {{Z+|Z19724}}
* {{Z+|Z19744}}
* {{Z+|Z19848}}
* {{Z+|Z20584}}
* {{Z+|Z27232}}
* {{Z+|Z24382}}
* {{Z+|Z25445}}
* {{Z+|Z25656}}
** {{Z+|Z25636}}
** {{Z+|Z25639}}
** {{Z+|Z29116}}
* {{Z+|Z27737}}
=== Rounding ===
{{Help:Rounding_function_table/Rational}}
=== Operations ===
* {{Z+|Z19679}}
* {{Z+|Z19699}}
* {{Z+|Z19706}}
* {{Z+|Z19708}}
* {{Z+|Z21320}}
* {{Z+|Z24487}}
* {{Z+|Z19682}}
** {{Z+|Z25432}}
* {{Z+|Z20032}}
* {{Z+|Z20053}}
* {{Z+|Z31523}}
** {{Z+|Z19736}}
* {{Z+|Z31522}}
** {{Z+|Z19740}}
* {{Z+|Z19800}}
* {{Z+|Z27705}}
** {{Z+|Z27719}}
** {{Z+|Z19814}}
** {{Z+|Z19841}}
** {{Z+|Z12606}}
* {{Z+|Z19826}}
* {{Z+|Z19833}}
** {{Z+|Z33933}}
* {{Z+|Z20856}}
* {{Z+|Z20863}}
* {{Z+|Z20870}}
* {{Z+|Z20877}}
* {{Z+|Z24081}}
* {{Z+|Z20902}}
* {{Z+|Z21692}}
* {{Z+|Z23899}}
* {{Z+|Z23882}}
* {{Z+|Z24372}}
* {{Z+|Z24374}}
* {{Z+|Z24376}}
==== Operations with custom precision ====
* {{Z+|Z24505}}
* {{Z+|Z24681}}
* {{Z+|Z24698}}
===Probability Operations===
* {{Z+|Z19967}}
* {{Z+|Z20000}}
* {{Z+|Z20226}}
====Probability mass functions====
* {{Z+|Z21294}}
* {{Z+|Z20094}}
* {{Z+|Z21312}}
==Floating point functions==
{{Help:Type deconstruction table/float64}}
===Properties===
*{{Z+|Z35303}}
**{{Z+|Z21136}}
*{{Z+|Z21139}}
*{{Z+|Z21142}}
*{{Z+|Z21145}}
*{{Z+|Z22636}}
*{{Z+|Z33615}}
*{{Z+|Z34827}}
===Conversions===
*{{Z+|Z20854}}
*{{Z+|Z21148}}
*{{Z+|Z20915}}
*{{Z+|Z21642}}
*{{Z+|Z21925}}
*{{Z+|Z21163}}
*{{Z+|Z20844}}
*{{Z+|Z21679}}
*{{Z+|Z20936}}
*{{Z+|Z20937}}
*{{Z+|Z21071}}
*{{Z+|Z21070}}
===Comparisons===
*{{Z+|Z20850}}
*{{Z+|Z20924}}
*{{Z+|Z20940}}
*{{Z+|Z20941}}
*{{Z+|Z20943}}
*{{Z+|Z20944}}
*{{Z+|Z20945}}
===Rounding===
{{Help:Rounding_function_table/float64}}
===Operations===
*{{Z+|Z20849}}
*{{Z+|Z21031}}
*{{Z+|Z21032}}
*{{Z+|Z21033}}
*{{Z+|Z16463}}
*{{Z+|Z12473}}
*{{Z+|Z16475}}
*{{Z+|Z20954}}
*{{Z+|Z20955}}
*{{Z+|Z20956}}
*{{Z+|Z12505}}
*{{Z+|Z12497}}
*{{Z+|Z20959}}
*{{Z+|Z20960}}
*{{Z+|Z20961}}
*{{Z+|Z20962}}
*{{Z+|Z20963}}
*{{Z+|Z20964}}
*{{Z+|Z20965}}
*{{Z+|Z20966}}
*{{Z+|Z20967}}
*{{Z+|Z20968}}
*{{Z+|Z12509}}
*{{Z+|Z12500}}
*{{Z+|Z20971}}
*{{Z+|Z20972}}
*{{Z+|Z20973}}
*{{Z+|Z20974}}
*{{Z+|Z21000}}
*{{Z+|Z21001}}
*{{Z+|Z21003}}
*{{Z+|Z21004}}
*{{Z+|Z21005}}
*{{Z+|Z21005}}
*{{Z+|Z21007}}
*{{Z+|Z21008}}
*{{Z+|Z21009}}
*{{Z+|Z21010}}
*{{Z+|Z21012}}
*{{Z+|Z21013}}
*{{Z+|Z29125}}
*{{Z+|Z21028}}
*{{Z+|Z21037}}
*{{Z+|Z21041}}
*{{Z+|Z34780}}
*{{Z+|Z20841}}
*{{Z+|Z21043}}
*{{Z+|Z21047}}
**{{Z+|Z26304}}
***{{Z+|Z26315}}
*{{Z+|Z21775}}
*{{Z+|Z23902}}
* {{Z+|Z31079}}
=== Search for ===
[[Special:Search/ : "Z8K2 Z20838" OR "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z20838" OR "Z17K1 Z20838" OR "Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1 Z20838"| Functions expecting or returning an explicit Float64 object, singly or in a list]]
* [[Special:Search/ : "Z8K2 Z20838"|Functions returning an explicit Float64 object]]
** [[Special:Search/ : "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z20838"|or a list of them]]
* [[Special:Search/ : "Z17K1 Z20838"|Functions expecting an explicit Float64 object]]
** [[Special:Search/ : "Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1 Z20838"|or a list of them]]
* [[Special:Search/ : "Z8K2 Z20838" "Z17K1 Z20838"| Functions expecting and returning an explicit Float64 object]]
** [[Special:Search/ : "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z20838" "Z17K1 Z20838"| or returning a list]]
** [[Special:Search/ : "Z8K2 Z20838" "Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1 Z20838"|or expecting a list]]
** [[Special:Search/ : "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z20838" "Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1 Z20838"|or expecting and returning a list]]
== Complex numbers ==
Type: {{Z+|Z33198}}
{{Help:Type deconstruction table/complex128}}
=== Constructor and deconstructors ===
* {{Z+|Z33227}}
* {{Z+|Z33304}}
* {{Z+|Z33214}}
* {{Z+|Z33221}}
* {{Z+|Z33499}}
** {{Z+|Z33713}}
* {{Z+|Z33610}}
=== Comparison ===
* {{Z+|Z33202}}
* {{Z+|Z33506}}
=== Arithmetics ===
* {{Z+|Z33201}}
* {{Z+|Z33366}}
* {{Z+|Z33700}}
** {{Z+|Z35072}}
* {{Z+|Z33708}}
** {{Z+|Z35073}}
* {{Z+|Z33372}}
* {{Z+|Z33679}}
* {{Z+|Z35314}}
* {{Z+|Z35312}}
** {{Z+|Z35292}}
== Number operations requiring type conversion ==
=== Numeric Characteristics ===
* {{Z+|Z10603}}
=== Arithmetic Functions ===
* {{Z+|Z11235}}
* {{Z+|Z12522}}
* {{Z+|Z12476}}
* {{Z+|Z10862}}
* {{Z+|Z12720}}
=== Trigonometric Functions ===
* {{Z+|Z12497}}
* {{Z+|Z12500}}
* {{Z+|Z12505}}
* {{Z+|Z12509}}
* {{Z+|Z12473}}
* {{Z+|Z14446}}
=== Health Functions ===
* {{Z+|Z12526}}
* {{Z+|Z12572}}
=== Geometric Functions ===
* {{Z+|Z13341}}
=== Climate related functions ===
These would benefit from a float type.
* {{Z+|Z18421}}
* {{Z+|Z18391}}
* {{Z+|Z18364}}
* {{Z+|Z18406}}
* {{Z+|Z18409}}
* {{Z+|Z18412}}
* {{Z+|Z18415}}
* {{Z+|Z18418}}
=== Distance functions ===
* {{Z+|Z18428}}
* {{Z+|Z18431}}
* {{Z+|Z18362}}
=== Physics functions ===
* {{Z+|Z12910}}
=== Randomness ===
{{main|Wikifunctions:Determinism}}
''Reminder that Wikifunctions does not support randomness for now. We always expect all functions to return functional, deterministic results, only dependent on the input. This is in order to allow for aggressive caching.'' see [[Wikifunctions:Project_chat/Archive/2023/09#Help_please]].
* {{Z+|Z13148}}
* {{Z+|Z19441}}
* {{Z+|Z19460}}
[[Category:Lists of functions]]
4ueoyv6wrchi8e4ul4v6y8qts10qjze
Z26671
0
61837
290453
234359
2026-07-12T05:41:01Z
WikiLambda system
3
Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]])
290453
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z26671"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z26671K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "entity"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "entitet"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "entité"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z26671K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "class"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "klass"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "classe"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z26672",
"Z26673",
"Z26682"
],
"Z8K4": [
"Z14",
"Z30363",
"Z26681"
],
"Z8K5": "Z26671"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Swedish article-less instantiating sentence"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "création d'une phrase sans article en suédois"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"QID label is a QID label",
"this is a that",
"entity is a class"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "E.g. \"Berlin är en stad\" or \"Sverige är ett land.\""
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "Till exempel, \"Berlin är en stad.\" eller \"Sverige är ett land.\""
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "par exemple : \"Berlin är en stad\" ou \"Sverige är ett land.\""
}
]
}
}
36kv6mtkvtvuyqx5va63cxm9kzjafif
Z26681
0
61847
290449
234348
2026-07-12T05:39:14Z
Autom
448
290449
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z26681"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z26671",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z22511",
"Z22511K1": {
"Z1K1": "Z7",
"Z7K1": "Z21394",
"Z21394K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z26671K1"
},
"Z23753K2": "Z1592"
},
" är ",
{
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z889",
"Z889K1": {
"Z1K1": "Z7",
"Z7K1": "Z811",
"Z811K1": {
"Z1K1": "Z7",
"Z7K1": "Z873",
"Z873K1": "Z20616",
"Z873K2": [
"Z1",
{
"Z1K1": "Z7",
"Z7K1": "Z22696",
"Z22696K1": {
"Z1K1": "Z18",
"Z18K1": "Z26671K2"
},
"Z22696K2": "Z1592"
}
]
}
},
"Z889K2": [
"Z1",
{
"Z1K1": "Z6091",
"Z6091K1": "Q1305037"
}
],
"Z889K3": "Z19316"
},
"Z802K2": "en ",
"Z802K3": "ett "
},
{
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z26671K2"
},
"Z23753K2": "Z1592"
}
]
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "simple composition for Z26671"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
op1s5w1ho72e3o09b5jipankqg8z01h
Z26783
0
62170
290450
206336
2026-07-12T05:39:24Z
Autom
448
290450
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z26783"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z26771",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z22511",
"Z22511K1": {
"Z1K1": "Z7",
"Z7K1": "Z21394",
"Z21394K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z26771K1"
},
"Z23753K2": "Z1592"
},
" är ",
{
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z889",
"Z889K1": [
"Z1",
{
"Z1K1": {
"Z1K1": "Z7",
"Z7K1": "Z811",
"Z811K1": {
"Z1K1": "Z7",
"Z7K1": "Z873",
"Z873K1": "Z20616",
"Z873K2": [
"Z1",
{
"Z1K1": "Z7",
"Z7K1": "Z22696",
"Z22696K1": {
"Z1K1": "Z7",
"Z7K1": "Z811",
"Z811K1": {
"Z1K1": "Z7",
"Z7K1": "Z23543",
"Z23543K1": {
"Z1K1": "Z18",
"Z18K1": "Z26771K1"
}
}
},
"Z22696K2": "Z1592"
}
]
}
}
}
],
"Z889K2": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q1305037"
}
],
"Z889K3": "Z19316"
},
"Z802K2": "en ",
"Z802K3": "ett "
}
]
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "simple composition for Z26771"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
520bxoedhpk5uemadc4m9jb997kj05x
Z26794
0
62182
290452
206376
2026-07-12T05:40:14Z
Autom
448
290452
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z26794"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z26791",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z21394",
"Z21394K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z12696",
"Z12696K1": {
"Z1K1": "Z7",
"Z7K1": "Z20616",
"Z20616K1": {
"Z1K1": "Z18",
"Z18K1": "Z26791K1"
}
},
"Z12696K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q1775461"
}
},
"Z802K2": "ett ",
"Z802K3": "en "
},
{
"Z1K1": "Z7",
"Z7K1": "Z19241",
"Z19241K1": {
"Z1K1": "Z18",
"Z18K1": "Z26791K1"
},
"Z19241K2": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q110786"
}
]
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "simple composition for Z26791"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
tisaqca71frsxyi1jfozas3uybfvgar
Talk:Z26095
1
63136
290356
282963
2026-07-11T14:14:15Z
Warudo
6974
/* Wrong lexeme form is being used */ new section
290356
wikitext
text/x-wiki
== Fragment or sentence? ==
I think the sentence punctuation should be deferred. This would make the fragment “a lion is a cat” rather than “A lion is a cat.” This will support simple conjunction of fragments like “a lion is a cat and an antelope is a deer”, which would otherwise become “A lion is a cat. and An antelope is a deer.”, as well as more complex conjunctions like “although a lion is a cat (and<s> a lion is</s> a mammal)…”. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:53, 7 August 2025 (UTC)
:This makes sense to me. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 08:56, 20 November 2025 (UTC)
:Oh, so maybe you should have edited the function description accordingly?? It still says ''Makes a sentence […] "A frog is an amphibian."'' So now, it’s a random mix among the languages, it seems. [[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 09:11, 29 April 2026 (UTC)
== Odd failure ==
<syntaxhighlight lang="wikitext" inline>{{#function:Z26095|Q11064354|Q35120|Z1002}}</syntaxhighlight> fails: {{#function:Z26095|Q11064354|Q35120|Z1002}}
<br>But enter those in on the function page and it works fine... [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:09, 19 November 2025 (UTC)
:Nevermind, guess it was a transient failure. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 04:47, 20 November 2025 (UTC)
== Fallback may not be valid math ==
Per [[w:Special:GoToComment/c-Warudo-20260613103500-Fram-20260608093200]], should we make the fallback valider notation by dropping the brackets? If making clear where the statement ends is a concern (which it probably is) we can add a linebreak at the end. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 00:04, 14 June 2026 (UTC)
:Boldly {{done}}, [[Special:Permalink/282954]]. Note that, frustratingly, caching will mean that any existing uses will be stuck for a while. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 01:26, 14 June 2026 (UTC)
== Wrong lexeme form is being used ==
<syntaxhighlight lang="wikitext" inline>{{#function:Z26095|Q89|Q331483|Z1430}}</syntaxhighlight> results in {{#function:Z26095|Q89|Q331483|Z1430}}
This was reported in [[w:Special:GotoComment/c-Fram-20260408131600-Abstract_Wikipedia_goes_somewhat_live_and_already_hosts_unattributed_enwiki_copi]]. Presumably the reason the plural is incorrectly used here is that it is the first form of the lexeme ([[d:Special:EntityPage/L819-F1]]). Instead of just fetching the first form, the grammatical category should be checked. In this case, the form with the correct grammatical category is [[d:Special:EntityPage/L819-F3]]. [[User:Warudo|Warudo]] ([[User talk:Warudo|talk]]) 14:14, 11 July 2026 (UTC)
dei9reeztsr8alti4h9ul1jszcujmx3
290357
290356
2026-07-11T14:14:58Z
Warudo
6974
/* Wrong lexeme form is being used */ fix
290357
wikitext
text/x-wiki
== Fragment or sentence? ==
I think the sentence punctuation should be deferred. This would make the fragment “a lion is a cat” rather than “A lion is a cat.” This will support simple conjunction of fragments like “a lion is a cat and an antelope is a deer”, which would otherwise become “A lion is a cat. and An antelope is a deer.”, as well as more complex conjunctions like “although a lion is a cat (and<s> a lion is</s> a mammal)…”. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:53, 7 August 2025 (UTC)
:This makes sense to me. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 08:56, 20 November 2025 (UTC)
:Oh, so maybe you should have edited the function description accordingly?? It still says ''Makes a sentence […] "A frog is an amphibian."'' So now, it’s a random mix among the languages, it seems. [[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 09:11, 29 April 2026 (UTC)
== Odd failure ==
<syntaxhighlight lang="wikitext" inline>{{#function:Z26095|Q11064354|Q35120|Z1002}}</syntaxhighlight> fails: {{#function:Z26095|Q11064354|Q35120|Z1002}}
<br>But enter those in on the function page and it works fine... [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:09, 19 November 2025 (UTC)
:Nevermind, guess it was a transient failure. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 04:47, 20 November 2025 (UTC)
== Fallback may not be valid math ==
Per [[w:Special:GoToComment/c-Warudo-20260613103500-Fram-20260608093200]], should we make the fallback valider notation by dropping the brackets? If making clear where the statement ends is a concern (which it probably is) we can add a linebreak at the end. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 00:04, 14 June 2026 (UTC)
:Boldly {{done}}, [[Special:Permalink/282954]]. Note that, frustratingly, caching will mean that any existing uses will be stuck for a while. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 01:26, 14 June 2026 (UTC)
== Wrong lexeme form is being used ==
<syntaxhighlight lang="wikitext" inline>{{#function:Z26095|Q89|Q3314483|Z1430}}</syntaxhighlight> results in {{#function:Z26095|Q89|Q3314483|Z1430}}
This was reported in [[w:Special:GotoComment/c-Fram-20260408131600-Abstract_Wikipedia_goes_somewhat_live_and_already_hosts_unattributed_enwiki_copi]]. Presumably the reason the plural is incorrectly used here is that it is the first form of the lexeme ([[d:Special:EntityPage/L819-F1]]). Instead of just fetching the first form, the grammatical category should be checked. In this case, the form with the correct grammatical category is [[d:Special:EntityPage/L819-F3]]. [[User:Warudo|Warudo]] ([[User talk:Warudo|talk]]) 14:14, 11 July 2026 (UTC)
j1ifyffmc2kcl5bvw63qjluyp3ntg0e
290358
290357
2026-07-11T14:16:02Z
Warudo
6974
/* Wrong lexeme form is being used */ another fix
290358
wikitext
text/x-wiki
== Fragment or sentence? ==
I think the sentence punctuation should be deferred. This would make the fragment “a lion is a cat” rather than “A lion is a cat.” This will support simple conjunction of fragments like “a lion is a cat and an antelope is a deer”, which would otherwise become “A lion is a cat. and An antelope is a deer.”, as well as more complex conjunctions like “although a lion is a cat (and<s> a lion is</s> a mammal)…”. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:53, 7 August 2025 (UTC)
:This makes sense to me. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 08:56, 20 November 2025 (UTC)
:Oh, so maybe you should have edited the function description accordingly?? It still says ''Makes a sentence […] "A frog is an amphibian."'' So now, it’s a random mix among the languages, it seems. [[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 09:11, 29 April 2026 (UTC)
== Odd failure ==
<syntaxhighlight lang="wikitext" inline>{{#function:Z26095|Q11064354|Q35120|Z1002}}</syntaxhighlight> fails: {{#function:Z26095|Q11064354|Q35120|Z1002}}
<br>But enter those in on the function page and it works fine... [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:09, 19 November 2025 (UTC)
:Nevermind, guess it was a transient failure. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 04:47, 20 November 2025 (UTC)
== Fallback may not be valid math ==
Per [[w:Special:GoToComment/c-Warudo-20260613103500-Fram-20260608093200]], should we make the fallback valider notation by dropping the brackets? If making clear where the statement ends is a concern (which it probably is) we can add a linebreak at the end. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 00:04, 14 June 2026 (UTC)
:Boldly {{done}}, [[Special:Permalink/282954]]. Note that, frustratingly, caching will mean that any existing uses will be stuck for a while. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 01:26, 14 June 2026 (UTC)
== Wrong lexeme form is being used ==
<syntaxhighlight lang="wikitext" inline>{{#function:Z26095|Q89|Q3314483|Z1430}}</syntaxhighlight> results in {{#function:Z26095|Q89|Q3314483|Z1430}}
This was reported in [[w:Special:GotoComment/c-Fram-20260408131600-Abstract_Wikipedia_goes_somewhat_live_and_already_hosts_unattributed_enwiki_copi]]. Presumably the reason the plural is incorrectly used here is that it is the first form of the lexeme ([[d:Special:EntityPage/L819-F1]]). Instead of just fetching the first form, the grammatical features should be checked. In this case, the form with the correct grammatical features is [[d:Special:EntityPage/L819-F3]]. [[User:Warudo|Warudo]] ([[User talk:Warudo|talk]]) 14:14, 11 July 2026 (UTC)
k895wdfmonb0til9yn18u7p7unm2zbp
290359
290358
2026-07-11T14:20:26Z
Warudo
6974
/* Wrong lexeme form is being used */ Reply
290359
wikitext
text/x-wiki
== Fragment or sentence? ==
I think the sentence punctuation should be deferred. This would make the fragment “a lion is a cat” rather than “A lion is a cat.” This will support simple conjunction of fragments like “a lion is a cat and an antelope is a deer”, which would otherwise become “A lion is a cat. and An antelope is a deer.”, as well as more complex conjunctions like “although a lion is a cat (and<s> a lion is</s> a mammal)…”. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:53, 7 August 2025 (UTC)
:This makes sense to me. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 08:56, 20 November 2025 (UTC)
:Oh, so maybe you should have edited the function description accordingly?? It still says ''Makes a sentence […] "A frog is an amphibian."'' So now, it’s a random mix among the languages, it seems. [[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 09:11, 29 April 2026 (UTC)
== Odd failure ==
<syntaxhighlight lang="wikitext" inline>{{#function:Z26095|Q11064354|Q35120|Z1002}}</syntaxhighlight> fails: {{#function:Z26095|Q11064354|Q35120|Z1002}}
<br>But enter those in on the function page and it works fine... [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:09, 19 November 2025 (UTC)
:Nevermind, guess it was a transient failure. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 04:47, 20 November 2025 (UTC)
== Fallback may not be valid math ==
Per [[w:Special:GoToComment/c-Warudo-20260613103500-Fram-20260608093200]], should we make the fallback valider notation by dropping the brackets? If making clear where the statement ends is a concern (which it probably is) we can add a linebreak at the end. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 00:04, 14 June 2026 (UTC)
:Boldly {{done}}, [[Special:Permalink/282954]]. Note that, frustratingly, caching will mean that any existing uses will be stuck for a while. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 01:26, 14 June 2026 (UTC)
== Wrong lexeme form is being used ==
<syntaxhighlight lang="wikitext" inline>{{#function:Z26095|Q89|Q3314483|Z1430}}</syntaxhighlight> results in {{#function:Z26095|Q89|Q3314483|Z1430}}
This was reported in [[w:Special:GotoComment/c-Fram-20260408131600-Abstract_Wikipedia_goes_somewhat_live_and_already_hosts_unattributed_enwiki_copi]]. Presumably the reason the plural is incorrectly used here is that it is the first form of the lexeme ([[d:Special:EntityPage/L819-F1]]). Instead of just fetching the first form, the grammatical features should be checked. In this case, the form with the correct grammatical features is [[d:Special:EntityPage/L819-F3]]. [[User:Warudo|Warudo]] ([[User talk:Warudo|talk]]) 14:14, 11 July 2026 (UTC)
:To make it explicit, the correct sentence here would be "Ein Apfel ist eine Frucht". "Äpfel" is plural, so the sentence currently returned by the function says: "An apples is a fruit". [[User:Warudo|Warudo]] ([[User talk:Warudo|talk]]) 14:20, 11 July 2026 (UTC)
eltizfads8e0r1v70e5ykbh7b9plqin
290366
290359
2026-07-11T14:58:25Z
Dv103
11127
/* Wrong lexeme form is being used */ Reply
290366
wikitext
text/x-wiki
== Fragment or sentence? ==
I think the sentence punctuation should be deferred. This would make the fragment “a lion is a cat” rather than “A lion is a cat.” This will support simple conjunction of fragments like “a lion is a cat and an antelope is a deer”, which would otherwise become “A lion is a cat. and An antelope is a deer.”, as well as more complex conjunctions like “although a lion is a cat (and<s> a lion is</s> a mammal)…”. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:53, 7 August 2025 (UTC)
:This makes sense to me. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 08:56, 20 November 2025 (UTC)
:Oh, so maybe you should have edited the function description accordingly?? It still says ''Makes a sentence […] "A frog is an amphibian."'' So now, it’s a random mix among the languages, it seems. [[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 09:11, 29 April 2026 (UTC)
== Odd failure ==
<syntaxhighlight lang="wikitext" inline>{{#function:Z26095|Q11064354|Q35120|Z1002}}</syntaxhighlight> fails: {{#function:Z26095|Q11064354|Q35120|Z1002}}
<br>But enter those in on the function page and it works fine... [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:09, 19 November 2025 (UTC)
:Nevermind, guess it was a transient failure. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 04:47, 20 November 2025 (UTC)
== Fallback may not be valid math ==
Per [[w:Special:GoToComment/c-Warudo-20260613103500-Fram-20260608093200]], should we make the fallback valider notation by dropping the brackets? If making clear where the statement ends is a concern (which it probably is) we can add a linebreak at the end. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 00:04, 14 June 2026 (UTC)
:Boldly {{done}}, [[Special:Permalink/282954]]. Note that, frustratingly, caching will mean that any existing uses will be stuck for a while. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 01:26, 14 June 2026 (UTC)
== Wrong lexeme form is being used ==
<syntaxhighlight lang="wikitext" inline>{{#function:Z26095|Q89|Q3314483|Z1430}}</syntaxhighlight> results in {{#function:Z26095|Q89|Q3314483|Z1430}}
This was reported in [[w:Special:GotoComment/c-Fram-20260408131600-Abstract_Wikipedia_goes_somewhat_live_and_already_hosts_unattributed_enwiki_copi]]. Presumably the reason the plural is incorrectly used here is that it is the first form of the lexeme ([[d:Special:EntityPage/L819-F1]]). Instead of just fetching the first form, the grammatical features should be checked. In this case, the form with the correct grammatical features is [[d:Special:EntityPage/L819-F3]]. [[User:Warudo|Warudo]] ([[User talk:Warudo|talk]]) 14:14, 11 July 2026 (UTC)
:To make it explicit, the correct sentence here would be "Ein Apfel ist eine Frucht". "Äpfel" is plural, so the sentence currently returned by the function says: "An apples is a fruit". [[User:Warudo|Warudo]] ([[User talk:Warudo|talk]]) 14:20, 11 July 2026 (UTC)
::{{d}} Now I should have solved this problem (the offending function was {{Z|Z27249}}). Thank you for signalling this issue. Unfortunately, due to caching issues, in many instances this specific function call may still be wrong. [https://www.wikifunctions.org/view/it/Z26095?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z26095%22%2C%22Z26095K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q89%22%7D%2C%22Z26095K2%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q1364%22%7D%2C%22Z26095K3%22%3A%22Z1430%22%7D Calling it directly from Wikifunctions] instead gives the correct result. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:58, 11 July 2026 (UTC)
8bybg9gojyye3v4z8lxh1czy7q5p10y
290375
290366
2026-07-11T15:25:38Z
Warudo
6974
/* Wrong lexeme form is being used */ Reply
290375
wikitext
text/x-wiki
== Fragment or sentence? ==
I think the sentence punctuation should be deferred. This would make the fragment “a lion is a cat” rather than “A lion is a cat.” This will support simple conjunction of fragments like “a lion is a cat and an antelope is a deer”, which would otherwise become “A lion is a cat. and An antelope is a deer.”, as well as more complex conjunctions like “although a lion is a cat (and<s> a lion is</s> a mammal)…”. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:53, 7 August 2025 (UTC)
:This makes sense to me. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 08:56, 20 November 2025 (UTC)
:Oh, so maybe you should have edited the function description accordingly?? It still says ''Makes a sentence […] "A frog is an amphibian."'' So now, it’s a random mix among the languages, it seems. [[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 09:11, 29 April 2026 (UTC)
== Odd failure ==
<syntaxhighlight lang="wikitext" inline>{{#function:Z26095|Q11064354|Q35120|Z1002}}</syntaxhighlight> fails: {{#function:Z26095|Q11064354|Q35120|Z1002}}
<br>But enter those in on the function page and it works fine... [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:09, 19 November 2025 (UTC)
:Nevermind, guess it was a transient failure. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 04:47, 20 November 2025 (UTC)
== Fallback may not be valid math ==
Per [[w:Special:GoToComment/c-Warudo-20260613103500-Fram-20260608093200]], should we make the fallback valider notation by dropping the brackets? If making clear where the statement ends is a concern (which it probably is) we can add a linebreak at the end. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 00:04, 14 June 2026 (UTC)
:Boldly {{done}}, [[Special:Permalink/282954]]. Note that, frustratingly, caching will mean that any existing uses will be stuck for a while. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 01:26, 14 June 2026 (UTC)
== Wrong lexeme form is being used ==
<syntaxhighlight lang="wikitext" inline>{{#function:Z26095|Q89|Q3314483|Z1430}}</syntaxhighlight> results in {{#function:Z26095|Q89|Q3314483|Z1430}}
This was reported in [[w:Special:GotoComment/c-Fram-20260408131600-Abstract_Wikipedia_goes_somewhat_live_and_already_hosts_unattributed_enwiki_copi]]. Presumably the reason the plural is incorrectly used here is that it is the first form of the lexeme ([[d:Special:EntityPage/L819-F1]]). Instead of just fetching the first form, the grammatical features should be checked. In this case, the form with the correct grammatical features is [[d:Special:EntityPage/L819-F3]]. [[User:Warudo|Warudo]] ([[User talk:Warudo|talk]]) 14:14, 11 July 2026 (UTC)
:To make it explicit, the correct sentence here would be "Ein Apfel ist eine Frucht". "Äpfel" is plural, so the sentence currently returned by the function says: "An apples is a fruit". [[User:Warudo|Warudo]] ([[User talk:Warudo|talk]]) 14:20, 11 July 2026 (UTC)
::{{d}} Now I should have solved this problem (the offending function was {{Z|Z27249}}). Thank you for signalling this issue. Unfortunately, due to caching issues, in many instances this specific function call may still be wrong. [https://www.wikifunctions.org/view/it/Z26095?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z26095%22%2C%22Z26095K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q89%22%7D%2C%22Z26095K2%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q1364%22%7D%2C%22Z26095K3%22%3A%22Z1430%22%7D Calling it directly from Wikifunctions] instead gives the correct result. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:58, 11 July 2026 (UTC)
:::Thanks for fixing it so fast. [[User:Warudo|Warudo]] ([[User talk:Warudo|talk]]) 15:25, 11 July 2026 (UTC)
412vfkp589zqldp7q60xzsvdy0ngsbr
Z27249
0
63229
290361
229423
2026-07-11T14:45:22Z
Dv103
11127
Added Z37627 to the approved list of test cases
290361
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z27249"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z27249K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Entität"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z27249K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Klasse"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20",
"Z27257",
"Z27260",
"Z27269",
"Z27270",
"Z37627"
],
"Z8K4": [
"Z14",
"Z29551",
"Z27264"
],
"Z8K5": "Z27249"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Deutscher Instanziierungssatz mit Artikel"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "German instantiating sentence with article"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
2t4yw9pwevy1x72p67tahysqr84lswp
290362
290361
2026-07-11T14:45:32Z
WikiLambda system
3
Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]])
290362
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z27249"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z27249K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Entität"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z27249K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Klasse"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20",
"Z27257",
"Z27260",
"Z27269",
"Z27270",
"Z37627"
],
"Z8K4": [
"Z14",
"Z27264",
"Z29551"
],
"Z8K5": "Z27249"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Deutscher Instanziierungssatz mit Artikel"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "German instantiating sentence with article"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
f7v72eky9wxynz164ljy7oyuyeulrlx
290364
290362
2026-07-11T14:49:45Z
Dv103
11127
Added Z37628 to the approved list of implementations
290364
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z27249"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z27249K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Entität"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z27249K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Klasse"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20",
"Z27257",
"Z27260",
"Z27269",
"Z27270",
"Z37627"
],
"Z8K4": [
"Z14",
"Z27264",
"Z29551",
"Z37628"
],
"Z8K5": "Z27249"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Deutscher Instanziierungssatz mit Artikel"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "German instantiating sentence with article"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
1razaclc1bukdjjp4v6t0zwh6kt6fxi
290365
290364
2026-07-11T14:49:51Z
Dv103
11127
Removed Z27264 e Z29551 from the approved list of implementations
290365
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z27249"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z27249K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Entität"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z27249K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Klasse"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20",
"Z27257",
"Z27260",
"Z27269",
"Z27270",
"Z37627"
],
"Z8K4": [
"Z14",
"Z37628"
],
"Z8K5": "Z27249"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Deutscher Instanziierungssatz mit Artikel"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "German instantiating sentence with article"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
bvq7vsnmx7zaino9x0gj0my3bnl4s1q
290373
290365
2026-07-11T15:20:15Z
Dv103
11127
+it
290373
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z27249"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z27249K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Entität"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "entità"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z27249K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Klasse"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "classe"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20",
"Z27257",
"Z27260",
"Z27269",
"Z27270",
"Z37627"
],
"Z8K4": [
"Z14",
"Z37628"
],
"Z8K5": "Z27249"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Deutscher Instanziierungssatz mit Artikel"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "German instantiating sentence with article"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "soggetto è istanza di, tedesco"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
0eq6tuuebgsuka71g4ezd6gqiqf9smi
290374
290373
2026-07-11T15:20:36Z
Dv103
11127
+en
290374
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z27249"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z27249K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Entität"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "entità"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "entity"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z27249K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Klasse"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "classe"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "class"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20",
"Z27257",
"Z27260",
"Z27269",
"Z27270",
"Z37627"
],
"Z8K4": [
"Z14",
"Z37628"
],
"Z8K5": "Z27249"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Deutscher Instanziierungssatz mit Artikel"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "German instantiating sentence with article"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "soggetto è istanza di, tedesco"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
p0rzm6kxcdq40oovohmldpjsr0hucvf
Z27283
0
63378
290369
278920
2026-07-11T15:09:23Z
Dv103
11127
Added Z37629 to the approved list of test cases
290369
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z27283"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z27283K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "entity"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "entité"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z27283K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "class"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "classe"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z37629"
],
"Z8K4": [
"Z14",
"Z27284"
],
"Z8K5": "Z27283"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Korean article-less instantiating sentence"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "création d'une phrase sans article en coréen"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "E.g. \"부산은 도시다.\" or \"물은 물질이다.\""
}
]
}
}
cxd9x6pndsdvhihh12lx3aikzr2hk2f
Z27284
0
63394
290367
209859
2026-07-11T15:08:04Z
Dv103
11127
removed redundant "
290367
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z27284"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z27283",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z21394",
"Z21394K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z12787",
"Z12787K1": {
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z27283K1"
},
"Z23753K2": "Z1643"
}
},
" ",
{
"Z1K1": "Z7",
"Z7K1": "Z23753",
"Z23753K1": {
"Z1K1": "Z18",
"Z18K1": "Z27283K2"
},
"Z23753K2": "Z1643"
},
"이다"
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Simple composition for Z27283"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
pbljmeioe5zjd7hfq1p6oghp5dv9pb3
Z29551
0
68742
290376
229421
2026-07-11T15:27:11Z
Warudo
6974
Porting the fix from [[Z37628]]
290376
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z29551"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z27249",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": "Z1430",
"Z26107K2": {
"Z1K1": "Z7",
"Z7K1": "Z21394",
"Z21394K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z20643",
"Z20643K1": {
"Z1K1": "Z7",
"Z7K1": "Z22696",
"Z22696K1": {
"Z1K1": "Z18",
"Z18K1": "Z27249K1"
},
"Z22696K2": "Z1430"
}
},
"Z802K2": "Eine ",
"Z802K3": "Ein "
},
{
"Z1K1": "Z7",
"Z7K1": "Z19241",
"Z19241K1": {
"Z1K1": "Z7",
"Z7K1": "Z22696",
"Z22696K1": {
"Z1K1": "Z18",
"Z18K1": "Z27249K1"
},
"Z22696K2": "Z1430"
},
"Z19241K2": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q131105"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q110786"
}
]
},
" ist ",
{
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z20643",
"Z20643K1": {
"Z1K1": "Z7",
"Z7K1": "Z22696",
"Z22696K1": {
"Z1K1": "Z18",
"Z18K1": "Z27249K2"
},
"Z22696K2": "Z1430"
}
},
"Z802K2": "eine ",
"Z802K3": "ein "
},
{
"Z1K1": "Z7",
"Z7K1": "Z19241",
"Z19241K1": {
"Z1K1": "Z7",
"Z7K1": "Z22696",
"Z22696K1": {
"Z1K1": "Z18",
"Z18K1": "Z27249K2"
},
"Z22696K2": "Z1430"
},
"Z19241K2": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q131105"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q110786"
}
]
},
"."
]
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Deutscher Instanziierungssatz mit Artikel, Lexem"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
rmkk5u33ber85fdvc04pd2p17l95ny1
Z32582
0
78832
290446
268675
2026-07-12T05:36:40Z
Autom
448
290446
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32582"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32581",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z34039",
"Z34039K1": {
"Z1K1": "Z7",
"Z7K1": "Z14310",
"Z14310K1": "Z32534",
"Z14310K2": {
"Z1K1": "Z18",
"Z18K1": "Z32581K4"
}
},
"Z34039K2": {
"Z1K1": "Z18",
"Z18K1": "Z32581K1"
},
"Z34039K3": {
"Z1K1": "Z18",
"Z18K1": "Z32581K2"
},
"Z34039K4": {
"Z1K1": "Z18",
"Z18K1": "Z32581K3"
},
"Z34039K5": {
"Z1K1": "Z18",
"Z18K1": "Z32581K4"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Creative work: entity, class, creator, composition"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "Oeuvre de l'esprit: entité classe auteur, compo."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "kreativt verk: entitet, typ, skapare, komposition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
5tpm6z1lxalkct6ym9flq0kiscqlzk3
Z32855
0
79289
290442
263359
2026-07-12T05:28:32Z
Autom
448
290442
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32855"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32855K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "entity"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "entitet"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32855K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "class"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "typ"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32855K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "location"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "plats"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20",
"Z32856",
"Z32857",
"Z32924"
],
"Z8K4": [
"Z14",
"Z32858"
],
"Z8K5": "Z32855"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "ange plats med entitet och typ, svenska"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "State location using entity and class, Swedish"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
s0c6ox4dudhbj1l003tr99p3sfnm3kn
290444
290442
2026-07-12T05:34:12Z
Autom
448
Added Z37651 to the approved list of test cases
290444
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32855"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32855K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "entity"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "entitet"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32855K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "class"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "typ"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32855K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "location"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "plats"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20",
"Z32856",
"Z32857",
"Z32924",
"Z37651"
],
"Z8K4": [
"Z14",
"Z32858"
],
"Z8K5": "Z32855"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "ange plats med entitet och typ, svenska"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "State location using entity and class, Swedish"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
915arta1vv2iovhmkt07ehyhfymgu2h
Z32910
0
79422
290447
262031
2026-07-12T05:36:51Z
Autom
448
290447
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32910"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32910K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "entitet"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "entity"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32910K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "typ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "class"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z32910K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "skapare"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "creator"
}
]
}
}
],
"Z8K2": "Z11",
"Z8K3": [
"Z20",
"Z32911",
"Z32912"
],
"Z8K4": [
"Z14",
"Z32913"
],
"Z8K5": "Z32910"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "kreativt verk - entitet, typ, skapare, svenska"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Creative work - entity, class, creator, Swedish"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
pq3ccen9i7yxjh9b7h6gujwo0nijl91
Z32913
0
79425
290448
288892
2026-07-12T05:37:19Z
Autom
448
290448
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32913"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32910",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": "Z1592",
"Z26107K2": {
"Z1K1": "Z7",
"Z7K1": "Z22511",
"Z22511K1": {
"Z1K1": "Z7",
"Z7K1": "Z12899",
"Z12899K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z23468",
"Z23468K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z32910K1"
},
"Z30120K2": [
"Z6030",
"Z6033"
],
"Z30120K3": [
"Z60",
"Z1592"
],
"Z30120K4": [
"Z6092"
]
},
"Z23468K2": "Z1592"
},
"är",
{
"Z1K1": "Z7",
"Z7K1": "Z30349",
"Z30349K1": {
"Z1K1": "Z7",
"Z7K1": "Z19285",
"Z19285K1": {
"Z1K1": "Z7",
"Z7K1": "Z22696",
"Z22696K1": {
"Z1K1": "Z18",
"Z18K1": "Z32910K2"
},
"Z22696K2": "Z1592"
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z23468",
"Z23468K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z32910K2"
},
"Z30120K2": [
"Z6030",
"Z6033"
],
"Z30120K3": [
"Z60",
"Z1592"
],
"Z30120K4": [
"Z6092"
]
},
"Z23468K2": "Z1592"
},
"av",
{
"Z1K1": "Z7",
"Z7K1": "Z23468",
"Z23468K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z32910K3"
},
"Z30120K2": [
"Z6030",
"Z6033"
],
"Z30120K3": [
"Z60",
"Z1592"
],
"Z30120K4": [
"Z6092"
]
},
"Z23468K2": "Z1592"
}
],
"Z12899K2": " "
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "kreativt verk: entitet, typ, skapare, sv, komp"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Creative work: entity, class, creator, sv, compose"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
e9vjx9ysh2ko8srvm6pi024hyyjhud9
Z34510
0
81940
290391
270948
2026-07-11T16:35:12Z
Denny
81
290391
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34510"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6001",
"Z17K2": "Z34510K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "person"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z34513",
"Z34514",
"Z34515",
"Z34516"
],
"Z8K4": [
"Z14",
"Z34511"
],
"Z8K5": "Z34510"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Q5 is male?"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Returns whether the sex or gender of a human Wikidata item returns Q6581097 (male). If human but not male, returns false. If not human, returns false."
}
]
}
}
bmmcljmi69kv65yfud7oclccr28wtcq
Z34541
0
81976
290384
271021
2026-07-11T16:31:44Z
Denny
81
Added Z37630 to the approved list of test cases
290384
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34541"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6001",
"Z17K2": "Z34541K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "item"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z37630"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z34541"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Q5 is female?"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Returns whether the sex or gender of a human Wikidata item returns Q6581072 (female). If human but not female, returns false. If not human, returns false."
}
]
}
}
msxfcedij79529cvotz7cst071jtap2
290386
290384
2026-07-11T16:32:12Z
Denny
81
Added Z37631 to the approved list of test cases
290386
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34541"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6001",
"Z17K2": "Z34541K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "item"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z37630",
"Z37631"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z34541"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Q5 is female?"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Returns whether the sex or gender of a human Wikidata item returns Q6581072 (female). If human but not female, returns false. If not human, returns false."
}
]
}
}
5twarsouo5icq1163evgx5vo6hh8g3s
290389
290386
2026-07-11T16:34:39Z
Denny
81
290389
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34541"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6001",
"Z17K2": "Z34541K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "person"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z37630",
"Z37631"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z34541"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Q5 is female?"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Returns whether the sex or gender of a human Wikidata item returns Q6581072 (female). If human but not female, returns false. If not human, returns false."
}
]
}
}
h4t761th1a0zjd7uooal4bkhvxuj9iz
290390
290389
2026-07-11T16:34:46Z
Denny
81
Added Z37632 to the approved list of implementations
290390
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34541"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6001",
"Z17K2": "Z34541K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "person"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z37630",
"Z37631"
],
"Z8K4": [
"Z14",
"Z37632"
],
"Z8K5": "Z34541"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Q5 is female?"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Returns whether the sex or gender of a human Wikidata item returns Q6581072 (female). If human but not female, returns false. If not human, returns false."
}
]
}
}
du4h49h5o06x7lbur309jsn0r0t12v0
Z35968
0
84844
290456
279949
2026-07-12T07:50:46Z
HenkvD
1290
Added Z37652 to the approved list of test cases
290456
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z35968"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z35968K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "entity"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z35968K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z89",
"Z8K3": [
"Z20",
"Z37652"
],
"Z8K4": [
"Z14",
"Z35969"
],
"Z8K5": "Z35968"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for film festival"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
8joononvkrewgdjmwke9qrk4xi4oqsa
Z35969
0
84845
290457
288902
2026-07-12T07:52:37Z
HenkvD
1290
layout without caption and headers, with infobox section section
290457
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z35969"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z35968",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z18",
"Z18K1": "Z35968K1"
},
"Z37644K2": "default",
"Z37644K3": {
"Z1K1": "Z18",
"Z18K1": "Z35968K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q6256"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z35968K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z35968K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z35968K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q3406134"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z35968K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z28767",
"Z28767K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z35968K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
},
"Z28767K2": {
"Z1K1": "Z6092",
"Z6092K1": "P571"
},
"Z28767K3": {
"Z1K1": "Z18",
"Z18K1": "Z35968K2"
}
}
}
]
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for film festival, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
3beq4i968hy0y040bhkcz0u1et3pizt
Z35970
0
84848
290460
279966
2026-07-12T07:57:02Z
HenkvD
1290
Added Z37653 to the approved list of test cases
290460
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z35970"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z35970K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "entity"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z35970K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z89",
"Z8K3": [
"Z20",
"Z37653"
],
"Z8K4": [
"Z14",
"Z35971"
],
"Z8K5": "Z35970"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for pride parade"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
3p99p7dr7w8h84rxais98qjam0o3iwm
Z35971
0
84849
290461
288903
2026-07-12T07:58:58Z
HenkvD
1290
new layout without caption, headers with infobox section
290461
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z35971"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z35970",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z18",
"Z18K1": "Z35970K1"
},
"Z37644K2": "default",
"Z37644K3": {
"Z1K1": "Z18",
"Z18K1": "Z35970K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q6256"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z35970K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z35970K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z35970K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q3406134"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z35970K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z28767",
"Z28767K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z35970K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
},
"Z28767K2": {
"Z1K1": "Z6092",
"Z6092K1": "P571"
},
"Z28767K3": {
"Z1K1": "Z18",
"Z18K1": "Z35970K2"
}
}
}
]
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for pride parade, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
1ixjrvofa8kqdid15h49l7p3gwa7fez
Z35973
0
84851
290463
288904
2026-07-12T08:03:27Z
HenkvD
1290
new layout without caption, headers, with infobox section
290463
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z35973"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z35972",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z18",
"Z18K1": "Z35972K1"
},
"Z37644K2": "default",
"Z37644K3": {
"Z1K1": "Z18",
"Z18K1": "Z35972K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q188267"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z35972K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P3966"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z35972K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P3966"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z35972K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q115668563"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z35972K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z28767",
"Z28767K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z35972K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P3966"
}
]
},
"Z28767K2": {
"Z1K1": "Z6092",
"Z6092K1": "P571"
},
"Z28767K3": {
"Z1K1": "Z18",
"Z18K1": "Z35972K2"
}
}
}
]
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for programming language, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
il55pqwa1896a53q7isxs0t08ud4irv
Z35974
0
84852
290465
279973
2026-07-12T08:05:32Z
HenkvD
1290
Added Z37621 to the approved list of test cases
290465
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z35974"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z35974K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "entity"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z35974K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z89",
"Z8K3": [
"Z20",
"Z37621"
],
"Z8K4": [
"Z14",
"Z35975"
],
"Z8K5": "Z35974"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for operating system"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
equ2pc3xcvu21m91e5096xlhnba1hyf
Z35975
0
84853
290466
288905
2026-07-12T08:07:50Z
HenkvD
1290
new layout without cation, headers, with infobox section
290466
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z35975"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z35974",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z18",
"Z18K1": "Z35974K1"
},
"Z37644K2": "default",
"Z37644K3": {
"Z1K1": "Z18",
"Z18K1": "Z35974K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q9143"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z35974K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P277"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z35974K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P277"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z35974K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q115668563"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z35974K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z28767",
"Z28767K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z35974K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P277"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
},
"Z28767K2": {
"Z1K1": "Z6092",
"Z6092K1": "P571"
},
"Z28767K3": {
"Z1K1": "Z18",
"Z18K1": "Z35974K2"
}
}
}
]
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for operating system, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
3uutvmvvk3706qqd433armmxjznestc
Z35976
0
84854
290470
279976
2026-07-12T08:14:39Z
HenkvD
1290
Added Z37654 to the approved list of test cases
290470
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z35976"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z35976K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "entity"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z35976K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z89",
"Z8K3": [
"Z20",
"Z37654"
],
"Z8K4": [
"Z14",
"Z35977"
],
"Z8K5": "Z35976"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for software"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
scl3oixzh7ec8olukpvzdlqd3lbvptu
Z35977
0
84855
290468
288906
2026-07-12T08:12:42Z
HenkvD
1290
new layout without caption, headers, with infobox section
290468
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z35977"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z35976",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z18",
"Z18K1": "Z35976K1"
},
"Z37644K2": "default",
"Z37644K3": {
"Z1K1": "Z18",
"Z18K1": "Z35976K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q9143"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z35976K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P277"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z35976K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P277"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P577"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z35976K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q115668563"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z35976K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z28767",
"Z28767K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z35976K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P277"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P577"
}
]
},
"Z28767K2": {
"Z1K1": "Z6092",
"Z6092K1": "P577"
},
"Z28767K3": {
"Z1K1": "Z18",
"Z18K1": "Z35976K2"
}
}
}
]
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for software, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ronh2usamkjqmzacfjfvgssfitht7el
Z35994
0
84887
290471
288907
2026-07-12T08:21:39Z
HenkvD
1290
new layout without caption, headers, with infobox section
290471
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z35994"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z35993",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z18",
"Z18K1": "Z35993K1"
},
"Z37644K2": "default",
"Z37644K3": {
"Z1K1": "Z18",
"Z18K1": "Z35993K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q2526255"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z35993K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P57"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z35993K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P57"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P577"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z35993K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q1361758"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z35993K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z28767",
"Z28767K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z35993K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P57"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P577"
}
]
},
"Z28767K2": {
"Z1K1": "Z6092",
"Z6092K1": "P577"
},
"Z28767K3": {
"Z1K1": "Z18",
"Z18K1": "Z35993K2"
}
}
}
]
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for film, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
m8kw8eumfdrvwnulun1la8z7l9q3y0a
Z36118
0
85147
290472
288908
2026-07-12T08:24:24Z
HenkvD
1290
new layout without caption, headers, with infobox section
290472
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z36118"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z36117",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z18",
"Z18K1": "Z36117K1"
},
"Z37644K2": "default",
"Z37644K3": {
"Z1K1": "Z18",
"Z18K1": "Z36117K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q6256"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36117K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36117K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36117K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q3406134"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36117K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z28767",
"Z28767K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36117K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
},
"Z28767K2": {
"Z1K1": "Z6092",
"Z6092K1": "P571"
},
"Z28767K3": {
"Z1K1": "Z18",
"Z18K1": "Z36117K2"
}
}
}
]
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for museum, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
lkhm0l9kb927b1w4eodbbsmp5ac68q6
Z36138
0
85213
290473
288909
2026-07-12T08:27:48Z
HenkvD
1290
new layout without caption, headers, with infobox section
290473
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z36138"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z36137",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z18",
"Z18K1": "Z36137K1"
},
"Z37644K2": "default",
"Z37644K3": {
"Z1K1": "Z18",
"Z18K1": "Z36137K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q6256"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36137K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P495"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36137K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P50"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P495"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P577"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36137K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q1361758"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36137K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z28767",
"Z28767K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36137K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P50"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P495"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P577"
}
]
},
"Z28767K2": {
"Z1K1": "Z6092",
"Z6092K1": "P577"
},
"Z28767K3": {
"Z1K1": "Z18",
"Z18K1": "Z36137K2"
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q482980"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36137K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P50"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36137K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P50"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P495"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P577"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36137K2"
}
}
}
}
]
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for literary work, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
hqxhmkltep6r5a7lugwyouv0103gkza
Wikifunctions talk:Type proposals/Semantic unit
5
85515
290377
286701
2026-07-11T15:38:25Z
Dv103
11127
/* Is it necessary to wait for these features? */ new section
290377
wikitext
text/x-wiki
== Other possible types and objects ==
The following are lists of other entities defined in Ninai for the handling of Constructors. They were first assembled with the outputs of various <code>git grep</code> commands on the [https://gitlab.com/mahir256/ninai/ Ninai repository], and notes are provided below each about the nature of that declaration.
Equivalents of many of these will be necessary, but levels of requirement will be marked as the notes below are filled in.
=== Classes ===
* ninai/base/constructor.py: class Constructor(NamedTuple):
** The "semantic unit" type is intended to be equivalent to this class.
* ninai/base/constructorzipper.py: class ArgumentLevel(NamedTuple):
* ninai/base/constructorzipper.py: class ConstructorZipper(NamedTuple):
** [https://gitlab.com/mahir256/ninai/-/blob/main/ninai/base/constructorzipper.py#L26 "Due to the Wikifunctions requirement that all functions be pure functions, (the ConstructorZipper) has been introduced in order to assist the manipulation of (semantic units)."] A similar class was introduced in Udiron for the manipulation of syntactic units. As a result, it should be possible
** ❓ to either return modified inputs cheaply, or [[:w:en:Zipper (data structure)|to create modified versions of persistent data structures cheaply]] and return those. <ref>Returning modified input is as cheap as every function call in Wikifunctions. If the modification is done through composition, using only builtin functions, it can become very cheap (in the order of some milliseconds). This is because in Wikifunctions, object are "immutable" in the sense that they are always copied when passed to functions, and the functions always return another copy. A function that returns a slightly modified version of the input is no different from a function that returns a completely different value. For the zipper, if necessary, a list could be used.</ref>
* ninai/base/interfaces.py: class ArgumentFilter(Protocol):
** Functions satisfying this protocol should produce semantic units (representing different kinds of meaning) as output.
* ninai/base/argumentfilters.py: class ArgumentFilterOptions(NamedTuple):
** Since performance considerations <small>e.g. "any argument after the fourth is kept on the stack instead of moved into a register"</small> and various coding style guides discourage having large numbers of arguments when defining a function, this class exists to hold those when defining a new semantic unit. [https://gitlab.com/mahir256/ninai/-/blob/main/ninai/base/argumentfilters.py#L138 The members of that class are mostly assigned to other objects]. (See also the Wikifunctions requirement that all functions be pure functions.) As a result, it should be possible
** ✅ to cheaply handle large numbers of arguments provided to a function.<ref>Wikifunctions already has [[Z23619|functions with a high number of arguments]], and there are no particular issues with them.</ref>
* ninai/base/rendererarguments.py: class RendererArguments(NamedTuple):
** The desideratum in the previous sub-bullet point also applies here, although this object is passed around and manipulated versions returned across ''lots'' of different rendering steps (both in the base system and in user-defined functions), so it's worth repeating that it should be possible
** ❓ to '''''cheaply''''' handle large numbers of arguments provided to a function.<ref>Again, in Wikifunctions there shouldn't be too much advantage to group many arguments in a single container. If the function is implemented as a composition, there are instead various optimizations that would make it more efficient to scorporate the arguments. Bad performances are still a huge problem for Wikifunctions, for other reasons.</ref>
* ninai/base/interfaces.py: class ArgumentFilterBasis(Protocol):
** This represents one of the arguments of an ArgumentFilterOptions: the function that produces a given type of semantic unit may be wholly tailored to that unit or simply be some other base function (like the [https://gitlab.com/mahir256/ninai/-/blob/main/ninai/base/argumentfilters.py#L23 "default"] and [https://gitlab.com/mahir256/ninai/-/blob/main/ninai/base/argumentfilters.py#L153 "passthrough"] functions). It is actually a partial function application that is stored and called when a semantic unit is provided arguments. As a result, it should be possible
** ❓ to store partial function calls in a semantic unit type-function mapping and use those.<ref>[[Z8|Functions]] are objects like any other on Wikifunctions, and functions like {{Z|Z13036}} and {{Z|Z22074}} do exist. There is currently no standard way to store a partial function call, but with an appropriate convention it should be possible to do.</ref>
* ninai/base/constructormainrenderer.py: class ConstructorMainRenderer(NamedTuple):
* ninai/base/constructorrenderer.py: class ConstructorRenderer(NamedTuple):
* ninai/base/coreargumentprocessor.py: class CoreArgumentProcessor(NamedTuple):
* ninai/base/coreargumentsrenderer.py: class CoreArgumentsRenderer(NamedTuple):
* ninai/base/scopeargumentsrenderer.py: class ScopeArgumentsRenderer(NamedTuple):
** These classes encapsulate each of the steps that are actually run by the base Ninai system during semantic unit rendering, as described in [https://journals.sagepub.com/doi/full/10.3233/SW-243564 §5.1 of my paper]). As a result, it should be possible
** ❌ (🛑?) to run the functions defined by the base system for the rendering process without (in the case where all functions involved are written in Python) having to deal with overhead of serializing/deserializing objects at function call boundaries.<ref>In Wikifunctions, functions are abstract concepts that only define the input and ouput parameters (and all the multilingual labels). Implementations are written in a specific language. One of the core principles of Wikifunctions is that, from the outside, the function should behave the same independently on which implementation is actually running. This means that a function can only pass parameters when calling another function with types than can be serialized and deserializes into Wikifunctions objects. This optimization is not impossible, but it should still be invisible to conform to the core Wikifunctions philosophy.</ref>
* ninai/base/context.py: class ContextEntry(NamedTuple):
* ninai/base/context.py: class Context(NamedTuple):
** [https://journals.sagepub.com/doi/full/10.3233/SW-243564 §4.1.2.: “Contexts” are lists representing where and how deep into a tree of Constructors a particular rendering step is occurring (effectively functioning like a stack trace).] As a result, it should be possible
** ✅ to expand and contract lists of tuples cheaply.<ref>{{Z|Z810}}, {{Z|Z811}}, {{Z|Z812}}, {{Z|Z12961}}, {{Z|Z12964}}, {{Z|Z12967}}</ref>
* ninai/base/framing.py: class MethodKey(NamedTuple):
* ninai/base/framing.py: class FramingKey(NamedTuple):
** These are used for indexing into Framings (see below), with the idea that the value returned from such an indexing is either a function or another Framing object entirely.
* ninai/base/framing.py: class FramingDict(NamedTuple):
* ninai/base/framing.py: class Framing(NamedTuple):
** [https://journals.sagepub.com/doi/full/10.3233/SW-243564 §4.1.2.: “Framings” hold information provided at the start of the Constructor rendering process to control the behavior of named individual Constructor types, named individual Constructors, individual languages, or some combination of all three.]
** The current implementation is largely inspired by the idea of [https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Selectors CSS selectors]; the same sorts of symbols that denote certain features to select for (e.g. ".", "#", ":") may be used in a Framing selector as well.
** To satisfy Python type checkers, and to mitigate the inability to distinguish between e.g. "dict[str]" and "dict[int]" using a Python isinstance() check, keys into Framings (such as MethodKey and FramingKey listed above, along with EntityKey and StrKey from Udiron) distinguish between the possible types of the objects returned. Indexing into a Framing with an EntityKey will yield one of [https://gitlab.com/mahir256/udiron/-/blob/main/udiron/base/functionconfig.py#L158 several possible types] that ''can'' be distinguished by an isinstance() check; likewise with a StrKey yielding a string. As a result, it should be possible
** ✅ to check the types of values returned from arbitrary mappings cheaply.<ref>{{Z|Z16829}} exists and is very efficient.</ref>
* ninai/base/interfaces.py: class PreHook(Protocol):
* ninai/base/interfaces.py: class Renderer(Protocol):
* ninai/base/interfaces.py: class PostHook(Protocol):
* ninai/base/interfaces.py: class ArgPreHook(Protocol):
* ninai/base/interfaces.py: class ArgPostHook(Protocol):
** Functions satisfying these protocols perform each of the steps of the semantic unit rendering process (as described in [https://journals.sagepub.com/doi/full/10.3233/SW-243564 §5.1 of my paper]). As a result, it should be possible
** ✅ to verify that a function in a particular (language, semantic unit type)-to-function mapping has the appropriate function signature.<ref>It is possible to [[Z21177|retrieve the signature of a function]].</ref>
* ninai/base/interfaces.py: class SyntacticRoleFunction(Protocol):
* ninai/base/interfaces.py: class InitialCatenaProcessor(Protocol):
* ninai/base/interfaces.py: class ThematicInflectionAddition(Protocol):
* ninai/base/interfaces.py: class InflectionFunction(Protocol):
* ninai/base/interfaces.py: class ScopeOutputProcessor(Protocol):
* ninai/base/interfaces.py: class ThematicRelationlessProcessor(Protocol):
** The notes in the previous sub-bullet point apply here too; functions matching these protocols perform steps of the process of rendering arbitrary predicates.
* ninai/constructors/contexts/refcontext.py: class RefContextRenderer(NamedTuple):
** The notes in the sub-bullet point two before this one apply here as well. Given that this is created by a specific semantic unit's main renderer, rather than it being part of the base system (it does not live in the 'ninai/base' directory, after all), it should be possible
** ❌ to allow renderers to instantiate encapsulations of the state needed for their execution.
* ninai/base/interfaces.py: class NinaiError(Exception):
** While this is not currently used much yet, it is intended to be saveable/serializable in the event the rendering process needs to be suspended (see "PausedRendererSupply" below), so that the specific source and cause of an error may be introspected. As a result, it should be possible
** ✅ to define arbitrary types of errors/exceptions to be thrown by code implementations.<ref>[[Wikifunctions:How_to_create_implementations#Wikifunctions_error_handling|User-defined errors]] exist on Wikifunctions, and function calls can throw them.</ref>
* ninai/base/interfaces.py: class RenderingPhase(IntEnum):
* ninai/base/interfaces.py: class CoreArgumentProcessingPhase(IntEnum):
** These enumerations were created to keep track of the current state of a type of process (and to indicate from where a suspended version of that process should resume from; see "PausedRendererSupply" below). As a result, it should be possible
** ❌ to keep track of the particular level of a rendering process being executed and to save that tracking information.
* ninai/graph/__init__.py: class FallbackRunner:
** This is instantiated whenever a direct sense link cannot be found and starts the process of running fallback steps specified per language (see "SenseFindingFallback" ff. below).
* ninai/graph/server.py: class GraphServer:
* ninai/graph/server.py: class ServerThread(threading.Thread):
* ninai/graph/server.py: class GraphServerRepl(cmd.Cmd):
** These classes serve as scaffolding for threads that handle remote procedure calls for (NetworkX, but also graph-tool in the past) graph traversals from a starting item/lexeme/sense and return the results of those traversals (https://elemwala-backend.toolforge.org merely runs such threads). While the specific Python implementation need not exist in the same fashion as written, it should still be possible
** ❌ to traverse the full graph of connections between Wikidata entities having certain property links (for instance, to go from one sense to another three "synonym" statements away, or to go from one lexeme to another three "etymology" statements away); the current functions which simply run "haswbstatement:P5137" full-text searches are not sufficient.<ref>[[phab:T424328]]</ref>
* ninai/base/interfaces.py: class CandidatePathNode(TypedDict): # due to XMLRPC serialization, must remain a TypedDict
** This holds two things: (1) a particular entity ID (item/lexeme/sense), and (2) a list of two-item tuples representing the links between the source entity of a traversal and that particular entity ID. If L789-S1 was three "translation" links away from L123-S1, and a traversal is run with L123-S1 as the starting point, then the CandidatePathNode for L789-S1 would have as its second element a list of three two-item tuples (for each of the three links). As a result, it should be possible
** ❌ to return not only entities linked to a given entity, but the (shortest) path between a source entity and that given entity, as part of a traversal.
* ninai/base/interfaces.py: class SenseRefinement(Protocol):
** Functions satisfying this Protocol simply take a list of candidate senses (with paths from a source concept to those senses) and then return a version of that list according to some criterion (possibly based on configuration options provided).
* ninai/graph/client.py: class CandidateProcessor:
** This class actually goes through a list of candidate senses for a given concept and iteratively yields lexemes based on those senses. (It is not used if there are no candidate senses for that concept and fallback functions must be run instead.)
* ninai/base/pausedrenderersupply.py: class PausedRendererSupply(NamedTuple):
** This class was added to assist in something Maria Keet had asked for once: if a particular grammatical feature is not known at a point in the rendering process, and there isn't a clear way to proceed without knowing it, this should cause the rendering process to be ''paused'' and the user should be allowed to ''supply'' the missing information to the ''renderer'' and resume that process. As a result, it should be possible
** 🛑 to return some state representation, in the event of an error within rendering, that can be resumed with appropriate information provided.<ref>Not possible, since Wikifunctions does not support standard input/output or any user interaction after the function call. In these cases, the function should instead raise an error that describes the issue and prompts the user to integrate the information on Wikidata, if no fallback is possible</ref>
* ninai/base/interfaces.py: class PreHookOperator(NamedTuple):
* ninai/base/interfaces.py: class MainRendererOperator(NamedTuple):
* ninai/base/interfaces.py: class PostHookOperator(NamedTuple):
** These exist merely to define a [[:w:en:Tagged union]] of possible types of functions usable by Ninai during certain rendering steps (see the note for PreHook, Renderer, PostHook above). Following from the previous bullet point, if a particular step is not defined for a language-semantic unit type combination, this should cause the rendering process to be ''paused'' and the user should be allowed to ''supply'' the missing function to the ''renderer'' and resume that process.
* ninai/base/interfaces.py: class CatenaYieldingIterator(Protocol):
** Iterator classes matching this protocol, which otherwise could be reduced to individual functions, exist for a couple of reasons:
**# Because Wikifunctions is based on principles exemplified by Haskell (which is not an implementation language, which has proper tail call optimization, but which does not have 'for' loops), and because Ninai/Udiron is written in Python (which is an implementation language, which does not optimize tail calls<ref>https://neopythonic.blogspot.com/2009/04/tail-recursion-elimination.html</ref>, but which has 'for' loops), such iterators return, in addition to the object they generate, a new iterator starting from the point at which that object was generated.
**# Generators (and thus iterators) are not automatically serializable (indeed, even more comprehensive Python libraries than pickle cannot do so<ref>https://pypi.org/project/dill/</ref>), so these objects manually implement Python's iterator protocol.
** As a result of both of these things, it should be possible
** ❌ to serialize and deserialize the current state of a given sense finding process.
* ninai/graph/client.py: class SenseFindingIterator:
** This represents the main starting point of the sense finding process, and is serializable for the reasons above.
* ninai/base/interfaces.py: class SenseFindingFallback(CatenaYieldingIterator, Protocol):
* ninai/graph/calque.py: class CalqueIterator: # finding equivalents for parts of a complex lexeme in a source language, and reassembling the equivalents in a target language
* ninai/graph/calque.py: class VerboNominalSyntagmaCalque: # in the situation where a verb consists of e.g. (a noun) + "to do"
* ninai/graph/calque.py: class EndocentricCompoundCalque: # in the situation where a noun consists of two other nouns, or an adjective attached to a noun
* ninai/graph/calque.py: class DerivationCalque: # in the situation where a lexeme consists of another lexeme with a derivational affix
* ninai/graph/fallbacks.py: class CatenaZipperListIterator: # returning choices from only a specific list of lexemes
* ninai/graph/cognate.py: class CognateIterator: # returning lexemes in a target language that, via "derived from lexeme" statements, are etymologically related to a lexeme in a source language
* ninai/graph/transcribe.py: class TranscribeIterator: # returning pseudo-lexemes that consist of another lexeme in a source language with its (phonetic/orthographic) representation converted to a target language
* ninai/graph/__init__.py: class CatenaFromItemIdIterator: # simply produces a pseudo-lexeme whose lemma is the item label
** In addition to the notes about "CatenaYieldingIterator" above, these iterators perform fallback steps of different kinds, mainly involving finding parts/equivalents of other lexemes outside the target language.
* ninai/base/interfaces.py: class Constructorify(Protocol): # not used yet, but will be reintroduced soon
* ninai/base/interfaces.py: class Transcribe(Protocol): # actually performs the conversion of a (phonetic/orthographic) representation into a target language
* ninai/base/interfaces.py: class BinominalCompoundCalque(Protocol): # actually reassembles the equivalents of two nouns (or an adjective and a noun)
* ninai/base/interfaces.py: class DerivationalCalqueFunction(Protocol): # actually reassembles the equivalents of a lexeme and an attached affix
** Functions satisfying these protocols perform the steps in the target language of assembling a candidate word or phrase from any found equivalents.
* ninai/renderers/mul.py: class FinalPunctuationFunction(Protocol):
** This simply represents a function that adds some punctuation to a phrase/clause.
=== Type aliases ===
(May be initially incomplete, since not all type aliases may have been marked with the "TypeAlias" type annotation.
* ninai/base/constructorrenderer.py:RenderingPhaseEncapsulator: "TypeAlias" = Union[ConstructorMainRenderer, CoreArgumentsRenderer, ScopeArgumentsRenderer]
** This is the type of the member of a ConstructorRenderer class instance that holds a paused execution state of a rendering phase (see 'PausedRendererSupply' above).
* ninai/base/interfaces.py:ChildIdentifiersMapping: "TypeAlias" = Dict[str, Tuple[Tuple[str, ...], str]]
** This is the type of the 'child identifiers' mapping listed in the box entitled "Excluded from structure above per comments below" on the proposal page.
* ninai/base/interfaces.py:CoreArguments: "TypeAlias" = Dict[str, "Constructor"]
** This is the type of the '''[c]ore arguments''' mapping on the proposal page.
* ninai/base/interfaces.py:ScopeArguments: "TypeAlias" = List["Constructor"]
** This is the type of the '''[s]cope arguments''' mapping on the proposal page.
* ninai/base/interfaces.py:ThematicRelationSpec: "TypeAlias" = Dict[str, Statement]
** Essentially this holds the {{P|9971}} statements on a verb sense as values, with the item IDs of the semantic arguments themselves as keys.
* ninai/base/interfaces.py:NonConstructorTypeArguments: "TypeAlias" = Union[
** The members of this union type are [[Z6001]], [[Z6005]], [[Z6004]], [[Z6006]], FunctionConfig and "ItemList" (see [[Wikifunctions talk:Type proposals/Syntactic unit]] for more on those), and "Framing", "NinaiError", and "PausedRendererSupply" (see above).
* ninai/base/interfaces.py:ConstructorArgument: "TypeAlias" = Union["Constructor", NonConstructorTypeArguments]
** A distinction is made in semantic unit processing between arguments that are themselves semantic units and those which are not (as noted by the existence of mappings for scope arguments and "other" arguments).
* ninai/base/interfaces.py:ConstructorArguments: "TypeAlias" = Sequence[ConstructorArgument]
** This is a list of objects each of which is one of the types listed in the above bullet point.
* ninai/graph/server.py:EntityGraph: TypeAlias = "nx.MultiDiGraph[str]"
** This is the type of the actual sense graph that is built up as more concepts are requested during the rendering process. Individual nodes of the graph do not get refreshed on each request; usually a connected component is deleted only after a certain configurable amount of time has passed.
=== Other objects ===
Some rough equivalents for the types named in the annotations below:
* Dict = [[Z883]]
* Set = (no equivalent, maybe [[Z883]] with [[Z1]] keys and [[Z41]] as the only value?)
* List = [[Z881]]
* Language = [[Z60]]
(May be initially incomplete, since this is basically a list of entities not falling into any of the above types.)
* ninai/base/constructorinterfaces.py:__constructor_argument_filters__: Dict[str, "ArgumentFilter"] = {}
** This is the "[m]apping from '''Constructor types''' to '''argument filter functions'''" listed on the proposal page.
* ninai/base/constructorinterfaces.py:__constructor_core_arguments__: Dict[str, List[str]] = {}
** This is the "[m]apping from '''Constructor types''' to '''lists of names''' for core arguments" listed on the proposal page.
* ninai/base/constructorinterfaces.py:__constructor_type_hierarchy__: Dict[str, List[str]] = {}
** This is the "[m]apping from '''Constructor types''' to any parent '''Constructor types'''" listed on the proposal page.
* ninai/base/constructorinterfaces.py:__constructor_docstrings__: Dict[str, str] = {}
** (Ideally this mapping will not be necessary, since there should be ways of adding extended structured documentation to functions.)
* ninai/base/constructorinterfaces.py:__config_insulators__: Set[str] = set()
* ninai/base/constructorinterfaces.py:__config_setters__: Set[str] = set()
* ninai/base/constructorinterfaces.py:__unfiltered_framing_constructors__: Set[str] = set()
** These are lists of semantic unit types that have particular behaviors during the execution of certain rendering functions. Ideally anyone should be able to define and fill in more of these mappings and refer to them during various rendering function steps.
* ninai/graph/__init__.py:__fallback_chains__: DefaultDict[Language, DefaultDict[str, List[str]]] = defaultdict(lambda: defaultdict(list))
** This maps a language and a sense type (currently "substantive", "predicate", or "demonym" depending on the properties used when traversing the sense network) to the sorts of fallback functions that should be tried if a lexeme with that sense type is not available for a concept. For instance, French may be fine transcribing other languages' lexemes when finding a substantive (so that 'transcribe' is in French's "substantive" fallback chain), but it may not be fine doing so for predicates (so that 'transcribe' wouldn't be in French's "predicate" fallback chain).
* ninai/graph/__init__.py:__fallback_chain_types__: Dict[str, Type[i.SenseFindingFallback]] = {...}
** This is a mapping from string names of fallback functions to the fallback functions themselves. (It is these string names that are stored in __fallback_chains__.)
* ninai/graph/client.py:__language_range__: Dict[Language, Tuple[tfsli.Qid, ...]] = {}
** This is a list of languages whose lexemes, prior to any fallback steps, should be considered when selecting a sense to use from a list of candidate senses. By default the value for any arbitrary language is its fallback chain used in other circumstances (like choosing rendering functions: see [[Wikifunctions talk:Type proposals/Syntactic unit]] for more on __language_fallbacks__), but of course a language may decide that it can use lexemes from another language without also using functions defined for that language.
* ninai/renderers/__mappings__.py:__renderers__: DefaultDict[str, Dict["Language", "Renderer"]] = defaultdict(dict)
** This is the "[m]apping from '''Constructor type-language pairs''' to '''rendering functions'''" listed on the proposal page.
* ninai/renderers/__mappings__.py:__arg_pre_hooks__: DefaultDict[str, DefaultDict[str, Dict["Language", "ArgPreHook"]]] = defaultdict(lambda: defaultdict(dict))
* ninai/renderers/__mappings__.py:__arg_post_hooks__: DefaultDict[str, DefaultDict[str, Dict["Language", "ArgPostHook"]]] = defaultdict(lambda: defaultdict(dict))
* ninai/renderers/__mappings__.py:__pre_hooks__: DefaultDict[str, Dict["Language", "PreHook"]] = defaultdict(dict)
* ninai/renderers/__mappings__.py:__post_hooks__: DefaultDict[str, Dict["Language", "PostHook"]] = defaultdict(dict)
** These are the "few more global mappings that could be listed here" noted on the proposal page. (See above sections for what ArgPreHook, ArgPostHook, PreHook, and PostHook do.)
* ninai/renderers/__mappings__.py:__sense_refines__: Dict["Language", "SenseRefinement"] = {}
** This maps languages to functions that take lists of candidate senses and filter them.
* ninai/renderers/__mappings__.py:__syntactic_role_functions__: DefaultDict[str, Dict["Language", "SyntacticRoleFunction"]] = defaultdict(dict)
* ninai/renderers/__mappings__.py:__initial_catena_processors__: Dict["Language", "InitialCatenaProcessor"] = {}
* ninai/renderers/__mappings__.py:__thematic_inflection_additions__: Dict["Language", "ThematicInflectionAddition"] = {}
* ninai/renderers/__mappings__.py:__inflection_functions__: Dict["Language", "InflectionFunction"] = {}
* ninai/renderers/__mappings__.py:__scope_output_processors__: Dict["Language", "ScopeOutputProcessor"] = {}
* ninai/renderers/__mappings__.py:__thematic_relationless_processors__: Dict["Language", "ThematicRelationlessProcessor"] = {}
** These mappings are used by the renderer of the {{Q|179080}} semantic unit type for various steps.
* ninai/renderers/__mappings__.py:__constructorifies__: Dict["Language", "Constructorify"] = {}
* ninai/renderers/__mappings__.py:__transcribes__: Dict["Language", "Transcribe"] = {}
* ninai/renderers/__mappings__.py:__binominal_calques__: Dict["Language", "BinominalCompoundCalque"] = {}
* ninai/renderers/__mappings__.py:__derivation_calques__: Dict["Language", "DerivationalCalqueFunction"] = {}
** These hold mappings from languages to individual fallback functions.
* ninai/renderers/mul.py:__full_stop_overrides__: Dict[Language, FinalPunctuationFunction] = {}
** This holds mappings from languages to functions that add punctuation in them.
<references/>
== Missing Wikifunctions features for this type ==
@[[User:Mahir256|Mahir256]] What are the currently missing features of Wikifunctions that are necessary to actually implement this type? Which of these are fundamental, and which are just useful to port the code directly from Ninai? It could be useful to have them all listed in one place. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 17:36, 16 June 2026 (UTC)
*{{re|Dv103|Denny|DVrandecic (WMF)}} I have started assembling those above, where explanations are given for different classes' existence, and particular desiderata for implementation are given with a ❌ (any of which you're welcome to change to a ✅ if there is evidence that the thing described is possible). I leave it to you to decide which are 'fundamental' versus 'just useful'. [[User:Mahir256|Mahir256]] ([[User talk:Mahir256|talk]]) 22:58, 22 June 2026 (UTC)
*:A thing about sets: what is the issue in using {{Z|Z881}} to encode them? Wikifunctions already contains lists that are treated as sets. We already have functions to treat typed list as if they were sets (i.e., ignoring the order). Also consider that, under the hood, {{Z|Z883}} is just a wrapper for a {{Z|Z881}} of {{Z|Z882}}. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 07:54, 23 June 2026 (UTC)
*::{{re|Dv103}} That definition of Z883 sounds like lots of operations involving maps would be inefficient; maps are not generally ordered except as an implementation detail, and if the typed lists in question ''are'' ordered then operations like lookup, insertion, and comparison take longer on average. Recasting a list so that operations independent of order may be performed should not be the responsibility of an ''individual function'' if the ''type'' itself can be kept inherently unordered in the first place. [[User:Mahir256|Mahir256]] ([[User talk:Mahir256|talk]]) 22:18, 26 June 2026 (UTC)
*:::We should at first separate two concepts: inside a code implementation, the implementation is free to use whatever type is available in the given programming language for internal calculations (and in the case of Python, all the standard library is also available), so in this case the problem doesn't present. For communication between Wikifunctions functions, object are instead passed around through [[Wikifunctions:Function model|JSON Zobject representations]]. This means that it is not possible to actually pass around actual "maps" or "sets" in your sense, since the JSON object representation does not support them; the best we can do with maps is to encode them as a list of pairs, since lists are instead supported in JSON. Functions like {{Z|Z12696}}, {{Z|Z810}}, {{Z|Z12856}}, that allow to handle lists as if they were sets, already exist.
*:::Wikifunctions is very inefficient. Here a functions that requires less that 50 ms are very efficient (and only builtin implementations can achieve this), and typical functions require hundreds of milliseconds to execute. Much of this execution time is structural, due to how function execution works. What you are asking is nanoseconds optimizations, which are completely irrelevant in the context of Wikifunctions. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 07:28, 27 June 2026 (UTC)
== Some questions about the desiderata ==
@[[User:Mahir256|Mahir256]] I am trying to categorize all the desiderata (I also added two symbols: ❓ means that the possibility is doubt, and 🛑 means that the features is not necessary/should not be implemented). I have a copule of questions:
# What does "expand and contract lists of tuples" mean? What is an expansion/contraction?
# In the expression "to allow renderers to instantiate encapsulations of the state needed for their execution", what sort of encapsulation? For what purpose?
# For the "CatenaYieldingIterator" class: is it actually necessary to use yields/iterators? These constructions are very idiomatic to Python, and do not fit well with the logic that usually Wikifunctions implementation follow. Is it possible to rewrite the code using a more straightforward if-else tree?
[[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:29, 23 June 2026 (UTC)
:{{re|Dv103}}
:# Push/pop, append/pop, push_back/pop_back, you name it: simply adding to and removing from the end of the list of tuples.
:# In a class like [https://gitlab.com/mahir256/ninai/-/blob/main/ninai/base/constructormainrenderer.py#L23 ConstructorMainRenderer], there are pieces of information that are retained across [https://gitlab.com/mahir256/ninai/-/blob/main/ninai/base/constructorrenderer.py#L252 calls to its methods] (these pieces of information being, according to that link, the actual semantic unit being rendered, the arguments to the main rendering function, the choice of rendering function, the output from that rendering function, and--if execution should stop for some reason--the particular reason that caused execution to stop). Passing these around as arguments everywhere can cause code to become unwieldy, no matter how many tools you have in place to check that they're all provided in the right place.
:# If-else is meant as a [[:w:en:Conditional (computer programming)|conditional statement]]; for loops (and indeed tail recursion) are meant for [[:w:en:Loop_(statement)|iteration]]. How should looking through a list of senses for an equivalent be done if the system cannot always determine what the initial list is or what processing steps are to be performed on it? The first of the reasons given for CatenaYieldingIterator's existence is the more important of the two. To my knowledge, iteration constructs akin to for loops or even Common Lisp's loop macro don't exist in composition implementations, and since code implementations can't yet call other functions with code implementations, simply moving any iterative construct into code won't work either. [[User:Mahir256|Mahir256]] ([[User talk:Mahir256|talk]]) 22:11, 26 June 2026 (UTC)
::# Ok thanks.
::# What would it be used for? If I understand correctly, in Ninai, the specific example you pointed me is to allow to resume the execution of the rederer after pausing. In Wikifunctions, functions cannot be paused and then resumed.
::# Wikifunctions compositions support recursion, meaning that they are Turing-complete, and thus it can technically execute whatever operation is currently handled in Python through iterators. My actual question is: are iterators so fundamental that rewriting the code without their use would be so inelegant and convoluted, or is it possible to rewrite the code in another fashon in a reasonable manner? No matter what, the implementation of the iterator logic in Wikifunctions, albeit technically possible (due to the Turing-completeness and the presence of types like {{Z|Z881}} and {{Z|Z883}} that could in theory be used to encode arbitrary data) would always be conterintuitive and very inelegant.
::[[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:00, 27 June 2026 (UTC)
== Is it necessary to wait for these features? ==
@[[User:Mahir256|Mahir256]] @[[User:DVrandecic (WMF)|DVrandecic (WMF)]] @[[User:Denny|Denny]] Is it necessary to wait for the implementation of these features before creating the Semantic unit and Syntactic unit types? I see that these are not intrinsically fundamental for the implementation and the use of these types, but they are only necessary to import all the Ninai (and Udiron) code directly in Wikifunctions. I am skeptical that the direct import of a project written in Python, using Python idiomatic features like iterators, is desirable in the first place, favoring instead a translation of the code in order to adhere to the logical structures more idiomatic to Wikifunctions.
My main concern is that some of these features are very substantial (and currently not prioritized), and it would likely take years to implement all of them (assuming that they are all implemented; again, the iterator logic does not fit well with the Wikifunctions functional paradigm). [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:38, 11 July 2026 (UTC)
2xvi6xgwf40uql3hw2elaxcpexb9plw
290378
290377
2026-07-11T15:48:11Z
Denny
81
/* Is it necessary to wait for these features? */ Reply
290378
wikitext
text/x-wiki
== Other possible types and objects ==
The following are lists of other entities defined in Ninai for the handling of Constructors. They were first assembled with the outputs of various <code>git grep</code> commands on the [https://gitlab.com/mahir256/ninai/ Ninai repository], and notes are provided below each about the nature of that declaration.
Equivalents of many of these will be necessary, but levels of requirement will be marked as the notes below are filled in.
=== Classes ===
* ninai/base/constructor.py: class Constructor(NamedTuple):
** The "semantic unit" type is intended to be equivalent to this class.
* ninai/base/constructorzipper.py: class ArgumentLevel(NamedTuple):
* ninai/base/constructorzipper.py: class ConstructorZipper(NamedTuple):
** [https://gitlab.com/mahir256/ninai/-/blob/main/ninai/base/constructorzipper.py#L26 "Due to the Wikifunctions requirement that all functions be pure functions, (the ConstructorZipper) has been introduced in order to assist the manipulation of (semantic units)."] A similar class was introduced in Udiron for the manipulation of syntactic units. As a result, it should be possible
** ❓ to either return modified inputs cheaply, or [[:w:en:Zipper (data structure)|to create modified versions of persistent data structures cheaply]] and return those. <ref>Returning modified input is as cheap as every function call in Wikifunctions. If the modification is done through composition, using only builtin functions, it can become very cheap (in the order of some milliseconds). This is because in Wikifunctions, object are "immutable" in the sense that they are always copied when passed to functions, and the functions always return another copy. A function that returns a slightly modified version of the input is no different from a function that returns a completely different value. For the zipper, if necessary, a list could be used.</ref>
* ninai/base/interfaces.py: class ArgumentFilter(Protocol):
** Functions satisfying this protocol should produce semantic units (representing different kinds of meaning) as output.
* ninai/base/argumentfilters.py: class ArgumentFilterOptions(NamedTuple):
** Since performance considerations <small>e.g. "any argument after the fourth is kept on the stack instead of moved into a register"</small> and various coding style guides discourage having large numbers of arguments when defining a function, this class exists to hold those when defining a new semantic unit. [https://gitlab.com/mahir256/ninai/-/blob/main/ninai/base/argumentfilters.py#L138 The members of that class are mostly assigned to other objects]. (See also the Wikifunctions requirement that all functions be pure functions.) As a result, it should be possible
** ✅ to cheaply handle large numbers of arguments provided to a function.<ref>Wikifunctions already has [[Z23619|functions with a high number of arguments]], and there are no particular issues with them.</ref>
* ninai/base/rendererarguments.py: class RendererArguments(NamedTuple):
** The desideratum in the previous sub-bullet point also applies here, although this object is passed around and manipulated versions returned across ''lots'' of different rendering steps (both in the base system and in user-defined functions), so it's worth repeating that it should be possible
** ❓ to '''''cheaply''''' handle large numbers of arguments provided to a function.<ref>Again, in Wikifunctions there shouldn't be too much advantage to group many arguments in a single container. If the function is implemented as a composition, there are instead various optimizations that would make it more efficient to scorporate the arguments. Bad performances are still a huge problem for Wikifunctions, for other reasons.</ref>
* ninai/base/interfaces.py: class ArgumentFilterBasis(Protocol):
** This represents one of the arguments of an ArgumentFilterOptions: the function that produces a given type of semantic unit may be wholly tailored to that unit or simply be some other base function (like the [https://gitlab.com/mahir256/ninai/-/blob/main/ninai/base/argumentfilters.py#L23 "default"] and [https://gitlab.com/mahir256/ninai/-/blob/main/ninai/base/argumentfilters.py#L153 "passthrough"] functions). It is actually a partial function application that is stored and called when a semantic unit is provided arguments. As a result, it should be possible
** ❓ to store partial function calls in a semantic unit type-function mapping and use those.<ref>[[Z8|Functions]] are objects like any other on Wikifunctions, and functions like {{Z|Z13036}} and {{Z|Z22074}} do exist. There is currently no standard way to store a partial function call, but with an appropriate convention it should be possible to do.</ref>
* ninai/base/constructormainrenderer.py: class ConstructorMainRenderer(NamedTuple):
* ninai/base/constructorrenderer.py: class ConstructorRenderer(NamedTuple):
* ninai/base/coreargumentprocessor.py: class CoreArgumentProcessor(NamedTuple):
* ninai/base/coreargumentsrenderer.py: class CoreArgumentsRenderer(NamedTuple):
* ninai/base/scopeargumentsrenderer.py: class ScopeArgumentsRenderer(NamedTuple):
** These classes encapsulate each of the steps that are actually run by the base Ninai system during semantic unit rendering, as described in [https://journals.sagepub.com/doi/full/10.3233/SW-243564 §5.1 of my paper]). As a result, it should be possible
** ❌ (🛑?) to run the functions defined by the base system for the rendering process without (in the case where all functions involved are written in Python) having to deal with overhead of serializing/deserializing objects at function call boundaries.<ref>In Wikifunctions, functions are abstract concepts that only define the input and ouput parameters (and all the multilingual labels). Implementations are written in a specific language. One of the core principles of Wikifunctions is that, from the outside, the function should behave the same independently on which implementation is actually running. This means that a function can only pass parameters when calling another function with types than can be serialized and deserializes into Wikifunctions objects. This optimization is not impossible, but it should still be invisible to conform to the core Wikifunctions philosophy.</ref>
* ninai/base/context.py: class ContextEntry(NamedTuple):
* ninai/base/context.py: class Context(NamedTuple):
** [https://journals.sagepub.com/doi/full/10.3233/SW-243564 §4.1.2.: “Contexts” are lists representing where and how deep into a tree of Constructors a particular rendering step is occurring (effectively functioning like a stack trace).] As a result, it should be possible
** ✅ to expand and contract lists of tuples cheaply.<ref>{{Z|Z810}}, {{Z|Z811}}, {{Z|Z812}}, {{Z|Z12961}}, {{Z|Z12964}}, {{Z|Z12967}}</ref>
* ninai/base/framing.py: class MethodKey(NamedTuple):
* ninai/base/framing.py: class FramingKey(NamedTuple):
** These are used for indexing into Framings (see below), with the idea that the value returned from such an indexing is either a function or another Framing object entirely.
* ninai/base/framing.py: class FramingDict(NamedTuple):
* ninai/base/framing.py: class Framing(NamedTuple):
** [https://journals.sagepub.com/doi/full/10.3233/SW-243564 §4.1.2.: “Framings” hold information provided at the start of the Constructor rendering process to control the behavior of named individual Constructor types, named individual Constructors, individual languages, or some combination of all three.]
** The current implementation is largely inspired by the idea of [https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Selectors CSS selectors]; the same sorts of symbols that denote certain features to select for (e.g. ".", "#", ":") may be used in a Framing selector as well.
** To satisfy Python type checkers, and to mitigate the inability to distinguish between e.g. "dict[str]" and "dict[int]" using a Python isinstance() check, keys into Framings (such as MethodKey and FramingKey listed above, along with EntityKey and StrKey from Udiron) distinguish between the possible types of the objects returned. Indexing into a Framing with an EntityKey will yield one of [https://gitlab.com/mahir256/udiron/-/blob/main/udiron/base/functionconfig.py#L158 several possible types] that ''can'' be distinguished by an isinstance() check; likewise with a StrKey yielding a string. As a result, it should be possible
** ✅ to check the types of values returned from arbitrary mappings cheaply.<ref>{{Z|Z16829}} exists and is very efficient.</ref>
* ninai/base/interfaces.py: class PreHook(Protocol):
* ninai/base/interfaces.py: class Renderer(Protocol):
* ninai/base/interfaces.py: class PostHook(Protocol):
* ninai/base/interfaces.py: class ArgPreHook(Protocol):
* ninai/base/interfaces.py: class ArgPostHook(Protocol):
** Functions satisfying these protocols perform each of the steps of the semantic unit rendering process (as described in [https://journals.sagepub.com/doi/full/10.3233/SW-243564 §5.1 of my paper]). As a result, it should be possible
** ✅ to verify that a function in a particular (language, semantic unit type)-to-function mapping has the appropriate function signature.<ref>It is possible to [[Z21177|retrieve the signature of a function]].</ref>
* ninai/base/interfaces.py: class SyntacticRoleFunction(Protocol):
* ninai/base/interfaces.py: class InitialCatenaProcessor(Protocol):
* ninai/base/interfaces.py: class ThematicInflectionAddition(Protocol):
* ninai/base/interfaces.py: class InflectionFunction(Protocol):
* ninai/base/interfaces.py: class ScopeOutputProcessor(Protocol):
* ninai/base/interfaces.py: class ThematicRelationlessProcessor(Protocol):
** The notes in the previous sub-bullet point apply here too; functions matching these protocols perform steps of the process of rendering arbitrary predicates.
* ninai/constructors/contexts/refcontext.py: class RefContextRenderer(NamedTuple):
** The notes in the sub-bullet point two before this one apply here as well. Given that this is created by a specific semantic unit's main renderer, rather than it being part of the base system (it does not live in the 'ninai/base' directory, after all), it should be possible
** ❌ to allow renderers to instantiate encapsulations of the state needed for their execution.
* ninai/base/interfaces.py: class NinaiError(Exception):
** While this is not currently used much yet, it is intended to be saveable/serializable in the event the rendering process needs to be suspended (see "PausedRendererSupply" below), so that the specific source and cause of an error may be introspected. As a result, it should be possible
** ✅ to define arbitrary types of errors/exceptions to be thrown by code implementations.<ref>[[Wikifunctions:How_to_create_implementations#Wikifunctions_error_handling|User-defined errors]] exist on Wikifunctions, and function calls can throw them.</ref>
* ninai/base/interfaces.py: class RenderingPhase(IntEnum):
* ninai/base/interfaces.py: class CoreArgumentProcessingPhase(IntEnum):
** These enumerations were created to keep track of the current state of a type of process (and to indicate from where a suspended version of that process should resume from; see "PausedRendererSupply" below). As a result, it should be possible
** ❌ to keep track of the particular level of a rendering process being executed and to save that tracking information.
* ninai/graph/__init__.py: class FallbackRunner:
** This is instantiated whenever a direct sense link cannot be found and starts the process of running fallback steps specified per language (see "SenseFindingFallback" ff. below).
* ninai/graph/server.py: class GraphServer:
* ninai/graph/server.py: class ServerThread(threading.Thread):
* ninai/graph/server.py: class GraphServerRepl(cmd.Cmd):
** These classes serve as scaffolding for threads that handle remote procedure calls for (NetworkX, but also graph-tool in the past) graph traversals from a starting item/lexeme/sense and return the results of those traversals (https://elemwala-backend.toolforge.org merely runs such threads). While the specific Python implementation need not exist in the same fashion as written, it should still be possible
** ❌ to traverse the full graph of connections between Wikidata entities having certain property links (for instance, to go from one sense to another three "synonym" statements away, or to go from one lexeme to another three "etymology" statements away); the current functions which simply run "haswbstatement:P5137" full-text searches are not sufficient.<ref>[[phab:T424328]]</ref>
* ninai/base/interfaces.py: class CandidatePathNode(TypedDict): # due to XMLRPC serialization, must remain a TypedDict
** This holds two things: (1) a particular entity ID (item/lexeme/sense), and (2) a list of two-item tuples representing the links between the source entity of a traversal and that particular entity ID. If L789-S1 was three "translation" links away from L123-S1, and a traversal is run with L123-S1 as the starting point, then the CandidatePathNode for L789-S1 would have as its second element a list of three two-item tuples (for each of the three links). As a result, it should be possible
** ❌ to return not only entities linked to a given entity, but the (shortest) path between a source entity and that given entity, as part of a traversal.
* ninai/base/interfaces.py: class SenseRefinement(Protocol):
** Functions satisfying this Protocol simply take a list of candidate senses (with paths from a source concept to those senses) and then return a version of that list according to some criterion (possibly based on configuration options provided).
* ninai/graph/client.py: class CandidateProcessor:
** This class actually goes through a list of candidate senses for a given concept and iteratively yields lexemes based on those senses. (It is not used if there are no candidate senses for that concept and fallback functions must be run instead.)
* ninai/base/pausedrenderersupply.py: class PausedRendererSupply(NamedTuple):
** This class was added to assist in something Maria Keet had asked for once: if a particular grammatical feature is not known at a point in the rendering process, and there isn't a clear way to proceed without knowing it, this should cause the rendering process to be ''paused'' and the user should be allowed to ''supply'' the missing information to the ''renderer'' and resume that process. As a result, it should be possible
** 🛑 to return some state representation, in the event of an error within rendering, that can be resumed with appropriate information provided.<ref>Not possible, since Wikifunctions does not support standard input/output or any user interaction after the function call. In these cases, the function should instead raise an error that describes the issue and prompts the user to integrate the information on Wikidata, if no fallback is possible</ref>
* ninai/base/interfaces.py: class PreHookOperator(NamedTuple):
* ninai/base/interfaces.py: class MainRendererOperator(NamedTuple):
* ninai/base/interfaces.py: class PostHookOperator(NamedTuple):
** These exist merely to define a [[:w:en:Tagged union]] of possible types of functions usable by Ninai during certain rendering steps (see the note for PreHook, Renderer, PostHook above). Following from the previous bullet point, if a particular step is not defined for a language-semantic unit type combination, this should cause the rendering process to be ''paused'' and the user should be allowed to ''supply'' the missing function to the ''renderer'' and resume that process.
* ninai/base/interfaces.py: class CatenaYieldingIterator(Protocol):
** Iterator classes matching this protocol, which otherwise could be reduced to individual functions, exist for a couple of reasons:
**# Because Wikifunctions is based on principles exemplified by Haskell (which is not an implementation language, which has proper tail call optimization, but which does not have 'for' loops), and because Ninai/Udiron is written in Python (which is an implementation language, which does not optimize tail calls<ref>https://neopythonic.blogspot.com/2009/04/tail-recursion-elimination.html</ref>, but which has 'for' loops), such iterators return, in addition to the object they generate, a new iterator starting from the point at which that object was generated.
**# Generators (and thus iterators) are not automatically serializable (indeed, even more comprehensive Python libraries than pickle cannot do so<ref>https://pypi.org/project/dill/</ref>), so these objects manually implement Python's iterator protocol.
** As a result of both of these things, it should be possible
** ❌ to serialize and deserialize the current state of a given sense finding process.
* ninai/graph/client.py: class SenseFindingIterator:
** This represents the main starting point of the sense finding process, and is serializable for the reasons above.
* ninai/base/interfaces.py: class SenseFindingFallback(CatenaYieldingIterator, Protocol):
* ninai/graph/calque.py: class CalqueIterator: # finding equivalents for parts of a complex lexeme in a source language, and reassembling the equivalents in a target language
* ninai/graph/calque.py: class VerboNominalSyntagmaCalque: # in the situation where a verb consists of e.g. (a noun) + "to do"
* ninai/graph/calque.py: class EndocentricCompoundCalque: # in the situation where a noun consists of two other nouns, or an adjective attached to a noun
* ninai/graph/calque.py: class DerivationCalque: # in the situation where a lexeme consists of another lexeme with a derivational affix
* ninai/graph/fallbacks.py: class CatenaZipperListIterator: # returning choices from only a specific list of lexemes
* ninai/graph/cognate.py: class CognateIterator: # returning lexemes in a target language that, via "derived from lexeme" statements, are etymologically related to a lexeme in a source language
* ninai/graph/transcribe.py: class TranscribeIterator: # returning pseudo-lexemes that consist of another lexeme in a source language with its (phonetic/orthographic) representation converted to a target language
* ninai/graph/__init__.py: class CatenaFromItemIdIterator: # simply produces a pseudo-lexeme whose lemma is the item label
** In addition to the notes about "CatenaYieldingIterator" above, these iterators perform fallback steps of different kinds, mainly involving finding parts/equivalents of other lexemes outside the target language.
* ninai/base/interfaces.py: class Constructorify(Protocol): # not used yet, but will be reintroduced soon
* ninai/base/interfaces.py: class Transcribe(Protocol): # actually performs the conversion of a (phonetic/orthographic) representation into a target language
* ninai/base/interfaces.py: class BinominalCompoundCalque(Protocol): # actually reassembles the equivalents of two nouns (or an adjective and a noun)
* ninai/base/interfaces.py: class DerivationalCalqueFunction(Protocol): # actually reassembles the equivalents of a lexeme and an attached affix
** Functions satisfying these protocols perform the steps in the target language of assembling a candidate word or phrase from any found equivalents.
* ninai/renderers/mul.py: class FinalPunctuationFunction(Protocol):
** This simply represents a function that adds some punctuation to a phrase/clause.
=== Type aliases ===
(May be initially incomplete, since not all type aliases may have been marked with the "TypeAlias" type annotation.
* ninai/base/constructorrenderer.py:RenderingPhaseEncapsulator: "TypeAlias" = Union[ConstructorMainRenderer, CoreArgumentsRenderer, ScopeArgumentsRenderer]
** This is the type of the member of a ConstructorRenderer class instance that holds a paused execution state of a rendering phase (see 'PausedRendererSupply' above).
* ninai/base/interfaces.py:ChildIdentifiersMapping: "TypeAlias" = Dict[str, Tuple[Tuple[str, ...], str]]
** This is the type of the 'child identifiers' mapping listed in the box entitled "Excluded from structure above per comments below" on the proposal page.
* ninai/base/interfaces.py:CoreArguments: "TypeAlias" = Dict[str, "Constructor"]
** This is the type of the '''[c]ore arguments''' mapping on the proposal page.
* ninai/base/interfaces.py:ScopeArguments: "TypeAlias" = List["Constructor"]
** This is the type of the '''[s]cope arguments''' mapping on the proposal page.
* ninai/base/interfaces.py:ThematicRelationSpec: "TypeAlias" = Dict[str, Statement]
** Essentially this holds the {{P|9971}} statements on a verb sense as values, with the item IDs of the semantic arguments themselves as keys.
* ninai/base/interfaces.py:NonConstructorTypeArguments: "TypeAlias" = Union[
** The members of this union type are [[Z6001]], [[Z6005]], [[Z6004]], [[Z6006]], FunctionConfig and "ItemList" (see [[Wikifunctions talk:Type proposals/Syntactic unit]] for more on those), and "Framing", "NinaiError", and "PausedRendererSupply" (see above).
* ninai/base/interfaces.py:ConstructorArgument: "TypeAlias" = Union["Constructor", NonConstructorTypeArguments]
** A distinction is made in semantic unit processing between arguments that are themselves semantic units and those which are not (as noted by the existence of mappings for scope arguments and "other" arguments).
* ninai/base/interfaces.py:ConstructorArguments: "TypeAlias" = Sequence[ConstructorArgument]
** This is a list of objects each of which is one of the types listed in the above bullet point.
* ninai/graph/server.py:EntityGraph: TypeAlias = "nx.MultiDiGraph[str]"
** This is the type of the actual sense graph that is built up as more concepts are requested during the rendering process. Individual nodes of the graph do not get refreshed on each request; usually a connected component is deleted only after a certain configurable amount of time has passed.
=== Other objects ===
Some rough equivalents for the types named in the annotations below:
* Dict = [[Z883]]
* Set = (no equivalent, maybe [[Z883]] with [[Z1]] keys and [[Z41]] as the only value?)
* List = [[Z881]]
* Language = [[Z60]]
(May be initially incomplete, since this is basically a list of entities not falling into any of the above types.)
* ninai/base/constructorinterfaces.py:__constructor_argument_filters__: Dict[str, "ArgumentFilter"] = {}
** This is the "[m]apping from '''Constructor types''' to '''argument filter functions'''" listed on the proposal page.
* ninai/base/constructorinterfaces.py:__constructor_core_arguments__: Dict[str, List[str]] = {}
** This is the "[m]apping from '''Constructor types''' to '''lists of names''' for core arguments" listed on the proposal page.
* ninai/base/constructorinterfaces.py:__constructor_type_hierarchy__: Dict[str, List[str]] = {}
** This is the "[m]apping from '''Constructor types''' to any parent '''Constructor types'''" listed on the proposal page.
* ninai/base/constructorinterfaces.py:__constructor_docstrings__: Dict[str, str] = {}
** (Ideally this mapping will not be necessary, since there should be ways of adding extended structured documentation to functions.)
* ninai/base/constructorinterfaces.py:__config_insulators__: Set[str] = set()
* ninai/base/constructorinterfaces.py:__config_setters__: Set[str] = set()
* ninai/base/constructorinterfaces.py:__unfiltered_framing_constructors__: Set[str] = set()
** These are lists of semantic unit types that have particular behaviors during the execution of certain rendering functions. Ideally anyone should be able to define and fill in more of these mappings and refer to them during various rendering function steps.
* ninai/graph/__init__.py:__fallback_chains__: DefaultDict[Language, DefaultDict[str, List[str]]] = defaultdict(lambda: defaultdict(list))
** This maps a language and a sense type (currently "substantive", "predicate", or "demonym" depending on the properties used when traversing the sense network) to the sorts of fallback functions that should be tried if a lexeme with that sense type is not available for a concept. For instance, French may be fine transcribing other languages' lexemes when finding a substantive (so that 'transcribe' is in French's "substantive" fallback chain), but it may not be fine doing so for predicates (so that 'transcribe' wouldn't be in French's "predicate" fallback chain).
* ninai/graph/__init__.py:__fallback_chain_types__: Dict[str, Type[i.SenseFindingFallback]] = {...}
** This is a mapping from string names of fallback functions to the fallback functions themselves. (It is these string names that are stored in __fallback_chains__.)
* ninai/graph/client.py:__language_range__: Dict[Language, Tuple[tfsli.Qid, ...]] = {}
** This is a list of languages whose lexemes, prior to any fallback steps, should be considered when selecting a sense to use from a list of candidate senses. By default the value for any arbitrary language is its fallback chain used in other circumstances (like choosing rendering functions: see [[Wikifunctions talk:Type proposals/Syntactic unit]] for more on __language_fallbacks__), but of course a language may decide that it can use lexemes from another language without also using functions defined for that language.
* ninai/renderers/__mappings__.py:__renderers__: DefaultDict[str, Dict["Language", "Renderer"]] = defaultdict(dict)
** This is the "[m]apping from '''Constructor type-language pairs''' to '''rendering functions'''" listed on the proposal page.
* ninai/renderers/__mappings__.py:__arg_pre_hooks__: DefaultDict[str, DefaultDict[str, Dict["Language", "ArgPreHook"]]] = defaultdict(lambda: defaultdict(dict))
* ninai/renderers/__mappings__.py:__arg_post_hooks__: DefaultDict[str, DefaultDict[str, Dict["Language", "ArgPostHook"]]] = defaultdict(lambda: defaultdict(dict))
* ninai/renderers/__mappings__.py:__pre_hooks__: DefaultDict[str, Dict["Language", "PreHook"]] = defaultdict(dict)
* ninai/renderers/__mappings__.py:__post_hooks__: DefaultDict[str, Dict["Language", "PostHook"]] = defaultdict(dict)
** These are the "few more global mappings that could be listed here" noted on the proposal page. (See above sections for what ArgPreHook, ArgPostHook, PreHook, and PostHook do.)
* ninai/renderers/__mappings__.py:__sense_refines__: Dict["Language", "SenseRefinement"] = {}
** This maps languages to functions that take lists of candidate senses and filter them.
* ninai/renderers/__mappings__.py:__syntactic_role_functions__: DefaultDict[str, Dict["Language", "SyntacticRoleFunction"]] = defaultdict(dict)
* ninai/renderers/__mappings__.py:__initial_catena_processors__: Dict["Language", "InitialCatenaProcessor"] = {}
* ninai/renderers/__mappings__.py:__thematic_inflection_additions__: Dict["Language", "ThematicInflectionAddition"] = {}
* ninai/renderers/__mappings__.py:__inflection_functions__: Dict["Language", "InflectionFunction"] = {}
* ninai/renderers/__mappings__.py:__scope_output_processors__: Dict["Language", "ScopeOutputProcessor"] = {}
* ninai/renderers/__mappings__.py:__thematic_relationless_processors__: Dict["Language", "ThematicRelationlessProcessor"] = {}
** These mappings are used by the renderer of the {{Q|179080}} semantic unit type for various steps.
* ninai/renderers/__mappings__.py:__constructorifies__: Dict["Language", "Constructorify"] = {}
* ninai/renderers/__mappings__.py:__transcribes__: Dict["Language", "Transcribe"] = {}
* ninai/renderers/__mappings__.py:__binominal_calques__: Dict["Language", "BinominalCompoundCalque"] = {}
* ninai/renderers/__mappings__.py:__derivation_calques__: Dict["Language", "DerivationalCalqueFunction"] = {}
** These hold mappings from languages to individual fallback functions.
* ninai/renderers/mul.py:__full_stop_overrides__: Dict[Language, FinalPunctuationFunction] = {}
** This holds mappings from languages to functions that add punctuation in them.
<references/>
== Missing Wikifunctions features for this type ==
@[[User:Mahir256|Mahir256]] What are the currently missing features of Wikifunctions that are necessary to actually implement this type? Which of these are fundamental, and which are just useful to port the code directly from Ninai? It could be useful to have them all listed in one place. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 17:36, 16 June 2026 (UTC)
*{{re|Dv103|Denny|DVrandecic (WMF)}} I have started assembling those above, where explanations are given for different classes' existence, and particular desiderata for implementation are given with a ❌ (any of which you're welcome to change to a ✅ if there is evidence that the thing described is possible). I leave it to you to decide which are 'fundamental' versus 'just useful'. [[User:Mahir256|Mahir256]] ([[User talk:Mahir256|talk]]) 22:58, 22 June 2026 (UTC)
*:A thing about sets: what is the issue in using {{Z|Z881}} to encode them? Wikifunctions already contains lists that are treated as sets. We already have functions to treat typed list as if they were sets (i.e., ignoring the order). Also consider that, under the hood, {{Z|Z883}} is just a wrapper for a {{Z|Z881}} of {{Z|Z882}}. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 07:54, 23 June 2026 (UTC)
*::{{re|Dv103}} That definition of Z883 sounds like lots of operations involving maps would be inefficient; maps are not generally ordered except as an implementation detail, and if the typed lists in question ''are'' ordered then operations like lookup, insertion, and comparison take longer on average. Recasting a list so that operations independent of order may be performed should not be the responsibility of an ''individual function'' if the ''type'' itself can be kept inherently unordered in the first place. [[User:Mahir256|Mahir256]] ([[User talk:Mahir256|talk]]) 22:18, 26 June 2026 (UTC)
*:::We should at first separate two concepts: inside a code implementation, the implementation is free to use whatever type is available in the given programming language for internal calculations (and in the case of Python, all the standard library is also available), so in this case the problem doesn't present. For communication between Wikifunctions functions, object are instead passed around through [[Wikifunctions:Function model|JSON Zobject representations]]. This means that it is not possible to actually pass around actual "maps" or "sets" in your sense, since the JSON object representation does not support them; the best we can do with maps is to encode them as a list of pairs, since lists are instead supported in JSON. Functions like {{Z|Z12696}}, {{Z|Z810}}, {{Z|Z12856}}, that allow to handle lists as if they were sets, already exist.
*:::Wikifunctions is very inefficient. Here a functions that requires less that 50 ms are very efficient (and only builtin implementations can achieve this), and typical functions require hundreds of milliseconds to execute. Much of this execution time is structural, due to how function execution works. What you are asking is nanoseconds optimizations, which are completely irrelevant in the context of Wikifunctions. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 07:28, 27 June 2026 (UTC)
== Some questions about the desiderata ==
@[[User:Mahir256|Mahir256]] I am trying to categorize all the desiderata (I also added two symbols: ❓ means that the possibility is doubt, and 🛑 means that the features is not necessary/should not be implemented). I have a copule of questions:
# What does "expand and contract lists of tuples" mean? What is an expansion/contraction?
# In the expression "to allow renderers to instantiate encapsulations of the state needed for their execution", what sort of encapsulation? For what purpose?
# For the "CatenaYieldingIterator" class: is it actually necessary to use yields/iterators? These constructions are very idiomatic to Python, and do not fit well with the logic that usually Wikifunctions implementation follow. Is it possible to rewrite the code using a more straightforward if-else tree?
[[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:29, 23 June 2026 (UTC)
:{{re|Dv103}}
:# Push/pop, append/pop, push_back/pop_back, you name it: simply adding to and removing from the end of the list of tuples.
:# In a class like [https://gitlab.com/mahir256/ninai/-/blob/main/ninai/base/constructormainrenderer.py#L23 ConstructorMainRenderer], there are pieces of information that are retained across [https://gitlab.com/mahir256/ninai/-/blob/main/ninai/base/constructorrenderer.py#L252 calls to its methods] (these pieces of information being, according to that link, the actual semantic unit being rendered, the arguments to the main rendering function, the choice of rendering function, the output from that rendering function, and--if execution should stop for some reason--the particular reason that caused execution to stop). Passing these around as arguments everywhere can cause code to become unwieldy, no matter how many tools you have in place to check that they're all provided in the right place.
:# If-else is meant as a [[:w:en:Conditional (computer programming)|conditional statement]]; for loops (and indeed tail recursion) are meant for [[:w:en:Loop_(statement)|iteration]]. How should looking through a list of senses for an equivalent be done if the system cannot always determine what the initial list is or what processing steps are to be performed on it? The first of the reasons given for CatenaYieldingIterator's existence is the more important of the two. To my knowledge, iteration constructs akin to for loops or even Common Lisp's loop macro don't exist in composition implementations, and since code implementations can't yet call other functions with code implementations, simply moving any iterative construct into code won't work either. [[User:Mahir256|Mahir256]] ([[User talk:Mahir256|talk]]) 22:11, 26 June 2026 (UTC)
::# Ok thanks.
::# What would it be used for? If I understand correctly, in Ninai, the specific example you pointed me is to allow to resume the execution of the rederer after pausing. In Wikifunctions, functions cannot be paused and then resumed.
::# Wikifunctions compositions support recursion, meaning that they are Turing-complete, and thus it can technically execute whatever operation is currently handled in Python through iterators. My actual question is: are iterators so fundamental that rewriting the code without their use would be so inelegant and convoluted, or is it possible to rewrite the code in another fashon in a reasonable manner? No matter what, the implementation of the iterator logic in Wikifunctions, albeit technically possible (due to the Turing-completeness and the presence of types like {{Z|Z881}} and {{Z|Z883}} that could in theory be used to encode arbitrary data) would always be conterintuitive and very inelegant.
::[[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:00, 27 June 2026 (UTC)
== Is it necessary to wait for these features? ==
@[[User:Mahir256|Mahir256]] @[[User:DVrandecic (WMF)|DVrandecic (WMF)]] @[[User:Denny|Denny]] Is it necessary to wait for the implementation of these features before creating the Semantic unit and Syntactic unit types? I see that these are not intrinsically fundamental for the implementation and the use of these types, but they are only necessary to import all the Ninai (and Udiron) code directly in Wikifunctions. I am skeptical that the direct import of a project written in Python, using Python idiomatic features like iterators, is desirable in the first place, favoring instead a translation of the code in order to adhere to the logical structures more idiomatic to Wikifunctions.
My main concern is that some of these features are very substantial (and currently not prioritized), and it would likely take years to implement all of them (assuming that they are all implemented; again, the iterator logic does not fit well with the Wikifunctions functional paradigm). [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:38, 11 July 2026 (UTC)
:@[[User:Dv103|Dv103]] I am happy to go forward and create the types. It's really up to Mahir -- he said it wouldn't be useful. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 15:48, 11 July 2026 (UTC)
f4lrgr1fzcwb4nqoj36xudnsh0frvsb
290440
290378
2026-07-12T02:34:42Z
Mahir256
38
/* Is it necessary to wait for these features? */
290440
wikitext
text/x-wiki
== Other possible types and objects ==
The following are lists of other entities defined in Ninai for the handling of Constructors. They were first assembled with the outputs of various <code>git grep</code> commands on the [https://gitlab.com/mahir256/ninai/ Ninai repository], and notes are provided below each about the nature of that declaration.
Equivalents of many of these will be necessary, but levels of requirement will be marked as the notes below are filled in.
=== Classes ===
* ninai/base/constructor.py: class Constructor(NamedTuple):
** The "semantic unit" type is intended to be equivalent to this class.
* ninai/base/constructorzipper.py: class ArgumentLevel(NamedTuple):
* ninai/base/constructorzipper.py: class ConstructorZipper(NamedTuple):
** [https://gitlab.com/mahir256/ninai/-/blob/main/ninai/base/constructorzipper.py#L26 "Due to the Wikifunctions requirement that all functions be pure functions, (the ConstructorZipper) has been introduced in order to assist the manipulation of (semantic units)."] A similar class was introduced in Udiron for the manipulation of syntactic units. As a result, it should be possible
** ❓ to either return modified inputs cheaply, or [[:w:en:Zipper (data structure)|to create modified versions of persistent data structures cheaply]] and return those. <ref>Returning modified input is as cheap as every function call in Wikifunctions. If the modification is done through composition, using only builtin functions, it can become very cheap (in the order of some milliseconds). This is because in Wikifunctions, object are "immutable" in the sense that they are always copied when passed to functions, and the functions always return another copy. A function that returns a slightly modified version of the input is no different from a function that returns a completely different value. For the zipper, if necessary, a list could be used.</ref>
* ninai/base/interfaces.py: class ArgumentFilter(Protocol):
** Functions satisfying this protocol should produce semantic units (representing different kinds of meaning) as output.
* ninai/base/argumentfilters.py: class ArgumentFilterOptions(NamedTuple):
** Since performance considerations <small>e.g. "any argument after the fourth is kept on the stack instead of moved into a register"</small> and various coding style guides discourage having large numbers of arguments when defining a function, this class exists to hold those when defining a new semantic unit. [https://gitlab.com/mahir256/ninai/-/blob/main/ninai/base/argumentfilters.py#L138 The members of that class are mostly assigned to other objects]. (See also the Wikifunctions requirement that all functions be pure functions.) As a result, it should be possible
** ✅ to cheaply handle large numbers of arguments provided to a function.<ref>Wikifunctions already has [[Z23619|functions with a high number of arguments]], and there are no particular issues with them.</ref>
* ninai/base/rendererarguments.py: class RendererArguments(NamedTuple):
** The desideratum in the previous sub-bullet point also applies here, although this object is passed around and manipulated versions returned across ''lots'' of different rendering steps (both in the base system and in user-defined functions), so it's worth repeating that it should be possible
** ❓ to '''''cheaply''''' handle large numbers of arguments provided to a function.<ref>Again, in Wikifunctions there shouldn't be too much advantage to group many arguments in a single container. If the function is implemented as a composition, there are instead various optimizations that would make it more efficient to scorporate the arguments. Bad performances are still a huge problem for Wikifunctions, for other reasons.</ref>
* ninai/base/interfaces.py: class ArgumentFilterBasis(Protocol):
** This represents one of the arguments of an ArgumentFilterOptions: the function that produces a given type of semantic unit may be wholly tailored to that unit or simply be some other base function (like the [https://gitlab.com/mahir256/ninai/-/blob/main/ninai/base/argumentfilters.py#L23 "default"] and [https://gitlab.com/mahir256/ninai/-/blob/main/ninai/base/argumentfilters.py#L153 "passthrough"] functions). It is actually a partial function application that is stored and called when a semantic unit is provided arguments. As a result, it should be possible
** ❓ to store partial function calls in a semantic unit type-function mapping and use those.<ref>[[Z8|Functions]] are objects like any other on Wikifunctions, and functions like {{Z|Z13036}} and {{Z|Z22074}} do exist. There is currently no standard way to store a partial function call, but with an appropriate convention it should be possible to do.</ref>
* ninai/base/constructormainrenderer.py: class ConstructorMainRenderer(NamedTuple):
* ninai/base/constructorrenderer.py: class ConstructorRenderer(NamedTuple):
* ninai/base/coreargumentprocessor.py: class CoreArgumentProcessor(NamedTuple):
* ninai/base/coreargumentsrenderer.py: class CoreArgumentsRenderer(NamedTuple):
* ninai/base/scopeargumentsrenderer.py: class ScopeArgumentsRenderer(NamedTuple):
** These classes encapsulate each of the steps that are actually run by the base Ninai system during semantic unit rendering, as described in [https://journals.sagepub.com/doi/full/10.3233/SW-243564 §5.1 of my paper]). As a result, it should be possible
** ❌ (🛑?) to run the functions defined by the base system for the rendering process without (in the case where all functions involved are written in Python) having to deal with overhead of serializing/deserializing objects at function call boundaries.<ref>In Wikifunctions, functions are abstract concepts that only define the input and ouput parameters (and all the multilingual labels). Implementations are written in a specific language. One of the core principles of Wikifunctions is that, from the outside, the function should behave the same independently on which implementation is actually running. This means that a function can only pass parameters when calling another function with types than can be serialized and deserializes into Wikifunctions objects. This optimization is not impossible, but it should still be invisible to conform to the core Wikifunctions philosophy.</ref>
* ninai/base/context.py: class ContextEntry(NamedTuple):
* ninai/base/context.py: class Context(NamedTuple):
** [https://journals.sagepub.com/doi/full/10.3233/SW-243564 §4.1.2.: “Contexts” are lists representing where and how deep into a tree of Constructors a particular rendering step is occurring (effectively functioning like a stack trace).] As a result, it should be possible
** ✅ to expand and contract lists of tuples cheaply.<ref>{{Z|Z810}}, {{Z|Z811}}, {{Z|Z812}}, {{Z|Z12961}}, {{Z|Z12964}}, {{Z|Z12967}}</ref>
* ninai/base/framing.py: class MethodKey(NamedTuple):
* ninai/base/framing.py: class FramingKey(NamedTuple):
** These are used for indexing into Framings (see below), with the idea that the value returned from such an indexing is either a function or another Framing object entirely.
* ninai/base/framing.py: class FramingDict(NamedTuple):
* ninai/base/framing.py: class Framing(NamedTuple):
** [https://journals.sagepub.com/doi/full/10.3233/SW-243564 §4.1.2.: “Framings” hold information provided at the start of the Constructor rendering process to control the behavior of named individual Constructor types, named individual Constructors, individual languages, or some combination of all three.]
** The current implementation is largely inspired by the idea of [https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Selectors CSS selectors]; the same sorts of symbols that denote certain features to select for (e.g. ".", "#", ":") may be used in a Framing selector as well.
** To satisfy Python type checkers, and to mitigate the inability to distinguish between e.g. "dict[str]" and "dict[int]" using a Python isinstance() check, keys into Framings (such as MethodKey and FramingKey listed above, along with EntityKey and StrKey from Udiron) distinguish between the possible types of the objects returned. Indexing into a Framing with an EntityKey will yield one of [https://gitlab.com/mahir256/udiron/-/blob/main/udiron/base/functionconfig.py#L158 several possible types] that ''can'' be distinguished by an isinstance() check; likewise with a StrKey yielding a string. As a result, it should be possible
** ✅ to check the types of values returned from arbitrary mappings cheaply.<ref>{{Z|Z16829}} exists and is very efficient.</ref>
* ninai/base/interfaces.py: class PreHook(Protocol):
* ninai/base/interfaces.py: class Renderer(Protocol):
* ninai/base/interfaces.py: class PostHook(Protocol):
* ninai/base/interfaces.py: class ArgPreHook(Protocol):
* ninai/base/interfaces.py: class ArgPostHook(Protocol):
** Functions satisfying these protocols perform each of the steps of the semantic unit rendering process (as described in [https://journals.sagepub.com/doi/full/10.3233/SW-243564 §5.1 of my paper]). As a result, it should be possible
** ✅ to verify that a function in a particular (language, semantic unit type)-to-function mapping has the appropriate function signature.<ref>It is possible to [[Z21177|retrieve the signature of a function]].</ref>
* ninai/base/interfaces.py: class SyntacticRoleFunction(Protocol):
* ninai/base/interfaces.py: class InitialCatenaProcessor(Protocol):
* ninai/base/interfaces.py: class ThematicInflectionAddition(Protocol):
* ninai/base/interfaces.py: class InflectionFunction(Protocol):
* ninai/base/interfaces.py: class ScopeOutputProcessor(Protocol):
* ninai/base/interfaces.py: class ThematicRelationlessProcessor(Protocol):
** The notes in the previous sub-bullet point apply here too; functions matching these protocols perform steps of the process of rendering arbitrary predicates.
* ninai/constructors/contexts/refcontext.py: class RefContextRenderer(NamedTuple):
** The notes in the sub-bullet point two before this one apply here as well. Given that this is created by a specific semantic unit's main renderer, rather than it being part of the base system (it does not live in the 'ninai/base' directory, after all), it should be possible
** ❌ to allow renderers to instantiate encapsulations of the state needed for their execution.
* ninai/base/interfaces.py: class NinaiError(Exception):
** While this is not currently used much yet, it is intended to be saveable/serializable in the event the rendering process needs to be suspended (see "PausedRendererSupply" below), so that the specific source and cause of an error may be introspected. As a result, it should be possible
** ✅ to define arbitrary types of errors/exceptions to be thrown by code implementations.<ref>[[Wikifunctions:How_to_create_implementations#Wikifunctions_error_handling|User-defined errors]] exist on Wikifunctions, and function calls can throw them.</ref>
* ninai/base/interfaces.py: class RenderingPhase(IntEnum):
* ninai/base/interfaces.py: class CoreArgumentProcessingPhase(IntEnum):
** These enumerations were created to keep track of the current state of a type of process (and to indicate from where a suspended version of that process should resume from; see "PausedRendererSupply" below). As a result, it should be possible
** ❌ to keep track of the particular level of a rendering process being executed and to save that tracking information.
* ninai/graph/__init__.py: class FallbackRunner:
** This is instantiated whenever a direct sense link cannot be found and starts the process of running fallback steps specified per language (see "SenseFindingFallback" ff. below).
* ninai/graph/server.py: class GraphServer:
* ninai/graph/server.py: class ServerThread(threading.Thread):
* ninai/graph/server.py: class GraphServerRepl(cmd.Cmd):
** These classes serve as scaffolding for threads that handle remote procedure calls for (NetworkX, but also graph-tool in the past) graph traversals from a starting item/lexeme/sense and return the results of those traversals (https://elemwala-backend.toolforge.org merely runs such threads). While the specific Python implementation need not exist in the same fashion as written, it should still be possible
** ❌ to traverse the full graph of connections between Wikidata entities having certain property links (for instance, to go from one sense to another three "synonym" statements away, or to go from one lexeme to another three "etymology" statements away); the current functions which simply run "haswbstatement:P5137" full-text searches are not sufficient.<ref>[[phab:T424328]]</ref>
* ninai/base/interfaces.py: class CandidatePathNode(TypedDict): # due to XMLRPC serialization, must remain a TypedDict
** This holds two things: (1) a particular entity ID (item/lexeme/sense), and (2) a list of two-item tuples representing the links between the source entity of a traversal and that particular entity ID. If L789-S1 was three "translation" links away from L123-S1, and a traversal is run with L123-S1 as the starting point, then the CandidatePathNode for L789-S1 would have as its second element a list of three two-item tuples (for each of the three links). As a result, it should be possible
** ❌ to return not only entities linked to a given entity, but the (shortest) path between a source entity and that given entity, as part of a traversal.
* ninai/base/interfaces.py: class SenseRefinement(Protocol):
** Functions satisfying this Protocol simply take a list of candidate senses (with paths from a source concept to those senses) and then return a version of that list according to some criterion (possibly based on configuration options provided).
* ninai/graph/client.py: class CandidateProcessor:
** This class actually goes through a list of candidate senses for a given concept and iteratively yields lexemes based on those senses. (It is not used if there are no candidate senses for that concept and fallback functions must be run instead.)
* ninai/base/pausedrenderersupply.py: class PausedRendererSupply(NamedTuple):
** This class was added to assist in something Maria Keet had asked for once: if a particular grammatical feature is not known at a point in the rendering process, and there isn't a clear way to proceed without knowing it, this should cause the rendering process to be ''paused'' and the user should be allowed to ''supply'' the missing information to the ''renderer'' and resume that process. As a result, it should be possible
** 🛑 to return some state representation, in the event of an error within rendering, that can be resumed with appropriate information provided.<ref>Not possible, since Wikifunctions does not support standard input/output or any user interaction after the function call. In these cases, the function should instead raise an error that describes the issue and prompts the user to integrate the information on Wikidata, if no fallback is possible</ref>
* ninai/base/interfaces.py: class PreHookOperator(NamedTuple):
* ninai/base/interfaces.py: class MainRendererOperator(NamedTuple):
* ninai/base/interfaces.py: class PostHookOperator(NamedTuple):
** These exist merely to define a [[:w:en:Tagged union]] of possible types of functions usable by Ninai during certain rendering steps (see the note for PreHook, Renderer, PostHook above). Following from the previous bullet point, if a particular step is not defined for a language-semantic unit type combination, this should cause the rendering process to be ''paused'' and the user should be allowed to ''supply'' the missing function to the ''renderer'' and resume that process.
* ninai/base/interfaces.py: class CatenaYieldingIterator(Protocol):
** Iterator classes matching this protocol, which otherwise could be reduced to individual functions, exist for a couple of reasons:
**# Because Wikifunctions is based on principles exemplified by Haskell (which is not an implementation language, which has proper tail call optimization, but which does not have 'for' loops), and because Ninai/Udiron is written in Python (which is an implementation language, which does not optimize tail calls<ref>https://neopythonic.blogspot.com/2009/04/tail-recursion-elimination.html</ref>, but which has 'for' loops), such iterators return, in addition to the object they generate, a new iterator starting from the point at which that object was generated.
**# Generators (and thus iterators) are not automatically serializable (indeed, even more comprehensive Python libraries than pickle cannot do so<ref>https://pypi.org/project/dill/</ref>), so these objects manually implement Python's iterator protocol.
** As a result of both of these things, it should be possible
** ❌ to serialize and deserialize the current state of a given sense finding process.
* ninai/graph/client.py: class SenseFindingIterator:
** This represents the main starting point of the sense finding process, and is serializable for the reasons above.
* ninai/base/interfaces.py: class SenseFindingFallback(CatenaYieldingIterator, Protocol):
* ninai/graph/calque.py: class CalqueIterator: # finding equivalents for parts of a complex lexeme in a source language, and reassembling the equivalents in a target language
* ninai/graph/calque.py: class VerboNominalSyntagmaCalque: # in the situation where a verb consists of e.g. (a noun) + "to do"
* ninai/graph/calque.py: class EndocentricCompoundCalque: # in the situation where a noun consists of two other nouns, or an adjective attached to a noun
* ninai/graph/calque.py: class DerivationCalque: # in the situation where a lexeme consists of another lexeme with a derivational affix
* ninai/graph/fallbacks.py: class CatenaZipperListIterator: # returning choices from only a specific list of lexemes
* ninai/graph/cognate.py: class CognateIterator: # returning lexemes in a target language that, via "derived from lexeme" statements, are etymologically related to a lexeme in a source language
* ninai/graph/transcribe.py: class TranscribeIterator: # returning pseudo-lexemes that consist of another lexeme in a source language with its (phonetic/orthographic) representation converted to a target language
* ninai/graph/__init__.py: class CatenaFromItemIdIterator: # simply produces a pseudo-lexeme whose lemma is the item label
** In addition to the notes about "CatenaYieldingIterator" above, these iterators perform fallback steps of different kinds, mainly involving finding parts/equivalents of other lexemes outside the target language.
* ninai/base/interfaces.py: class Constructorify(Protocol): # not used yet, but will be reintroduced soon
* ninai/base/interfaces.py: class Transcribe(Protocol): # actually performs the conversion of a (phonetic/orthographic) representation into a target language
* ninai/base/interfaces.py: class BinominalCompoundCalque(Protocol): # actually reassembles the equivalents of two nouns (or an adjective and a noun)
* ninai/base/interfaces.py: class DerivationalCalqueFunction(Protocol): # actually reassembles the equivalents of a lexeme and an attached affix
** Functions satisfying these protocols perform the steps in the target language of assembling a candidate word or phrase from any found equivalents.
* ninai/renderers/mul.py: class FinalPunctuationFunction(Protocol):
** This simply represents a function that adds some punctuation to a phrase/clause.
=== Type aliases ===
(May be initially incomplete, since not all type aliases may have been marked with the "TypeAlias" type annotation.
* ninai/base/constructorrenderer.py:RenderingPhaseEncapsulator: "TypeAlias" = Union[ConstructorMainRenderer, CoreArgumentsRenderer, ScopeArgumentsRenderer]
** This is the type of the member of a ConstructorRenderer class instance that holds a paused execution state of a rendering phase (see 'PausedRendererSupply' above).
* ninai/base/interfaces.py:ChildIdentifiersMapping: "TypeAlias" = Dict[str, Tuple[Tuple[str, ...], str]]
** This is the type of the 'child identifiers' mapping listed in the box entitled "Excluded from structure above per comments below" on the proposal page.
* ninai/base/interfaces.py:CoreArguments: "TypeAlias" = Dict[str, "Constructor"]
** This is the type of the '''[c]ore arguments''' mapping on the proposal page.
* ninai/base/interfaces.py:ScopeArguments: "TypeAlias" = List["Constructor"]
** This is the type of the '''[s]cope arguments''' mapping on the proposal page.
* ninai/base/interfaces.py:ThematicRelationSpec: "TypeAlias" = Dict[str, Statement]
** Essentially this holds the {{P|9971}} statements on a verb sense as values, with the item IDs of the semantic arguments themselves as keys.
* ninai/base/interfaces.py:NonConstructorTypeArguments: "TypeAlias" = Union[
** The members of this union type are [[Z6001]], [[Z6005]], [[Z6004]], [[Z6006]], FunctionConfig and "ItemList" (see [[Wikifunctions talk:Type proposals/Syntactic unit]] for more on those), and "Framing", "NinaiError", and "PausedRendererSupply" (see above).
* ninai/base/interfaces.py:ConstructorArgument: "TypeAlias" = Union["Constructor", NonConstructorTypeArguments]
** A distinction is made in semantic unit processing between arguments that are themselves semantic units and those which are not (as noted by the existence of mappings for scope arguments and "other" arguments).
* ninai/base/interfaces.py:ConstructorArguments: "TypeAlias" = Sequence[ConstructorArgument]
** This is a list of objects each of which is one of the types listed in the above bullet point.
* ninai/graph/server.py:EntityGraph: TypeAlias = "nx.MultiDiGraph[str]"
** This is the type of the actual sense graph that is built up as more concepts are requested during the rendering process. Individual nodes of the graph do not get refreshed on each request; usually a connected component is deleted only after a certain configurable amount of time has passed.
=== Other objects ===
Some rough equivalents for the types named in the annotations below:
* Dict = [[Z883]]
* Set = (no equivalent, maybe [[Z883]] with [[Z1]] keys and [[Z41]] as the only value?)
* List = [[Z881]]
* Language = [[Z60]]
(May be initially incomplete, since this is basically a list of entities not falling into any of the above types.)
* ninai/base/constructorinterfaces.py:__constructor_argument_filters__: Dict[str, "ArgumentFilter"] = {}
** This is the "[m]apping from '''Constructor types''' to '''argument filter functions'''" listed on the proposal page.
* ninai/base/constructorinterfaces.py:__constructor_core_arguments__: Dict[str, List[str]] = {}
** This is the "[m]apping from '''Constructor types''' to '''lists of names''' for core arguments" listed on the proposal page.
* ninai/base/constructorinterfaces.py:__constructor_type_hierarchy__: Dict[str, List[str]] = {}
** This is the "[m]apping from '''Constructor types''' to any parent '''Constructor types'''" listed on the proposal page.
* ninai/base/constructorinterfaces.py:__constructor_docstrings__: Dict[str, str] = {}
** (Ideally this mapping will not be necessary, since there should be ways of adding extended structured documentation to functions.)
* ninai/base/constructorinterfaces.py:__config_insulators__: Set[str] = set()
* ninai/base/constructorinterfaces.py:__config_setters__: Set[str] = set()
* ninai/base/constructorinterfaces.py:__unfiltered_framing_constructors__: Set[str] = set()
** These are lists of semantic unit types that have particular behaviors during the execution of certain rendering functions. Ideally anyone should be able to define and fill in more of these mappings and refer to them during various rendering function steps.
* ninai/graph/__init__.py:__fallback_chains__: DefaultDict[Language, DefaultDict[str, List[str]]] = defaultdict(lambda: defaultdict(list))
** This maps a language and a sense type (currently "substantive", "predicate", or "demonym" depending on the properties used when traversing the sense network) to the sorts of fallback functions that should be tried if a lexeme with that sense type is not available for a concept. For instance, French may be fine transcribing other languages' lexemes when finding a substantive (so that 'transcribe' is in French's "substantive" fallback chain), but it may not be fine doing so for predicates (so that 'transcribe' wouldn't be in French's "predicate" fallback chain).
* ninai/graph/__init__.py:__fallback_chain_types__: Dict[str, Type[i.SenseFindingFallback]] = {...}
** This is a mapping from string names of fallback functions to the fallback functions themselves. (It is these string names that are stored in __fallback_chains__.)
* ninai/graph/client.py:__language_range__: Dict[Language, Tuple[tfsli.Qid, ...]] = {}
** This is a list of languages whose lexemes, prior to any fallback steps, should be considered when selecting a sense to use from a list of candidate senses. By default the value for any arbitrary language is its fallback chain used in other circumstances (like choosing rendering functions: see [[Wikifunctions talk:Type proposals/Syntactic unit]] for more on __language_fallbacks__), but of course a language may decide that it can use lexemes from another language without also using functions defined for that language.
* ninai/renderers/__mappings__.py:__renderers__: DefaultDict[str, Dict["Language", "Renderer"]] = defaultdict(dict)
** This is the "[m]apping from '''Constructor type-language pairs''' to '''rendering functions'''" listed on the proposal page.
* ninai/renderers/__mappings__.py:__arg_pre_hooks__: DefaultDict[str, DefaultDict[str, Dict["Language", "ArgPreHook"]]] = defaultdict(lambda: defaultdict(dict))
* ninai/renderers/__mappings__.py:__arg_post_hooks__: DefaultDict[str, DefaultDict[str, Dict["Language", "ArgPostHook"]]] = defaultdict(lambda: defaultdict(dict))
* ninai/renderers/__mappings__.py:__pre_hooks__: DefaultDict[str, Dict["Language", "PreHook"]] = defaultdict(dict)
* ninai/renderers/__mappings__.py:__post_hooks__: DefaultDict[str, Dict["Language", "PostHook"]] = defaultdict(dict)
** These are the "few more global mappings that could be listed here" noted on the proposal page. (See above sections for what ArgPreHook, ArgPostHook, PreHook, and PostHook do.)
* ninai/renderers/__mappings__.py:__sense_refines__: Dict["Language", "SenseRefinement"] = {}
** This maps languages to functions that take lists of candidate senses and filter them.
* ninai/renderers/__mappings__.py:__syntactic_role_functions__: DefaultDict[str, Dict["Language", "SyntacticRoleFunction"]] = defaultdict(dict)
* ninai/renderers/__mappings__.py:__initial_catena_processors__: Dict["Language", "InitialCatenaProcessor"] = {}
* ninai/renderers/__mappings__.py:__thematic_inflection_additions__: Dict["Language", "ThematicInflectionAddition"] = {}
* ninai/renderers/__mappings__.py:__inflection_functions__: Dict["Language", "InflectionFunction"] = {}
* ninai/renderers/__mappings__.py:__scope_output_processors__: Dict["Language", "ScopeOutputProcessor"] = {}
* ninai/renderers/__mappings__.py:__thematic_relationless_processors__: Dict["Language", "ThematicRelationlessProcessor"] = {}
** These mappings are used by the renderer of the {{Q|179080}} semantic unit type for various steps.
* ninai/renderers/__mappings__.py:__constructorifies__: Dict["Language", "Constructorify"] = {}
* ninai/renderers/__mappings__.py:__transcribes__: Dict["Language", "Transcribe"] = {}
* ninai/renderers/__mappings__.py:__binominal_calques__: Dict["Language", "BinominalCompoundCalque"] = {}
* ninai/renderers/__mappings__.py:__derivation_calques__: Dict["Language", "DerivationalCalqueFunction"] = {}
** These hold mappings from languages to individual fallback functions.
* ninai/renderers/mul.py:__full_stop_overrides__: Dict[Language, FinalPunctuationFunction] = {}
** This holds mappings from languages to functions that add punctuation in them.
<references/>
== Missing Wikifunctions features for this type ==
@[[User:Mahir256|Mahir256]] What are the currently missing features of Wikifunctions that are necessary to actually implement this type? Which of these are fundamental, and which are just useful to port the code directly from Ninai? It could be useful to have them all listed in one place. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 17:36, 16 June 2026 (UTC)
*{{re|Dv103|Denny|DVrandecic (WMF)}} I have started assembling those above, where explanations are given for different classes' existence, and particular desiderata for implementation are given with a ❌ (any of which you're welcome to change to a ✅ if there is evidence that the thing described is possible). I leave it to you to decide which are 'fundamental' versus 'just useful'. [[User:Mahir256|Mahir256]] ([[User talk:Mahir256|talk]]) 22:58, 22 June 2026 (UTC)
*:A thing about sets: what is the issue in using {{Z|Z881}} to encode them? Wikifunctions already contains lists that are treated as sets. We already have functions to treat typed list as if they were sets (i.e., ignoring the order). Also consider that, under the hood, {{Z|Z883}} is just a wrapper for a {{Z|Z881}} of {{Z|Z882}}. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 07:54, 23 June 2026 (UTC)
*::{{re|Dv103}} That definition of Z883 sounds like lots of operations involving maps would be inefficient; maps are not generally ordered except as an implementation detail, and if the typed lists in question ''are'' ordered then operations like lookup, insertion, and comparison take longer on average. Recasting a list so that operations independent of order may be performed should not be the responsibility of an ''individual function'' if the ''type'' itself can be kept inherently unordered in the first place. [[User:Mahir256|Mahir256]] ([[User talk:Mahir256|talk]]) 22:18, 26 June 2026 (UTC)
*:::We should at first separate two concepts: inside a code implementation, the implementation is free to use whatever type is available in the given programming language for internal calculations (and in the case of Python, all the standard library is also available), so in this case the problem doesn't present. For communication between Wikifunctions functions, object are instead passed around through [[Wikifunctions:Function model|JSON Zobject representations]]. This means that it is not possible to actually pass around actual "maps" or "sets" in your sense, since the JSON object representation does not support them; the best we can do with maps is to encode them as a list of pairs, since lists are instead supported in JSON. Functions like {{Z|Z12696}}, {{Z|Z810}}, {{Z|Z12856}}, that allow to handle lists as if they were sets, already exist.
*:::Wikifunctions is very inefficient. Here a functions that requires less that 50 ms are very efficient (and only builtin implementations can achieve this), and typical functions require hundreds of milliseconds to execute. Much of this execution time is structural, due to how function execution works. What you are asking is nanoseconds optimizations, which are completely irrelevant in the context of Wikifunctions. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 07:28, 27 June 2026 (UTC)
== Some questions about the desiderata ==
@[[User:Mahir256|Mahir256]] I am trying to categorize all the desiderata (I also added two symbols: ❓ means that the possibility is doubt, and 🛑 means that the features is not necessary/should not be implemented). I have a copule of questions:
# What does "expand and contract lists of tuples" mean? What is an expansion/contraction?
# In the expression "to allow renderers to instantiate encapsulations of the state needed for their execution", what sort of encapsulation? For what purpose?
# For the "CatenaYieldingIterator" class: is it actually necessary to use yields/iterators? These constructions are very idiomatic to Python, and do not fit well with the logic that usually Wikifunctions implementation follow. Is it possible to rewrite the code using a more straightforward if-else tree?
[[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:29, 23 June 2026 (UTC)
:{{re|Dv103}}
:# Push/pop, append/pop, push_back/pop_back, you name it: simply adding to and removing from the end of the list of tuples.
:# In a class like [https://gitlab.com/mahir256/ninai/-/blob/main/ninai/base/constructormainrenderer.py#L23 ConstructorMainRenderer], there are pieces of information that are retained across [https://gitlab.com/mahir256/ninai/-/blob/main/ninai/base/constructorrenderer.py#L252 calls to its methods] (these pieces of information being, according to that link, the actual semantic unit being rendered, the arguments to the main rendering function, the choice of rendering function, the output from that rendering function, and--if execution should stop for some reason--the particular reason that caused execution to stop). Passing these around as arguments everywhere can cause code to become unwieldy, no matter how many tools you have in place to check that they're all provided in the right place.
:# If-else is meant as a [[:w:en:Conditional (computer programming)|conditional statement]]; for loops (and indeed tail recursion) are meant for [[:w:en:Loop_(statement)|iteration]]. How should looking through a list of senses for an equivalent be done if the system cannot always determine what the initial list is or what processing steps are to be performed on it? The first of the reasons given for CatenaYieldingIterator's existence is the more important of the two. To my knowledge, iteration constructs akin to for loops or even Common Lisp's loop macro don't exist in composition implementations, and since code implementations can't yet call other functions with code implementations, simply moving any iterative construct into code won't work either. [[User:Mahir256|Mahir256]] ([[User talk:Mahir256|talk]]) 22:11, 26 June 2026 (UTC)
::# Ok thanks.
::# What would it be used for? If I understand correctly, in Ninai, the specific example you pointed me is to allow to resume the execution of the rederer after pausing. In Wikifunctions, functions cannot be paused and then resumed.
::# Wikifunctions compositions support recursion, meaning that they are Turing-complete, and thus it can technically execute whatever operation is currently handled in Python through iterators. My actual question is: are iterators so fundamental that rewriting the code without their use would be so inelegant and convoluted, or is it possible to rewrite the code in another fashon in a reasonable manner? No matter what, the implementation of the iterator logic in Wikifunctions, albeit technically possible (due to the Turing-completeness and the presence of types like {{Z|Z881}} and {{Z|Z883}} that could in theory be used to encode arbitrary data) would always be conterintuitive and very inelegant.
::[[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:00, 27 June 2026 (UTC)
== Is it necessary to wait for these features? ==
@[[User:Mahir256|Mahir256]] @[[User:DVrandecic (WMF)|DVrandecic (WMF)]] @[[User:Denny|Denny]] Is it necessary to wait for the implementation of these features before creating the Semantic unit and Syntactic unit types? I see that these are not intrinsically fundamental for the implementation and the use of these types, but they are only necessary to import all the Ninai (and Udiron) code directly in Wikifunctions. I am skeptical that the direct import of a project written in Python, using Python idiomatic features like iterators, is desirable in the first place, favoring instead a translation of the code in order to adhere to the logical structures more idiomatic to Wikifunctions.
My main concern is that some of these features are very substantial (and currently not prioritized), and it would likely take years to implement all of them (assuming that they are all implemented; again, the iterator logic does not fit well with the Wikifunctions functional paradigm). [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:38, 11 July 2026 (UTC)
:@[[User:Dv103|Dv103]] I am happy to go forward and create the types. It's really up to Mahir -- he said it wouldn't be useful. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 15:48, 11 July 2026 (UTC)
:{{re|Dv103}} Simply allowing the "intrinsically fundamental", ''without'' the machinery that makes it friendly to create and use, would add to the [[:abstract:Abstract_Wikipedia_talk:Response_to_English_Wikipedia_criticism|current unfriendliness of the existing interface (comment from 17:15, 8 July 2026) and its performance (15:47, 8 July 2026) and community communication (23:02, 8 July 2026)]]. Most, if not all, of the desiderata I named on this page and [[Wikifunctions talk:Type proposals/Syntactic unit|the other one]] are intended to improve the lives of the abstract content's author, the rendering function's programmer, and the generated outputs' assessor, and I have good reasons to believe that the absence of most would be an unnecessary limitation (if not a Procrustean kneecapping) of the site's natural language generation potential. You can continue to take issue with my being influenced by the Python codebase that I wrote, but as long as you cannot demonstrate that the types can support producing equally interesting content on their own (e.g. by providing translations of crucial code samples in the Python codebase into "logical structures more idiomatic to Wikifunctions"), I am inclined to stand by the points that I have brought up regarding that codebase. [[User:Mahir256|Mahir256]] ([[User talk:Mahir256|talk]]) 02:34, 12 July 2026 (UTC)
mtb1gd6i4huy7epy2anc0ogm43fj8ps
Z36283
0
85518
290474
288915
2026-07-12T08:31:49Z
HenkvD
1290
new layout without caption, headers, with infobox section
290474
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z36283"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z36282",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z18",
"Z18K1": "Z36282K1"
},
"Z37644K2": "default",
"Z37644K3": {
"Z1K1": "Z18",
"Z18K1": "Z36282K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q6256"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36282K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36282K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P131"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36282K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q515"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36282K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P131"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36282K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P131"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36282K2"
}
}
}
]
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for sports event, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
l9ozxzt5emhkz32dj1bygjcf7nwaqbp
Z36286
0
85521
290475
288916
2026-07-12T08:34:33Z
HenkvD
1290
new layout without caption, headers, with infobox section
290475
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z36286"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z36285",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z18",
"Z18K1": "Z36285K1"
},
"Z37644K2": "default",
"Z37644K3": {
"Z1K1": "Z18",
"Z18K1": "Z36285K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q6256"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36285K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36285K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36285K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q3406134"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36285K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z28767",
"Z28767K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36285K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
},
"Z28767K2": {
"Z1K1": "Z6092",
"Z6092K1": "P571"
},
"Z28767K3": {
"Z1K1": "Z18",
"Z18K1": "Z36285K2"
}
}
}
]
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for choir, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
7hdqmrpdfyvzshd41q2opisuk3bgjo0
Z36289
0
85524
290476
288917
2026-07-12T08:36:49Z
HenkvD
1290
new layout without caption, headers, with infobox section
290476
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z36289"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z36288",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z18",
"Z18K1": "Z36288K1"
},
"Z37644K2": "default",
"Z37644K3": {
"Z1K1": "Z18",
"Z18K1": "Z36288K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q6256"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36288K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36288K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36288K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q3406134"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36288K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z28767",
"Z28767K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36288K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
},
"Z28767K2": {
"Z1K1": "Z6092",
"Z6092K1": "P571"
},
"Z28767K3": {
"Z1K1": "Z18",
"Z18K1": "Z36288K2"
}
}
}
]
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for community center, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ai6tcybdz2kyvli5zt6tdn6pj1iki4m
Z36291
0
85526
290477
288918
2026-07-12T08:39:15Z
HenkvD
1290
new layout without caption, headers, with infobox section
290477
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z36291"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z36290",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z18",
"Z18K1": "Z36290K1"
},
"Z37644K2": "default",
"Z37644K3": {
"Z1K1": "Z18",
"Z18K1": "Z36290K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q6256"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36290K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36290K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36290K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q3406134"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36290K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z28767",
"Z28767K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36290K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
},
"Z28767K2": {
"Z1K1": "Z6092",
"Z6092K1": "P571"
},
"Z28767K3": {
"Z1K1": "Z18",
"Z18K1": "Z36290K2"
}
}
}
]
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for film award, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
l08q65mfpvznklouyoe1ggksrgtuh2j
Z36297
0
85532
290478
288919
2026-07-12T08:43:26Z
HenkvD
1290
new layout without caption, headers with infobox section
290478
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z36297"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z36296",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z18",
"Z18K1": "Z36296K1"
},
"Z37644K2": "default",
"Z37644K3": {
"Z1K1": "Z18",
"Z18K1": "Z36296K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q6256"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36296K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36296K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36296K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q3406134"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36296K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z28767",
"Z28767K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36296K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
},
"Z28767K2": {
"Z1K1": "Z6092",
"Z6092K1": "P571"
},
"Z28767K3": {
"Z1K1": "Z18",
"Z18K1": "Z36296K2"
}
}
}
]
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for church building, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
f38uj8pe3l5x85i3koekjy0nykd5hhy
Z36324
0
85628
290479
288920
2026-07-12T08:47:01Z
HenkvD
1290
new layout without caption, headers with infobox section
290479
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z36324"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z36323",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z18",
"Z18K1": "Z36323K1"
},
"Z37644K2": "default",
"Z37644K3": {
"Z1K1": "Z18",
"Z18K1": "Z36323K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q6256"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36323K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36323K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36323K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q3406134"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36323K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z28767",
"Z28767K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36323K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
},
"Z28767K2": {
"Z1K1": "Z6092",
"Z6092K1": "P571"
},
"Z28767K3": {
"Z1K1": "Z18",
"Z18K1": "Z36323K2"
}
}
}
]
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for library, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
61haxswp5poslfxlopftdyin27xph1n
Z36326
0
85630
290480
288921
2026-07-12T08:49:27Z
HenkvD
1290
new layout without caption, headers with infobox section
290480
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z36326"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z36325",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z18",
"Z18K1": "Z36325K1"
},
"Z37644K2": "default",
"Z37644K3": {
"Z1K1": "Z18",
"Z18K1": "Z36325K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q6256"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36325K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36325K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P1619"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36325K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q3406134"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36325K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z28767",
"Z28767K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36325K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P1619"
}
]
},
"Z28767K2": {
"Z1K1": "Z6092",
"Z6092K1": "P1619"
},
"Z28767K3": {
"Z1K1": "Z18",
"Z18K1": "Z36325K2"
}
}
}
]
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for historical place, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
crhupv1w4nnlz2e780w67tmpetehdkb
Z36328
0
85632
290481
288922
2026-07-12T08:51:29Z
HenkvD
1290
new layout without caption, headers with infobox section
290481
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z36328"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z36327",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z18",
"Z18K1": "Z36327K1"
},
"Z37644K2": "default",
"Z37644K3": {
"Z1K1": "Z18",
"Z18K1": "Z36327K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q6256"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36327K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36327K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36327K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q3406134"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36327K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z28767",
"Z28767K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36327K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
},
"Z28767K2": {
"Z1K1": "Z6092",
"Z6092K1": "P571"
},
"Z28767K3": {
"Z1K1": "Z18",
"Z18K1": "Z36327K2"
}
}
}
]
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for archives, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
0t0i1fhqnmhnkpapb2b063r4jgmiazh
Z36334
0
85641
290482
288923
2026-07-12T08:53:20Z
HenkvD
1290
new layout without caption, headers with infobox section
290482
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z36334"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z36333",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z18",
"Z18K1": "Z36333K1"
},
"Z37644K2": "default",
"Z37644K3": {
"Z1K1": "Z18",
"Z18K1": "Z36333K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q6256"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36333K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36333K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36333K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q3406134"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36333K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z28767",
"Z28767K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36333K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
},
"Z28767K2": {
"Z1K1": "Z6092",
"Z6092K1": "P571"
},
"Z28767K3": {
"Z1K1": "Z18",
"Z18K1": "Z36333K2"
}
}
}
]
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for magazine, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
9xgzm8tl8642t8155hek22c2ctih1xr
Z36679
0
86220
290425
290350
2026-07-11T21:30:27Z
HenkvD
1290
No caption, no headers
290425
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z36679"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z36678",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37623",
"Z37623K1": {
"Z1K1": "Z18",
"Z18K1": "Z36678K1"
},
"Z37623K2": {
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
"Z37623K3": {
"Z1K1": "Z18",
"Z18K1": "Z36678K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z37623",
"Z37623K1": {
"Z1K1": "Z18",
"Z18K1": "Z36678K1"
},
"Z37623K2": {
"Z1K1": "Z6092",
"Z6092K1": "P421"
},
"Z37623K3": {
"Z1K1": "Z18",
"Z18K1": "Z36678K2"
}
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for city, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
j8cw675ofh28mr603vug1j3rs0z79wp
290426
290425
2026-07-11T21:32:53Z
HenkvD
1290
Entity in a section box
290426
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z36679"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z36678",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z18",
"Z18K1": "Z36678K1"
},
"Z37644K2": "city",
"Z37644K3": {
"Z1K1": "Z18",
"Z18K1": "Z36678K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z37623",
"Z37623K1": {
"Z1K1": "Z18",
"Z18K1": "Z36678K1"
},
"Z37623K2": {
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
"Z37623K3": {
"Z1K1": "Z18",
"Z18K1": "Z36678K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z37623",
"Z37623K1": {
"Z1K1": "Z18",
"Z18K1": "Z36678K1"
},
"Z37623K2": {
"Z1K1": "Z6092",
"Z6092K1": "P421"
},
"Z37623K3": {
"Z1K1": "Z18",
"Z18K1": "Z36678K2"
}
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for city, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
tphy9yaajezga2s4kn6modnvnbltoo8
Z36882
0
86477
290489
288926
2026-07-12T11:23:10Z
HenkvD
1290
new layout without caption, headers with infobox section
290489
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z36882"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z36881",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z18",
"Z18K1": "Z36881K1"
},
"Z37644K2": "default",
"Z37644K3": {
"Z1K1": "Z18",
"Z18K1": "Z36881K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q6256"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36881K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36881K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P580"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36881K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q24575110"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36881K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z28767",
"Z28767K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36881K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P580"
}
]
},
"Z28767K2": {
"Z1K1": "Z6092",
"Z6092K1": "P580"
},
"Z28767K3": {
"Z1K1": "Z18",
"Z18K1": "Z36881K2"
}
}
}
]
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for same-sex marriage, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
5go7on63mgy6yrbwpbzbbieud2kawgf
Z36898
0
86495
290488
288927
2026-07-12T11:21:03Z
HenkvD
1290
new layout without caption, headers with infobox section
290488
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z36898"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z36897",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z18",
"Z18K1": "Z36897K1"
},
"Z37644K2": "default",
"Z37644K3": {
"Z1K1": "Z18",
"Z18K1": "Z36897K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q104777120"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36897K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P547"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36897K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P547"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P837"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36897K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q205892"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36897K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P837"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36897K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P547"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P837"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36897K2"
}
}
}
}
]
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for awareness day, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
sy84iyiqw72m64whia12ihsh4ldz3sw
Z36917
0
86546
290483
288928
2026-07-12T08:55:39Z
HenkvD
1290
new layout without caption, headers with infobox section
290483
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z36917"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z36916",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z18",
"Z18K1": "Z36916K1"
},
"Z37644K2": "default",
"Z37644K3": {
"Z1K1": "Z18",
"Z18K1": "Z36916K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q104777120"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36916K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P547"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36916K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P547"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P837"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36916K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q205892"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36916K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P837"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36916K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P547"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P837"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36916K2"
}
}
}
}
]
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for holiday, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
6hli0h3a5lgqlur78d60rzerjpw6coq
Z36991
0
86663
290484
288929
2026-07-12T08:57:21Z
HenkvD
1290
new layout without caption, headers with infobox section
290484
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z36991"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z36990",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z18",
"Z18K1": "Z36990K1"
},
"Z37644K2": "default",
"Z37644K3": {
"Z1K1": "Z18",
"Z18K1": "Z36990K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q2500638"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36990K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P170"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36990K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P170"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P276"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36990K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q17334923"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36990K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P276"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z36990K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P170"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P276"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z36990K2"
}
}
}
}
]
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for painting, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
c6f1x4e7oobq6cdyqc8q6lueyurphui
Z37404
0
87391
290485
289334
2026-07-12T11:13:23Z
HenkvD
1290
new layout without caption, headers with infobox section
290485
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37404"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z37403",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z18",
"Z18K1": "Z37403K1"
},
"Z37644K2": "default",
"Z37644K3": {
"Z1K1": "Z18",
"Z18K1": "Z37403K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q6256"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z37403K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P495"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z37403K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P178"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P495"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P577"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z37403K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q1361758"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z37403K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z28767",
"Z28767K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z37403K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P178"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P495"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P577"
}
]
},
"Z28767K2": {
"Z1K1": "Z6092",
"Z6092K1": "P577"
},
"Z28767K3": {
"Z1K1": "Z18",
"Z18K1": "Z37403K2"
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q183888"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z37403K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P178"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z37403K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P178"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P495"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P577"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z37403K2"
}
}
}
}
]
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for video game, impl"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
tdv6lsig3hujiqax0f152oez2nv50vb
Z37423
0
87411
290486
289394
2026-07-12T11:16:04Z
HenkvD
1290
new layout without caption, headers with infobox section
290486
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37423"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z37422",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z18",
"Z18K1": "Z37422K1"
},
"Z37644K2": "default",
"Z37644K3": {
"Z1K1": "Z18",
"Z18K1": "Z37422K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q2221906"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z37422K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P131"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z37422K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P131"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z37422K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q6256"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z37422K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z37422K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P131"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z37422K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q3406134"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z37422K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z28767",
"Z28767K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z37422K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
},
"Z28767K2": {
"Z1K1": "Z6092",
"Z6092K1": "P571"
},
"Z28767K3": {
"Z1K1": "Z18",
"Z18K1": "Z37422K2"
}
}
}
]
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for bookshop, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
5659mqw23cq04gbk254hon781j2p4sa
Z37425
0
87413
290487
289431
2026-07-12T11:18:05Z
HenkvD
1290
new layout without caption, headers with infobox section
290487
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37425"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z37424",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z33328",
"Z33328K1": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K2": {
"Z1K1": "Z89",
"Z89K1": ""
},
"Z33328K3": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z18",
"Z18K1": "Z37424K1"
},
"Z37644K2": "default",
"Z37644K3": {
"Z1K1": "Z18",
"Z18K1": "Z37424K2"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q7540126"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z37424K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P159"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z37424K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P159"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z37424K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q6256"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z37424K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z37424K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P159"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z37424K2"
}
}
}
}
]
},
{
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q3406134"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z37424K2"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z28767",
"Z28767K1": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z37424K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P159"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P17"
},
{
"Z1K1": "Z6092",
"Z6092K1": "P571"
}
]
},
"Z28767K2": {
"Z1K1": "Z6092",
"Z6092K1": "P571"
},
"Z28767K3": {
"Z1K1": "Z18",
"Z18K1": "Z37424K2"
}
}
}
]
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for organization, comp"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ibfb19q5l6m3j3q4oqh8c1iwssyl0qo
Z37550
0
87599
290427
290352
2026-07-11T21:34:03Z
HenkvD
1290
New infobox layout
290427
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37550"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z36678",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z36678",
"Z36678K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q90"
},
"Z36678K2": "Z1002"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z877",
"Z877K2": {
"Z1K1": "Z89",
"Z89K1": "\u003Ctable style=\"background-color:#F8F9FA;border:1px solid #A2A9B1;border-spacing:3px;clear:right;float:right;margin:0.5em 0 0.5em 1em;padding:0.2em;width:250px;\"\u003E\u003Ctr\u003E\u003Ctd colspan=\"2\" align=\"center\" style=\"background-color:#cddeff;\"\u003EParis\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003ECountry\u003C/td\u003E\u003Ctd\u003EFrance\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003ETime zone\u003C/td\u003E\u003Ctd\u003EUTC+01:00\u003C/td\u003E\u003C/tr\u003E\u003C/table\u003E"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Infobox for Paris"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
87bzc0vqouy6hhc4i2cgg27n8p5qjm2
User:Arlo Barnes
2
87670
290441
290293
2026-07-12T03:51:59Z
Arlo Barnes
1231
start indoeur
290441
wikitext
text/x-wiki
<div style="column-count: 7;">
* [[WF:aeb]]
* [[WF:ar]]
* [[WF:ary]]
* [[WF:ase]]
* [[WF:az]]
* [[WF:bew]]
* [[WF:bg]]
* [[WF:bn]]
* [[WF:brh]]
* [[WF:by]]
* [[WF:bzs]]
* [[WF:cs]]
* [[WF:dag]]
* [[WF:de]]
* [[WF:dz]]
* [[WF:en]]
* [[WF:eo]]
* [[WF:es]]
* [[WF:eu]]
* [[WF:fi]]
* [[WF:ha]]
* [[WF:he]]
* [[WF:hu]]
* [[WF:hy]]
* [[WF:id]]
* [[WF:ig]]
* [[WF:it]]
* [[WF:ja]]
* [[WF:ja-hkrt]]
* [[WF:ja-latn]]
* [[WF:kcg]]
* [[WF:kea]]
* [[WF:ko]]
* [[WF:ldn]]
* [[WF:lv]]
* [[WF:ml]]
* [[WF:ms]]
* [[WF:ms-arab]]
* [[WF:mul]]
* [[WF:nv]]
* [[WF:pl]]
* [[WF:qu]]
* [[WF:ru]]
* [[WF:se]]
* [[WF:sk]]
* [[WF:su]]
* [[WF:te]]
* [[WF:th]]
* [[WF:tlh]]
* [[WF:tok]]
* [[WF:tr]]
* [[WF:uk]]
* [[WF:und]]
* [[WF:unr]]
* [[WF:uz]]
* [[WF:vgt]]
* [[WF:vi]]
* [[WF:ya]]
* [[WF:yue-hans]]
* [[WF:yue-hant]]
* [[WF:zgh]]
* [[WF:zh]]
* [[WF:zh-CN]]
* [[WF:zh-hans]]
* [[WF:zh-hant]]
* [[WF:zh-HK]]
* [[WF:zh-yue]]
* [[WF:zxx]]
</div>
n1yxuhym8aqhiu6oxhu5w8ko8mm77na
Z37620
0
87674
290464
290313
2026-07-12T08:04:51Z
HenkvD
1290
new layout
290464
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37620"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z35972",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z35972",
"Z35972K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q2407"
},
"Z35972K2": "Z1002"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z877",
"Z877K2": {
"Z1K1": "Z89",
"Z89K1": "\u003Ctable style=\"background-color:#F8F9FA;border:1px solid #A2A9B1;border-spacing:3px;clear:right;float:right;margin:0.5em 0 0.5em 1em;padding:0.2em;width:250px;\"\u003E\u003Ctr\u003E\u003Ctd colspan=\"2\" align=\"center\" style=\"background-color:#cddeff;\"\u003EC++\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003EProgramming paradigm\u003C/td\u003E\u003Ctd\u003EObject-oriented programming\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003ERelease date\u003C/td\u003E\u003Ctd\u003E1983\u003C/td\u003E\u003C/tr\u003E\u003C/table\u003E"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox c++"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
io1pcl0nd4hzobwnwdo6izi2cpdjqyz
Z37621
0
87675
290467
290315
2026-07-12T08:08:31Z
HenkvD
1290
new layout
290467
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37621"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z35974",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z35974",
"Z35974K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q388"
},
"Z35974K2": "Z1002"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z877",
"Z877K2": {
"Z1K1": "Z89",
"Z89K1": "\u003Ctable style=\"background-color:#F8F9FA;border:1px solid #A2A9B1;border-spacing:3px;clear:right;float:right;margin:0.5em 0 0.5em 1em;padding:0.2em;width:250px;\"\u003E\u003Ctr\u003E\u003Ctd colspan=\"2\" align=\"center\" style=\"background-color:#cddeff;\"\u003ELinux\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003EProgramming language\u003C/td\u003E\u003Ctd\u003EC\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003ERelease date\u003C/td\u003E\u003Ctd\u003E1991\u003C/td\u003E\u003C/tr\u003E\u003C/table\u003E"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox for Linux"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
k7lyj1ajsuv6ztbc5u8h9ztbbxsjc60
Z37625
0
87681
290416
290349
2026-07-11T17:51:47Z
HenkvD
1290
Attempt to use if (HTML output)
290416
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37625"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z37623",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z37640",
"Z37640K1": {
"Z1K1": "Z40",
"Z40K1": "Z41"
},
"Z37640K2": {
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z35364",
"Z35364K1": {
"Z1K1": "Z7",
"Z7K1": "Z35036",
"Z35036K1": {
"Z1K1": "Z18",
"Z18K1": "Z37623K2"
},
"Z35036K2": [
"Z6030",
"Z6036"
],
"Z35036K3": [
"Z60"
],
"Z35036K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P1629"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z37623K3"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z18",
"Z18K1": "Z37623K2"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z37623K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z18",
"Z18K1": "Z37623K2"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z37623K3"
}
}
}
}
]
},
"Z37640K3": {
"Z1K1": "Z89",
"Z89K1": ""
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox row Composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
hjhv0drgatvo7ao0ns32jr4i4egqnq5
290490
290416
2026-07-12T11:48:17Z
HenkvD
1290
Wikidata item has claim? now with literal input, as argument reference gives error. How to fix?
290490
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37625"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z37623",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z37640",
"Z37640K1": {
"Z1K1": "Z7",
"Z7K1": "Z27299",
"Z27299K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q90"
}
},
"Z27299K2": {
"Z1K1": "Z6092",
"Z6092K1": "P17"
}
},
"Z37640K2": {
"Z1K1": "Z7",
"Z7K1": "Z33319",
"Z33319K1": [
"Z89",
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z35364",
"Z35364K1": {
"Z1K1": "Z7",
"Z7K1": "Z35036",
"Z35036K1": {
"Z1K1": "Z18",
"Z18K1": "Z37623K2"
},
"Z35036K2": [
"Z6030",
"Z6036"
],
"Z35036K3": [
"Z60"
],
"Z35036K4": [
"Z6092",
{
"Z1K1": "Z6092",
"Z6092K1": "P1629"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z37623K3"
}
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z33315",
"Z33315K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z7",
"Z7K1": "Z21449",
"Z21449K1": {
"Z1K1": "Z18",
"Z18K1": "Z37623K2"
},
"Z21449K2": {
"Z1K1": "Z7",
"Z7K1": "Z30120",
"Z30120K1": {
"Z1K1": "Z18",
"Z18K1": "Z37623K1"
},
"Z30120K2": [
"Z6030",
"Z6036"
],
"Z30120K3": [
"Z60",
"Z1360"
],
"Z30120K4": [
"Z6092",
{
"Z1K1": "Z18",
"Z18K1": "Z37623K2"
}
]
}
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z37623K3"
}
}
}
}
]
},
"Z37640K3": {
"Z1K1": "Z89",
"Z89K1": ""
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox row Composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
99dosadd2xppgsmp8r4rxw3cpys2fby
Z37627
0
87684
290360
2026-07-11T14:44:08Z
Dv103
11127
290360
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37627"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z27249",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z27249",
"Z27249K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q89"
},
"Z27249K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q1364"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Ein Apfel ist eine Frucht."
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Ein Apfel ist eine Frucht."
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
aqlb4k7ea7gvtndq9wbxkbva71s2j40
Z37628
0
87685
290363
2026-07-11T14:49:23Z
Dv103
11127
290363
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37628"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z27249",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z26107",
"Z26107K1": "Z1430",
"Z26107K2": {
"Z1K1": "Z7",
"Z7K1": "Z21394",
"Z21394K1": [
"Z6",
{
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z20643",
"Z20643K1": {
"Z1K1": "Z7",
"Z7K1": "Z27327",
"Z27327K1": {
"Z1K1": "Z18",
"Z18K1": "Z27249K1"
},
"Z27327K2": {
"Z1K1": "Z6092",
"Z6092K1": "P5137"
},
"Z27327K3": "Z1430"
}
},
"Z802K2": "Eine ",
"Z802K3": "Ein "
},
{
"Z1K1": "Z7",
"Z7K1": "Z27410",
"Z27410K1": {
"Z1K1": "Z7",
"Z7K1": "Z27327",
"Z27327K1": {
"Z1K1": "Z18",
"Z18K1": "Z27249K1"
},
"Z27327K2": {
"Z1K1": "Z6092",
"Z6092K1": "P5137"
},
"Z27327K3": "Z1430"
},
"Z27410K2": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q110786"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q131105"
}
]
},
" ist ",
{
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z20643",
"Z20643K1": {
"Z1K1": "Z7",
"Z7K1": "Z27327",
"Z27327K1": {
"Z1K1": "Z18",
"Z18K1": "Z27249K2"
},
"Z27327K2": {
"Z1K1": "Z6092",
"Z6092K1": "P5137"
},
"Z27327K3": "Z1430"
}
},
"Z802K2": "eine ",
"Z802K3": "ein "
},
{
"Z1K1": "Z7",
"Z7K1": "Z27410",
"Z27410K1": {
"Z1K1": "Z7",
"Z7K1": "Z27327",
"Z27327K1": {
"Z1K1": "Z18",
"Z18K1": "Z27249K2"
},
"Z27327K2": {
"Z1K1": "Z6092",
"Z6092K1": "P5137"
},
"Z27327K3": "Z1430"
},
"Z27410K2": [
"Z6091",
{
"Z1K1": "Z6091",
"Z6091K1": "Q110786"
},
{
"Z1K1": "Z6091",
"Z6091K1": "Q131105"
}
]
},
"."
]
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "German instantiating sentence, with best info"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
o4hks84cbvpnl3zz2dntzfcqcb6km65
Z37629
0
87686
290368
2026-07-11T15:09:13Z
Dv103
11127
290368
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37629"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z27283",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z27283",
"Z27283K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q107635"
},
"Z27283K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q8502"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "백두산은 산이다"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Baitou, montagna -\u003E \"백두산은 산이다\""
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
hfpa7x0ckonyo2zx0lrpvwh0gj9nozk
Talk:Z13660
1
87687
290379
2026-07-11T15:48:39Z
OMGShay 92
79812
/* Non-negative integers */ new section
290379
wikitext
text/x-wiki
== Non-negative integers ==
How comes non-negative integers won't be supported?
[[User:OMGShay 92|OMGShay 92]] ([[User talk:OMGShay 92|talk]]) 15:48, 11 July 2026 (UTC)
kffm9b4c5hnfw2pbw6qf0mjz3kuwtgt
290405
290379
2026-07-11T17:20:27Z
Dv103
11127
/* Non-negative integers */ Reply
290405
wikitext
text/x-wiki
== Non-negative integers ==
How comes non-negative integers won't be supported?
[[User:OMGShay 92|OMGShay 92]] ([[User talk:OMGShay 92|talk]]) 15:48, 11 July 2026 (UTC)
:{{Z|Z13518}} can represent all non-negative integers (0 included). [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 17:20, 11 July 2026 (UTC)
nmbvloh7a80ecpm3fer96e704ctoao7
Help:Arithmetic function table/Additive/preface
12
87688
290382
2026-07-11T16:30:35Z
YoshiRulz
10156
Create template
290382
wikitext
text/x-wiki
<onlyinclude>{| class="wikitable"
|+ [[d:Q4681347|Additive]] arithmetic functions for {{Z|{{{1|<noinclude>4</noinclude>}}}}}
<span style="float: inline-end;">{{mini navbar|Help:Arithmetic_function_table/Additive/{{{2|<noinclude>preface</noinclude>}}}}}</span>
|-</onlyinclude>
! <operation>
| <function>
!
! <operation>
| <function>
|}
1cqa07ham9nwu9cvon7z631tjajl39k
Z37630
0
87689
290383
2026-07-11T16:31:34Z
Denny
81
290383
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37630"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34541",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34541",
"Z34541K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q170574"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z844",
"Z844K2": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Helen Hunt is female"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
b5egyl92klqg3e8sn58uc0juhuj8kn7
Z37631
0
87690
290385
2026-07-11T16:32:01Z
Denny
81
290385
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37631"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34541",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34541",
"Z34541K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q430922"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z844",
"Z844K2": {
"Z1K1": "Z40",
"Z40K1": "Z42"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Paul Reise is not female"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
rymfav69cbavjp3j6ufouyu1hbopubs
290387
290385
2026-07-11T16:32:21Z
Denny
81
290387
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37631"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34541",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34541",
"Z34541K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q430922"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z844",
"Z844K2": {
"Z1K1": "Z40",
"Z40K1": "Z42"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Paul Reiser is not female"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
nvvpe6hpj17coswjmp5izm1646ag3uh
Z37632
0
87691
290388
2026-07-11T16:34:25Z
Denny
81
290388
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37632"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z34541",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z32663",
"Z32663K1": {
"Z1K1": "Z18",
"Z18K1": "Z34541K1"
}
},
"Z802K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z34542",
"Z34542K1": {
"Z1K1": "Z7",
"Z7K1": "Z23756",
"Z23756K1": {
"Z1K1": "Z18",
"Z18K1": "Z34541K1"
}
},
"Z34542K2": {
"Z1K1": "Z6092",
"Z6092K1": "P21"
},
"Z34542K3": {
"Z1K1": "Z6091",
"Z6091K1": "Q6581072"
}
},
"Z802K2": {
"Z1K1": "Z40",
"Z40K1": "Z41"
},
"Z802K3": {
"Z1K1": "Z40",
"Z40K1": "Z42"
}
},
"Z802K3": {
"Z1K1": "Z40",
"Z40K1": "Z42"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "if person \u0026 undeprecated gender statement = male"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
rqxi82xg7p6ihxr0m3ifieu1aoc1ak8
Z37633
0
87692
290392
2026-07-11T16:36:09Z
Denny
81
290392
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37633"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6001",
"Z17K2": "Z37633K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "person"
}
]
}
}
],
"Z8K2": "Z6095",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z37633"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "English pronoun Lexeme for person"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns the personal pronoun Lexeme to use for a given person according to Wikidata. Returns preferred or else first."
}
]
}
}
c5mj8ryioz0ogy8v4ble4t9xuw7rvcy
290394
290392
2026-07-11T16:44:11Z
Denny
81
Added Z37634 to the approved list of test cases
290394
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37633"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6001",
"Z17K2": "Z37633K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "person"
}
]
}
}
],
"Z8K2": "Z6095",
"Z8K3": [
"Z20",
"Z37634"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z37633"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "English pronoun Lexeme for person"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns the personal pronoun Lexeme to use for a given person according to Wikidata. Returns preferred or else first."
}
]
}
}
27ucvnw63m7p090ufpv4xuy4r3yupgv
290396
290394
2026-07-11T16:45:01Z
Denny
81
Added Z37635 to the approved list of test cases
290396
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37633"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6001",
"Z17K2": "Z37633K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "person"
}
]
}
}
],
"Z8K2": "Z6095",
"Z8K3": [
"Z20",
"Z37634",
"Z37635"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z37633"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "English pronoun Lexeme for person"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns the personal pronoun Lexeme to use for a given person according to Wikidata. Returns preferred or else first."
}
]
}
}
3zpr3segqwj3y2hj2zbc890bogntlif
290399
290396
2026-07-11T16:47:08Z
Denny
81
Added Z37636 to the approved list of test cases
290399
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37633"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6001",
"Z17K2": "Z37633K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "person"
}
]
}
}
],
"Z8K2": "Z6095",
"Z8K3": [
"Z20",
"Z37634",
"Z37635",
"Z37636"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z37633"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "English pronoun Lexeme for person"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns the personal pronoun Lexeme to use for a given person according to Wikidata. Returns preferred or else first."
}
]
}
}
1u5gv02mjcj4d4kklnipuwh4ewhtlk6
290401
290399
2026-07-11T16:47:46Z
Denny
81
Added Z37637 to the approved list of test cases
290401
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37633"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6001",
"Z17K2": "Z37633K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "person"
}
]
}
}
],
"Z8K2": "Z6095",
"Z8K3": [
"Z20",
"Z37634",
"Z37635",
"Z37636",
"Z37637"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z37633"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "English pronoun Lexeme for person"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns the personal pronoun Lexeme to use for a given person according to Wikidata. Returns preferred or else first."
}
]
}
}
qty9txgy1tlq3th5gbtlaa79rk65b76
290404
290401
2026-07-11T17:11:20Z
Denny
81
Added Z37638 to the approved list of test cases
290404
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37633"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6001",
"Z17K2": "Z37633K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "person"
}
]
}
}
],
"Z8K2": "Z6095",
"Z8K3": [
"Z20",
"Z37634",
"Z37635",
"Z37636",
"Z37637",
"Z37638"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z37633"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "English pronoun Lexeme for person"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns the personal pronoun Lexeme to use for a given person according to Wikidata. Returns preferred or else first."
}
]
}
}
mgko6ubhmjbid9gpxr5ycsf9n7cab7s
Z37634
0
87693
290393
2026-07-11T16:44:02Z
Denny
81
290393
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37634"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z37633",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z37633",
"Z37633K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q100967912"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z19287",
"Z19287K2": {
"Z1K1": "Z6095",
"Z6095K1": "L371"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Lola Petticrew: they from pronoun"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
g70i8kpj7ufw05el8p1p2mzcte8tz5n
Z37635
0
87694
290395
2026-07-11T16:44:53Z
Denny
81
290395
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37635"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z37633",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z37633",
"Z37633K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q76"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z19287",
"Z19287K2": {
"Z1K1": "Z6095",
"Z6095K1": "L485"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Barack Obama: he"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
16nfqdlk2boqvzpnb715t2ky80j2b4w
Z37636
0
87695
290397
2026-07-11T16:45:27Z
Denny
81
290397
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37636"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z37633",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z37633",
"Z37633K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q567"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z19287",
"Z19287K2": {
"Z1K1": "Z6095",
"Z6095K1": "L484"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
4020ljmcugt68k81dchr1m1ug1nkl1h
290398
290397
2026-07-11T16:45:39Z
Denny
81
290398
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37636"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z37633",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z37633",
"Z37633K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q567"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z19287",
"Z19287K2": {
"Z1K1": "Z6095",
"Z6095K1": "L484"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Angela Merkel: she"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
sq3pdkgh4pussrqg0y93ua1gw092xxk
Z37637
0
87696
290400
2026-07-11T16:47:35Z
Denny
81
290400
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37637"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z37633",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z37633",
"Z37633K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q21062531"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z19287",
"Z19287K2": {
"Z1K1": "Z6095",
"Z6095K1": "L485"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "N.D. Stevenson: he"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
h3524aoo4ury5sh477kam46kody7p2o
290402
290400
2026-07-11T16:48:07Z
Denny
81
290402
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37637"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z37633",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z37633",
"Z37633K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q21062531"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z19287",
"Z19287K2": {
"Z1K1": "Z6095",
"Z6095K1": "L485"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "N.D. Stevenson: he from pronoun"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
g1mtnqbjtklmyu3lmp4fgzaqog4pn0t
Z37638
0
87697
290403
2026-07-11T17:09:01Z
Denny
81
290403
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37638"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z37633",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z37633",
"Z37633K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q99579757"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z19287",
"Z19287K2": {
"Z1K1": "Z6095",
"Z6095K1": "L303651"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Maia Kobabe: e"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
8f4k69bxams05vqqi0ssj2d6edbn0ix
Z37639
0
87698
290408
2026-07-11T17:25:48Z
Dv103
11127
290408
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37639"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z37633",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z37633",
"Z37633K1": {
"Z1K1": "Z7",
"Z7K1": "Z6821",
"Z6821K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q933508"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z19287",
"Z19287K2": {
"Z1K1": "Z6095",
"Z6095K1": "L485"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Carlo Conti: he"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Item without an explicit P6553 claim"
}
]
}
}
370wk7vi33r9bu26y4vrcu17qhii3xn
Z37640
0
87699
290409
2026-07-11T17:30:34Z
HenkvD
1290
if function (like Z802) typed with HTML types
290409
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37640"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z40",
"Z17K2": "Z37640K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "condition"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z89",
"Z17K2": "Z37640K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "then"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z89",
"Z17K2": "Z37640K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "else"
}
]
}
}
],
"Z8K2": "Z89",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z37640"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "if (HTML output)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"conditional HTML"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "if function (like Z802) typed with HTML types"
}
]
}
}
na7p2ohrwivss59mxa0j3e3py42z9xn
290412
290409
2026-07-11T17:33:56Z
HenkvD
1290
Added Z37641 and Z37642 to the approved list of test cases
290412
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37640"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z40",
"Z17K2": "Z37640K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "condition"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z89",
"Z17K2": "Z37640K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "then"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z89",
"Z17K2": "Z37640K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "else"
}
]
}
}
],
"Z8K2": "Z89",
"Z8K3": [
"Z20",
"Z37641",
"Z37642"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z37640"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "if (HTML output)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"conditional HTML"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "if function (like Z802) typed with HTML types"
}
]
}
}
tpg75f9wrk1b57hf9bmg714m0nb2izd
290414
290412
2026-07-11T17:36:06Z
HenkvD
1290
Added Z37643 to the approved list of implementations
290414
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37640"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z40",
"Z17K2": "Z37640K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "condition"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z89",
"Z17K2": "Z37640K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "then"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z89",
"Z17K2": "Z37640K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "else"
}
]
}
}
],
"Z8K2": "Z89",
"Z8K3": [
"Z20",
"Z37641",
"Z37642"
],
"Z8K4": [
"Z14",
"Z37643"
],
"Z8K5": "Z37640"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "if (HTML output)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"conditional HTML"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "if function (like Z802) typed with HTML types"
}
]
}
}
1efd3redhztkvi2et5dgebkgakax551
290435
290414
2026-07-11T21:56:51Z
Dv103
11127
+it
290435
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37640"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z40",
"Z17K2": "Z37640K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "condition"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "condizione"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z89",
"Z17K2": "Z37640K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "then"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "se vero"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z89",
"Z17K2": "Z37640K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "else"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "se falso"
}
]
}
}
],
"Z8K2": "Z89",
"Z8K3": [
"Z20",
"Z37641",
"Z37642"
],
"Z8K4": [
"Z14",
"Z37643"
],
"Z8K5": "Z37640"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "if (HTML output)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "se (output HTML)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"conditional HTML"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "if function (like Z802) typed with HTML types"
}
]
}
}
ef4zkn8vtlxl62pttupooo69qfsdu0m
Z37641
0
87700
290410
2026-07-11T17:32:21Z
HenkvD
1290
if (true,A,B) = A
290410
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37641"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z37640",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z37640",
"Z37640K1": {
"Z1K1": "Z40",
"Z40K1": "Z41"
},
"Z37640K2": {
"Z1K1": "Z89",
"Z89K1": "A"
},
"Z37640K3": {
"Z1K1": "Z89",
"Z89K1": "B"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z877",
"Z877K2": {
"Z1K1": "Z89",
"Z89K1": "A"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "if (true,A,B) = A"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
tvufnm6kfy3tid09it6g7kqmlhmdmpu
Z37642
0
87701
290411
2026-07-11T17:33:40Z
HenkvD
1290
if (false,A,B) = B
290411
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37642"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z37640",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z37640",
"Z37640K1": {
"Z1K1": "Z40",
"Z40K1": "Z42"
},
"Z37640K2": {
"Z1K1": "Z89",
"Z89K1": "A"
},
"Z37640K3": {
"Z1K1": "Z89",
"Z89K1": "B"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z877",
"Z877K2": {
"Z1K1": "Z89",
"Z89K1": "B"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "if (false,A,B) = B"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
a7vhae0zgh199yay4kdt82pgb4cojtp
Z37643
0
87702
290413
2026-07-11T17:35:43Z
HenkvD
1290
if (HTML output), composition
290413
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37643"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z37640",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z18",
"Z18K1": "Z37640K1"
},
"Z802K2": {
"Z1K1": "Z18",
"Z18K1": "Z37640K2"
},
"Z802K3": {
"Z1K1": "Z18",
"Z18K1": "Z37640K3"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "if (HTML output), composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
6mrwh63puity8auiutd69am05do1uoi
Help:Arithmetic function table/Additive/Byte
12
87703
290415
2026-07-11T17:49:00Z
YoshiRulz
10156
Create page
290415
wikitext
text/x-wiki
{{Help:Arithmetic function table/Additive/preface|Z80|Byte}}
|-
! 0<br><small>[[d:Q2767837|Q2767837]]</small>
| colspan="3" | —
|-
! 1<br><small>[[d:Q68019776|Q68019776]]</small>
| colspan="3" | —
|-
! colspan="3" |
|-
! rowspan="3" | incr(n)<br><small>[[d:Q35766993|Q35766993]]</small>
! wrapping<br><small>[[d:Q1423448|Q1423448]]</small>
| {{Z|22380}}
|-
! clamping<br><small>[[d:Q913725|Q913725]]</small>
| —
|-
! throwing<br><small>[[d:Q471748|Q471748]]</small>
| —
|-
! rowspan="3" | decr(n)<br><small>[[d:Q35767070|Q35767070]]</small>
! wrapping<br><small>[[d:Q1423448|Q1423448]]</small>
| {{Z|24669}}
|-
! clamping<br><small>[[d:Q913725|Q913725]]</small>
| —
|-
! throwing<br><small>[[d:Q471748|Q471748]]</small>
| —
|-
! colspan="3" |
|-
! {{nowrap|n<sub>1</sub> + n<sub>2</sub>}}<br><small>[[d:Q32043|Q32043]]</small>
| colspan="3" | —
|-
! {{nowrap|n<sub>1</sub> − n<sub>2</sub>}}<br><small>[[d:Q40754|Q40754]]</small>
| colspan="3" | —
|}
6ne0hazl00fd8s48qr1i68c6i2zzrih
290454
290415
2026-07-12T07:41:05Z
YoshiRulz
10156
Redesign
290454
wikitext
text/x-wiki
{{Help:Arithmetic function table/Additive/preface|Z80|Byte}}
|-
! 0<br><small>[[d:Q2767837|Q2767837]]</small>
| colspan="3" | —
|-
! 1<br><small>[[d:Q68019776|Q68019776]]</small>
| colspan="3" | —
|-
! colspan="4" |
|-
!
! <big>⟲</big><br>wrapping<br><small>[[d:Q1423448|Q1423448]]</small>
! <big>⇥</big><br>clamping<br><small>[[d:Q913725|Q913725]]</small>
! !<br>throwing<br><small>[[d:Q471748|Q471748]]</small>
|-
! incr(n)<br><small>[[d:Q35766993|Q35766993]]</small>
| {{Z|22380}}
| —
| —
|-
! decr(n)<br><small>[[d:Q35767070|Q35767070]]</small>
| {{Z|24669}}
| —
| —
|-
! colspan="4" |
|-
! {{nowrap|n<sub>1</sub> + n<sub>2</sub>}}<br><small>[[d:Q32043|Q32043]]</small>
| colspan="3" | —
|-
! {{nowrap|n<sub>1</sub> − n<sub>2</sub>}}<br><small>[[d:Q40754|Q40754]]</small>
| colspan="3" | —
|}
2bz70vcter8elfterqwp0sb43sm4ucc
Z37644
0
87704
290417
2026-07-11T18:11:13Z
HenkvD
1290
a table row with colspan=2 and a color scheme
290417
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37644"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z37644K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "section"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z37644K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "color scheme"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z37644K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z89",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z37644"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox section"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "a table row with colspan=2 and a color scheme"
}
]
}
}
k7r2olnps22z9sg9dxbp07fh66ml7li
290419
290417
2026-07-11T18:26:25Z
HenkvD
1290
Added Z37645 to the approved list of test cases
290419
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37644"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z37644K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "section"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z37644K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "color scheme"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z37644K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z89",
"Z8K3": [
"Z20",
"Z37645"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z37644"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox section"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "a table row with colspan=2 and a color scheme"
}
]
}
}
29c0zkxvl8igufvrswfwhq2jk7ylvu7
290421
290419
2026-07-11T18:35:59Z
HenkvD
1290
Added Z37646 to the approved list of implementations
290421
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37644"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z37644K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "section"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z37644K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "color scheme"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z37644K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
}
]
}
}
],
"Z8K2": "Z89",
"Z8K3": [
"Z20",
"Z37645"
],
"Z8K4": [
"Z14",
"Z37646"
],
"Z8K5": "Z37644"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox section"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "a table row with colspan=2 and a color scheme"
}
]
}
}
l1dehf1b0mwuq3cdbslsw0iagssbrzw
Z37645
0
87705
290418
2026-07-11T18:26:00Z
HenkvD
1290
Infobox section Paris
290418
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37645"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z37644",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q90"
},
"Z37644K2": "city",
"Z37644K3": "Z1002"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z877",
"Z877K2": {
"Z1K1": "Z89",
"Z89K1": "\u003Ctr\u003E\u003Ctd colspan=2 align=center style=\"background-color:#cddeff;\"\u003EParis\u003C/td\u003E\u003C/tr\u003E"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Infobox section Paris"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
0t97ruwae0eenfjnrg1toenoxatbpvh
290423
290418
2026-07-11T21:25:06Z
HenkvD
1290
290423
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37645"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z37644",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z37644",
"Z37644K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q90"
},
"Z37644K2": "city",
"Z37644K3": "Z1002"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z877",
"Z877K2": {
"Z1K1": "Z89",
"Z89K1": "\u003Ctr\u003E\u003Ctd colspan=\"2\" align=\"center\" style=\"background-color:#cddeff;\"\u003EParis\u003C/td\u003E\u003C/tr\u003E"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Infobox section Paris"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
k4czkdj0dyypb4008byhuau69u9xggt
Z37646
0
87706
290420
2026-07-11T18:35:13Z
HenkvD
1290
infobox section, composition, first attempt
290420
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37646"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z37644",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z11156",
"Z11156K1": {
"Z1K1": "Z7",
"Z7K1": "Z11156",
"Z11156K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z18",
"Z18K1": "Z37644K1"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z37644K3"
}
},
"Z11156K2": "td colspan=2 align=center style=\"background-color:#cddeff;\""
},
"Z11156K2": "tr"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox section, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
738wjstypcwk40vdnqlf6lerwkrd5fr
290422
290420
2026-07-11T21:24:00Z
HenkvD
1290
infobox section, composition
290422
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37646"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z37644",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z27926",
"Z27926K1": [
"Z89",
{
"Z1K1": "Z89",
"Z89K1": "\u003Ctr\u003E"
},
{
"Z1K1": "Z7",
"Z7K1": "Z27873",
"Z27873K1": {
"Z1K1": "Z89",
"Z89K1": "TEST"
},
"Z27873K2": "td",
"Z27873K3": [
"Z6",
"colspan",
"align",
"style"
],
"Z27873K4": [
"Z6",
"2",
"center",
"background-color:#cddeff;"
]
},
{
"Z1K1": "Z89",
"Z89K1": "\u003C/tr\u003E"
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox section, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
se6vj33bzvvpt47gqo1znq4pqos26xu
290424
290422
2026-07-11T21:29:04Z
HenkvD
1290
+ section text
290424
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37646"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z37644",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z27926",
"Z27926K1": [
"Z89",
{
"Z1K1": "Z89",
"Z89K1": "\u003Ctr\u003E"
},
{
"Z1K1": "Z7",
"Z7K1": "Z27873",
"Z27873K1": {
"Z1K1": "Z7",
"Z7K1": "Z27868",
"Z27868K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z18",
"Z18K1": "Z37644K1"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z37644K3"
}
}
}
},
"Z27873K2": "td",
"Z27873K3": [
"Z6",
"colspan",
"align",
"style"
],
"Z27873K4": [
"Z6",
"2",
"center",
"background-color:#cddeff;"
]
},
{
"Z1K1": "Z89",
"Z89K1": "\u003C/tr\u003E"
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox section, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
htah8ldmvefdnd7o3pfbhf35u9i1uct
290434
290424
2026-07-11T21:56:25Z
HenkvD
1290
+ color scheme
290434
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37646"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z37644",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z27926",
"Z27926K1": [
"Z89",
{
"Z1K1": "Z89",
"Z89K1": "\u003Ctr\u003E"
},
{
"Z1K1": "Z7",
"Z7K1": "Z27873",
"Z27873K1": {
"Z1K1": "Z7",
"Z7K1": "Z27868",
"Z27868K1": {
"Z1K1": "Z7",
"Z7K1": "Z10771",
"Z10771K1": {
"Z1K1": "Z7",
"Z7K1": "Z24766",
"Z24766K1": {
"Z1K1": "Z18",
"Z18K1": "Z37644K1"
},
"Z24766K2": {
"Z1K1": "Z18",
"Z18K1": "Z37644K3"
}
}
}
},
"Z27873K2": "td",
"Z27873K3": [
"Z6",
"colspan",
"align",
"style"
],
"Z27873K4": [
"Z6",
"2",
"center",
{
"Z1K1": "Z7",
"Z7K1": "Z37647",
"Z37647K1": {
"Z1K1": "Z18",
"Z18K1": "Z37644K2"
}
}
]
},
{
"Z1K1": "Z89",
"Z89K1": "\u003C/tr\u003E"
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox section, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
51ri1rizvse06796r9gyjg16wozz8x3
Z37647
0
87707
290428
2026-07-11T21:42:51Z
HenkvD
1290
infobox color scheme
290428
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37647"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z37647K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "color scheme"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z37647"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox color scheme"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Retruns the color for a color scheme, for instance background-color:#cddeff; for color scheme \"city\""
}
]
}
}
117e4ilyzhm8273lo6v7fkgwm6q79am
290430
290428
2026-07-11T21:45:15Z
HenkvD
1290
Added Z37648 to the approved list of test cases
290430
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37647"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z37647K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "color scheme"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z37648"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z37647"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox color scheme"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Retruns the color for a color scheme, for instance background-color:#cddeff; for color scheme \"city\""
}
]
}
}
42j02qg9wi9mlpqrvmp41bq4s0qei0o
290431
290430
2026-07-11T21:53:05Z
HenkvD
1290
typo
290431
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37647"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z37647K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "color scheme"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z37648"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z37647"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox color scheme"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Returns the color for a color scheme, for instance background-color:#cddeff; for color scheme \"city\""
}
]
}
}
3kl4vrnytnjr3a4yb07qdc0xohvkp5f
290433
290431
2026-07-11T21:54:31Z
HenkvD
1290
Added Z37649 to the approved list of implementations
290433
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37647"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z37647K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "color scheme"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z37648"
],
"Z8K4": [
"Z14",
"Z37649"
],
"Z8K5": "Z37647"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox color scheme"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Returns the color for a color scheme, for instance background-color:#cddeff; for color scheme \"city\""
}
]
}
}
ai8vv0rmdw83u4nfmjqezci7y7cj3sg
290439
290433
2026-07-11T22:07:48Z
HenkvD
1290
Added Z37650 to the approved list of test cases
290439
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37647"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z37647K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "color scheme"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z37648",
"Z37650"
],
"Z8K4": [
"Z14",
"Z37649"
],
"Z8K5": "Z37647"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox color scheme"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Returns the color for a color scheme, for instance background-color:#cddeff; for color scheme \"city\""
}
]
}
}
jr5ydbqjhj19ri36r757m5ga3ffpn0o
Z37648
0
87708
290429
2026-07-11T21:45:00Z
HenkvD
1290
background-color:#cddeff; for color scheme "city"
290429
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37648"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z37647",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z37647",
"Z37647K1": "city"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "background-color:#cddeff;"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "#cddeff for color scheme \"city\""
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
mqxd7ygvbzfiq6yjj5wzfxzxmr2w91e
Z37649
0
87709
290432
2026-07-11T21:54:10Z
HenkvD
1290
infobox color scheme, composition
290432
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37649"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z37647",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z22193",
"Z22193K1": {
"Z1K1": "Z18",
"Z18K1": "Z37647K1"
},
"Z22193K2": [
"Z6"
],
"Z22193K3": [
"Z6",
"background-color:yellow;",
"background-color:#cddeff;",
"background-color:#cddeff;"
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox color scheme, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Returns the color for a color scheme, for instance background-color:#cddeff; for color scheme \"city\""
}
]
}
}
hqcasplaccekl4rkmr3ju5dpn696hi9
290436
290432
2026-07-11T22:03:09Z
HenkvD
1290
Fix options
290436
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37649"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z37647",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z22193",
"Z22193K1": {
"Z1K1": "Z18",
"Z18K1": "Z37647K1"
},
"Z22193K2": [
"Z6",
"test",
"city"
],
"Z22193K3": [
"Z6",
"background-color:yellow;",
"background-color:#cddeff;",
"background-color:#cddeff;"
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox color scheme, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Returns the color for a color scheme, for instance background-color:#cddeff; for color scheme \"city\""
}
]
}
}
fvewx4pe07g853aiyk92ntx79bsvnwv
Z37650
0
87710
290437
2026-07-11T22:05:31Z
HenkvD
1290
background-color:yellow;
290437
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37650"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z37647",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z37647",
"Z37647K1": "test"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "background-color:yellow;"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "color yellow for test"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
alkrc7mi5cclxqacvr572mcw51s5n6k
290438
290437
2026-07-11T22:07:28Z
HenkvD
1290
290438
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37650"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z37647",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z37647",
"Z37647K1": "test"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K2": "background-color:yellow;"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "color yellow for color scheme \"test\""
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
fy0rcg4oh2ae8hrkmx5yg2xdyyp26hq
Z37651
0
87711
290443
2026-07-12T05:33:53Z
Autom
448
lägger till test som inte fungerar men används i en artikel
290443
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37651"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32855",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32855",
"Z32855K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q8736"
},
"Z32855K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q625298"
},
"Z32855K3": {
"Z1K1": "Z6091",
"Z6091K1": "Q142"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "Versaillesfreden är ett fredsfördrag i Frankrike."
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
5earj0ffktu8dxg4useuqqu4n75xyef
290445
290443
2026-07-12T05:34:47Z
Autom
448
290445
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37651"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32855",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32855",
"Z32855K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q8736"
},
"Z32855K2": {
"Z1K1": "Z6091",
"Z6091K1": "Q625298"
},
"Z32855K3": {
"Z1K1": "Z6091",
"Z6091K1": "Q142"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z14392",
"Z14392K2": {
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "Versaillesfreden är ett fredsfördrag i Frankrike."
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "Versaillesfreden är ett fredsfördrag i Frankrike."
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ssf6cuqen51h2ggnuq1rij1gd7tm2j6
Z37652
0
87712
290455
2026-07-12T07:49:00Z
HenkvD
1290
Infobox Mardi Gras Film Festival
290455
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37652"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z35968",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z35968",
"Z35968K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q6758653"
},
"Z35968K2": "Z1004"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z877",
"Z877K2": {
"Z1K1": "Z89",
"Z89K1": "To be fillled later"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Infobox Mardi Gras Film Festival"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
158p2jqrhugpcfgf9eogp7b5bbmpoau
290458
290455
2026-07-12T07:53:38Z
HenkvD
1290
new layout
290458
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37652"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z35968",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z35968",
"Z35968K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q6758653"
},
"Z35968K2": "Z1004"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z877",
"Z877K2": {
"Z1K1": "Z89",
"Z89K1": "\u003Ctable style=\"background-color:#F8F9FA;border:1px solid #A2A9B1;border-spacing:3px;clear:right;float:right;margin:0.5em 0 0.5em 1em;padding:0.2em;width:250px;\"\u003E\u003Ctr\u003E\u003Ctd colspan=\"2\" align=\"center\" style=\"background-color:#cddeff;\"\u003EMardi Gras Film Festival\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003EPays\u003C/td\u003E\u003Ctd\u003EAustralie\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003EDate d'instauration\u003C/td\u003E\u003Ctd\u003E1978\u003C/td\u003E\u003C/tr\u003E\u003C/table\u003E"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Infobox Mardi Gras Film Festival"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
a5pniuszbwitpay7isb8adrxaaowm8q
Z37653
0
87713
290459
2026-07-12T07:56:51Z
HenkvD
1290
infobox Berlin Pride
290459
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37653"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z35970",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z35970",
"Z35970K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q4892460"
},
"Z35970K2": "Z1430"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z877",
"Z877K2": {
"Z1K1": "Z89",
"Z89K1": "to be filled later"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox Berlin Pride"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
fkf9f2ejdk6se791ldi817uqyrthza7
290462
290459
2026-07-12T08:00:32Z
HenkvD
1290
new layout
290462
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37653"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z35970",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z35970",
"Z35970K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q4892460"
},
"Z35970K2": "Z1430"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z877",
"Z877K2": {
"Z1K1": "Z89",
"Z89K1": "\u003Ctable style=\"background-color:#F8F9FA;border:1px solid #A2A9B1;border-spacing:3px;clear:right;float:right;margin:0.5em 0 0.5em 1em;padding:0.2em;width:250px;\"\u003E\u003Ctr\u003E\u003Ctd colspan=\"2\" align=\"center\" style=\"background-color:#cddeff;\"\u003EBerliner Christopher Street Day\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003ELand\u003C/td\u003E\u003Ctd\u003EDeutschland\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003EErstellungsdatum\u003C/td\u003E\u003Ctd\u003E1979\u003C/td\u003E\u003C/tr\u003E\u003C/table\u003E"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox Berlin Pride"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
d9u0ldy5q2p0fo4i2m9c5po11b8nhqp
Z37654
0
87714
290469
2026-07-12T08:13:11Z
HenkvD
1290
new layout
290469
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z37654"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z35976",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z35976",
"Z35976K1": {
"Z1K1": "Z6091",
"Z6091K1": "Q698"
},
"Z35976K2": "Z1002"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z877",
"Z877K2": {
"Z1K1": "Z89",
"Z89K1": "\u003Ctable style=\"background-color:#F8F9FA;border:1px solid #A2A9B1;border-spacing:3px;clear:right;float:right;margin:0.5em 0 0.5em 1em;padding:0.2em;width:250px;\"\u003E\u003Ctr\u003E\u003Ctd colspan=\"2\" align=\"center\" style=\"background-color:#cddeff;\"\u003EMozilla Firefox\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003EProgramming language\u003C/td\u003E\u003Ctd\u003EC\u003C/td\u003E\u003C/tr\u003E\u003Ctr\u003E\u003Ctd\u003ERelease date\u003C/td\u003E\u003Ctd\u003E2002\u003C/td\u003E\u003C/tr\u003E\u003C/table\u003E"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "infobox Mozilla Firefox"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
i8430gf9ksor6fn2qp8litzxkjz1aae