Jump to content

Wikifunctions:Status updates/2025-04-30/gu

From Wikifunctions
This page is a translated version of the page Wikifunctions:Status updates/2025-04-30 and the translation is 1% complete.
<span title="Previous update">◀ Wikifunctions Status updates Translate <span title="Next update">▶

Abstract Wikipedia via mailing list Volunteer Response Team Abstract Wikipedia on IRC Wikifunctions on Telegram Wikifunctions on Mastodon Wikifunctions on Twitter Wikifunctions on Facebook Wikifunctions on YouTube Wikifunctions website Translate

Abstract Wikipedia is a MacArthur 100&Change finalist

(The text of this section is published in parallel on the Wikimedia Diff blog)

Wikimedia’s vision is a world in which everyone can share in the sum of all knowledge. And yet, some of the biggest challenges towards realizing this goal are the barriers that exist between our 300 language editions of Wikipedia. Finding a way to bring the different languages closer together was central to the idea behind my 2013 post exploring a multilingual encyclopedia. I imagined Wikipedia written in a language-independent way that could be used to fill the knowledge gaps that exist in many of its language editions.

In the following years, I explored this concept with linguists and other scientists around the world, developed prototypes, and kept refining the idea, presenting to scientific communities and publishing the progress in leading journals. This work received extensive feedback over time and received encouraging recognition in the form of two Computing Research Association Blue Sky Awards. While all of these steps have been essential to our progress, no stakeholder has been more important to the success of this project than Wikimedia’s global volunteer communities.

Abstract Wikipedia was first proposed on Meta in May 2020, and the Wikimedia community discussed, improved, and expressed support for the project proposal. The Wikimedia Foundation Board of Trustees passed a resolution of approval, and in July 2020, Abstract Wikipedia was announced. Since that time, it has been collaboratively developed with Wikimedia communities, who named it, gave it a logo, and helped with numerous technical decisions along the way.

Today, I am proud to share that this decade-plus of work and collaboration has been recognized by the John D. and Catherine T. MacArthur Foundation, which has selected Abstract Wikipedia as one of five finalists for their 100&Change competition. This competition provides a single :en:MacArthur Foundation00 million, 5-year grant to fund an idea that makes measurable progress toward solving a critical problem of our time. Selected from 869 submissions, each of the five finalists will receive a :en:MacArthur Foundation million grant. The winner of the competition will be announced in late 2025.

What is the critical problem we want to solve? For many people speaking underrepresented languages, knowledge is not readily available, nor can they contribute effectively to the world’s knowledge on Wikipedia.

The amount of knowledge that different language editions of Wikipedia offer varies dramatically: English Wikipedia is about to reach 7 million articles, German Wikipedia just reached 3 million, but more than a hundred Wikipedia language editions have fewer than 10,000 articles. Perhaps even more important than the number of articles though, is the size of a language community to help write, curate, and fact-check articles. More than a hundred thousand volunteers contribute to English Wikipedia every month, but most other language editions have only a dozen or so contributors. It is simply not possible to create and maintain a comprehensive and up-to-date encyclopedia with only a dozen people.

How do we aim to address this problem at scale? At a time when more trusted sources of information are badly needed, Abstract Wikipedia can be a vital communication tool with the power to quickly and extensively expand access to reliable knowledge on Wikipedia to billions globally.

A shared fact base is essential for well-functioning societies and for the world to tackle big, global challenges. This is even more urgent as we see growing challenges to the integrity of the internet’s knowledge base including mis- and disinformation.

With information in 300+ languages, Wikipedia is the most multilingual platform on the internet. To fully achieve its place as the world’s shared fact base, it needs more tools that volunteers can use to make knowledge available across more languages.

That is where Abstract Wikipedia comes in. Tackling this more systematically, at scale, can help grow the quantity—and quality—of human-created and checked content and translations online. A global community creating human edited and maintained language-independent knowledge can provide millions of articles in hundreds of languages where they are currently missing, benefitting all Wikipedias, and aligning with our principle of supporting human knowledge contributors.

What has been achieved so far? We have made significant progress to date, starting with the launch of Wikifunctions in 2023—the first new Wikimedia project since 2012 (when Wikidata was launched). Designed as a repository of functions that can be accessed from any Wikimedia project, Wikifunctions contributors from over 50 countries have already created more than 2400 functions with names and descriptions for those functions in more than a hundred languages. 2024 saw us enable access to Wikidata data from Wikifunctions.

And just a few weeks ago, we celebrated the first roll-out of Wikifunctions in a Wikipedia project. We share our collective progress through weekly updates—this being its 200th edition!

Winning the 100&Change prize would help us build on this communal momentum to accelerate implementation and meet the urgency of the moment: funding things like more strategic and sustainable expertise, infrastructure, and outreach. We are honoured to be a 100&Change finalist, and are deeply grateful to the many people who have helped us achieve all that we have so far.

Abstract Wikipedia has been fortunate to receive ongoing support by the Wikimedia communities and funding from the Wikimedia Endowment, The Rockefeller Foundation, and Google.org. We look forward to this support and partnership with the MacArthur Foundation to create a future in which every human can share in the sum of all knowledge.

Wikidata Lexeme Forms now has support for Quechua

As Lucas Werkmeister announced on Mastodon, the Wikidata Lexeme Forms tool now has support for creating and editing Quechua verbs, including Wikifunctions to automatically generate forms based on the infinitive, thanks to Elwin Huaman! 🎉

કડીઓ:

Team members at Wikimedia Hackathon in Istanbul

This weekend, 2–4 May, is the Wikimedia Hackathon 2025 in Istanbul, Türkiye. A number of Abstract Wikipedia team members will be at the Hackathon: James, Geno, Cory, Elena, and David S.. Stop by and say hello! If you have a project related to Wikifunctions and Abstract Wikipedia, let us know – we would love to showcase it here next time!

Where will Abstract Wikipedia be located?

In the next few weeks we will start the conversation about where the content of Abstract Wikipedia will be located. Stay tuned here, but we will also reach out to other channels.

Recent Changes in the software

Over the past two weeks, a lot of our focus has been on fixes for issues that came to light once the cross-wiki embedded Function calling went live.

We landed two tweaks to the Function-call editing experience when adding or inserting Function calls into articles. We fixed a validation issue in the editor when it has multiple enum inputs which are loading. We also fixed a bug in displaying the 'read more' content with a paragraph in the wrong position, due to a conflict from MobileFrontend's styles.

In terms of bugs, there were a few! We found a situation where bad user input would trigger a server-side error, rather than respond appropriately (T389702). We fixed a similar issue for MonolingualStringSets (as used in aliases) where the claimed language wasn't valid (T391528). A third issue uncovered via malformed contents around strings was also fixed (T392370). We fixed the REST API and Action API code to be disabled on client wikis, and not try (and then fail) to read from the repo-only DB tables in such circumstances (T392014). We down-graded a warning from the update code that we believe is triggered when deploying the code to production (and so things are in an inconsistent state between servers), and fixed the structured data it passes along when editing a Test case or Implementation related to a Function. Finally, we fixed our error-calling code to use consistent keys, so errors actually return correctly rather than trigger server-side errors (T392026).

We also made some progress on the other Quarterly work. We added a caching step to the post-publishing code for edits to Objects, which will in future allow client wikis' code to quickly check Objects' Types without expensive network fetches, to allow for "blank value" support. We similarly added support for additional caching in the back-end service, which (once the new infrastructure is built for us by SRE) we hope will allow much faster Function calling (T390743).

We made one general UX tweak, changing the selector component to remove the chevron icon in favour of a search icon, based on user testing where the old icon was confusing (T350683).

We tweaked the browser tests to account for a design change when we moved to re-use Codex's table component (T387464). We then tweaked the last two failures to wait for the element to be clicked correctly, which allowed us to run all the browser tests (T391733), a key milestone towards our complete use of the new Catalyst testing platform for our integration and end-to-end system testing (T368002).

We finally landed a series of unit test coverage improvements written for us two years ago (!) by User:William Avery (T294826); they had been blocked by some inconsistencies between different parts of our system, which we have now resolved. Thank you again, and sorry for the long delay.

We refactored some of our API error code to be shared and so more consistent. We switched our Pinia router to use mw.util.getUrl rather than $.param directly, which seems to be incompatible with newer versions of jest testing. This allowed us to upgrade our jest testing to 29.7.0, which had long been awaited, and then the test version of Codex to match MediaWiki's. All these manual upgrades meant our other test tooling could be automatically upgraded, including phan for PHP static analysis, and mediawiki-wdio and related tool for browser testing.

Finally, we've added support for the Z1969/hoc-latn language (T391731), as part of MediaWiki adding support for it.

Volunteers’ Corner on Monday

On Monday, 5 May 2025, at 17:30 UTC, we will have our monthly Volunteers’ Corner. Unless you have many questions, we will follow our usual agenda, of giving updates on the upcoming plans and recent activities, having plenty of time and space for your questions, and building a Function together. Looking forward to seeing you online on Monday!

Function of the Week: first plural Lexeme form for a Wikidata Item

Given a Wikidata item, give me a word in a language that refers to it – and give me the plural form of that word.

That is what the function First plural Lexeme form for a Wikidata Item does that we are looking at this week. So for example, we look at Q146 —the Wikidata item for house cat-– and ask for the plural form in Dagbani, and it returns Jɛnkunti. If we ask for the respective plural form in English, we get cats.

The Function has two arguments:

and the Function returns a Lexeme form.

This is a nice example of a function that moves from the abstract, ontological space —represented by Wikidata QIDs— to actual words. It is not entirely functional, since it picks the “first” plural form, without regard to what other grammatical features that form might have (e.g. the case or definiteness, depending on the language). But as a function it is a good demonstration, and the tests and implementations also offer a good opportunity to learn about the relevant functions in that area.

There are seven tests for this function:

The last of these tests didn’t work at time of writing, and was thus not connected. The reason it didn’t work is due to Wikidata having two items for wolf, one for the species canis lupus and one for the vernacular name wolf, which according to Wikidata may also encompass a few other species, such as the African golden wolf or the Ethiopian wolf. The German Lexeme Wolf was only connected to the species, but not to the vernacular name – but the test was asking for the vernacular name. I connected it now to the vernacular name as well, and once the caches are refreshed, the last test should work too.

It would be interesting to see tests covering non-European languages a bit more regularly in such functions.

The Function has two implementations, both connected and both compositions (which is not a surprise, since only compositions can access Wikidata data currently):

You may now think that the plural Lexeme forms for a Wikidata item function is just the same as the first two steps used in the first composition, but it is not: the composition for that function works with a filter function instead.

All in all, an interesting function with surprisingly diverse implementations, showcasing the step from an abstract representation to actual words.

Fresh Functions weekly: 34 new Functions

This week we had 34 new functions. Here is a list of functions with implementations and passing tests to get a taste of what functions have been created. This week, there are a lot of Functions about linear algebra. Thanks everybody for contributing!