The on-wiki version of this newsletter is available here: https://www.wikifunctions.org/wiki/Wikifunctions:Status_updates/2026-05-08 ---- References from Wikidata now available
As of this Wednesday, references in Wikidata statements are being passed through to Wikifunctions. We are excited about this new ability, as this allows the use of the more than 1.3 billion references available in Wikidata and adding them as citations to individual statements in Abstract Wikipedia. Citations are a crucial element of a reliable encyclopedia, and so we are happy to make it easier to have them available in Abstract Wikipedia.
Note that in related capabilities, links to external sites are still not displayed as links. We are working on relaxing that constraint for the content of references. For now, most hyperlinks can only be displayed as text. Recording of Toby Hudson’s talk at WikiCon Australia
Toby Hudson https://www.wikifunctions.org/wiki/User:99of9 presented *Wikifunctions in Practice: Reusable Logic for Wikimedia https://meta.wikimedia.org/wiki/Event:WikiCon%20Australia%202026/Submissions/Wikifunctions%20in%20Practice:%20Reusable%20Logic%20for%20Wikimedia* at WikiCon Australia https://meta.wikimedia.org/wiki/Event:WikiCon%20Australia%202026 on 11 April 2026. The recording is available on Commons https://commons.wikimedia.org/wiki/File:Wikifunctions%20in%20practice%20-%20Toby%20Hudson%20-%20WikiConAU-2026.webm and on YouTube https://www.youtube.com/watch?v=ViOkEYQLggM.
Toby gives a great motivation for Abstract Wikipedia and Wikifunctions, and gives in 23 minutes a quick, but thorough overview of both projects, and then answers questions from the in-person audience. Here is the description of the talk: *Wikifunctions promises something simple but ambitious: write logic once, and make it reusable across Wikimedia projects and languages. Small, well-chosen functions can have outsized impact and eliminate some updating, copy-pasting, or even translation.*
*This talk focuses on goals and practical usage rather than internals or programming, but will allow plenty of time for questions from the audience to dig into the details. We'll see what Wikifunctions is and what it's for. We will test a range of existing functions on Wikifunctions directly. We will see how to embed the result of a function call in a regular Wiki page elsewhere on a sister project. Then we will look ahead to how Wikifunctions will play a key role in the future Abstract Wikipedia.* Abstract data dashboard
David Santamaria has published a tool to help understand the state of Abstract Wikipedia: "Abstract Data" https://abstract-data.toolforge.org/, a Website that tracks both language coverage and Wikifunctions function usage across all abstract articles.
The main view shows all abstract articles and the number of languages/Wikipedias each can currently be rendered in. There is also a Languages view that ranks languages (Wikipedia's represented languages) by how many articles they can render, making it easy to see where coverage is strongest and where there is still work to do. Figuring out Lexeme coverage is not perfect yet.
On the functions side, the tool lists the top 100 most-used Wikifunctions functions and shows which articles call each one, useful for assessing the impact of a change before making it. It also flags functions without an implementation or with failing tests, making it easy to spot when a broken function is blocking content from rendering.
The data is based on the database dumps that are being generated twice a month.
The tool is still in its early days, so it may not always work perfectly, and there are likely bugs. If you run into anything unexpected or have ideas for features you would find useful, please do let David know on his user talk page https://www.wikifunctions.org/wiki/User_talk:DSantamaria-WMF. This is not an official tool, but we hope you find it useful. Admins on Abstract Wikipedia?
Now that Abstract Wikipedia has been around for more than a month, we would like to invite the Abstract Wikipedia community to consider whether they wish to begin a process of choosing administrators, so that the wiki becomes more self-sufficient. Recent Changes in the software
As mentioned above, the main change this week is that we have enabled references on statements when fetching items from Wikidata (T404652 https://phabricator.wikimedia.org/T404652). We hope that this new feature will help you write Functions that add references for Abstract Wikipedia when using Wikidata statements. We do not expect this to add much more load to the system, but if something is now slow or broken please let us know.
Items (and other entities) fetched from Wikidata may contain statements, and each Wikidata statement (Z6003) https://www.wikifunctions.org/wiki/Z6003, in its Z6003K6/references key, may now contain zero or more instances of Wikidata reference (Z6008) https://www.wikifunctions.org/wiki/Z6008. For more information about Wikidata’s practices regarding references for statements, Wikidata's Help:Sources page https://www.wikidata.org/wiki/Help:Sources provides a useful discussion.
We've added two new pre-defined equality Functions with built-in Implementations, to make it easier to work with natural languages. Firstly, we've added Natural language equality (Z862) https://www.wikifunctions.org/wiki/Z862, which should let you check if the language of an item for which you asked from Wikidata is what you received back, *etc.* (T424289 https://phabricator.wikimedia.org/T424289). Secondly, we've added Monolingual stringset equality (Z832) https://www.wikifunctions.org/wiki/Z832, which will let you see if two sets of labels (most used for Wikidata item aliases) are the same (T424461 https://phabricator.wikimedia.org/T424461).
Finally, we fixed one bug that you might have noticed. Occasionally, the system might not reply to MediaWiki correctly, such as when the network connection was interrupted. In these rare cases, we now emit a proper error that should come through to you with a better explanation, rather than a mysterious breakage (T414062 https://phabricator.wikimedia.org/T414062). Volunteers’ Corner on May 11
The next Volunteers’ Corner will be on Monday, 11 May 2026 at 17:30 UTC https://zonestamp.toolforge.org/1776101400. We plan to have the following agenda: there will be time to ask questions and discuss all matters arising. If we have time, we will write a function together. Everyone is welcome to join us on Google Meet https://meet.google.com/xuy-njxh-rkw. Fresh Functions weekly: 39 new Functions
This week we had 39 new functions. Here is an incomplete list of functions with implementations and passing tests to get a taste of what functions have been created. Thanks everybody for contributing!
- classifying sentence - entity (Z34282) https://www.wikifunctions.org/wiki/Z34282 - All booleans equal to (Z34293) https://www.wikifunctions.org/wiki/Z34293 - Bulgarian cardinal with gender (Z34308) https://www.wikifunctions.org/wiki/Z34308 - is Natural number odd? (Z34353) https://www.wikifunctions.org/wiki/Z34353 - any boolean equal to (Z34367) https://www.wikifunctions.org/wiki/Z34367 - Is element of a set (Z34378) https://www.wikifunctions.org/wiki/Z34378 - is subset of a set (Z34380) https://www.wikifunctions.org/wiki/Z34380 - is probably proper noun? (Z34394) https://www.wikifunctions.org/wiki/Z34394 - Predecessor of von Neumann ordinal (Z34409) https://www.wikifunctions.org/wiki/Z34409 - read Natural number leniently, place-value decimal (Z34419) https://www.wikifunctions.org/wiki/Z34419 - Czech subject is instance of (string) (Z34427) https://www.wikifunctions.org/wiki/Z34427 - Classifying sentence in French (Z34434) https://www.wikifunctions.org/wiki/Z34434 - subject is kind of (Monolingual text), Czech (Z34487) https://www.wikifunctions.org/wiki/Z34487 - Q5 is male? (Z34510) https://www.wikifunctions.org/wiki/Z34510 - Append element to set (Z34519) https://www.wikifunctions.org/wiki/Z34519 - Union of sets (Z34538) https://www.wikifunctions.org/wiki/Z34538 - generate alternating sign terms for summation (Z34575) https://www.wikifunctions.org/wiki/Z34575 - Is von Neumann ordinal greater than (Z34585) https://www.wikifunctions.org/wiki/Z34585 - Hyperoperation of von Neumann ordinals (Z34620) https://www.wikifunctions.org/wiki/Z34620 - part-of sentence - entity (Z34637) https://www.wikifunctions.org/wiki/Z34637 - part-of sentence in English (Z34638) https://www.wikifunctions.org/wiki/Z34638 - item is part of these items (Z34641) https://www.wikifunctions.org/wiki/Z34641 - join list of monolingual texts with Oxford comma (Z34644) https://www.wikifunctions.org/wiki/Z34644 - coerce text-like object to Monolingual text (Z34663) https://www.wikifunctions.org/wiki/Z34663 - join list of Monolingual texts with delimiter (Z34669) https://www.wikifunctions.org/wiki/Z34669 - same multilingual stringset (Z34736) https://www.wikifunctions.org/wiki/Z34736
A complete list of all functions sorted by when they were created https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest is available.
abstract-wikipedia@lists.wikimedia.org