The on-wiki version of this newsletter can be found here:
https://www.wikifunctions.org/wiki/Wikifunctions:Status_updates/2025-09-26
--

Accessing qualifiers in Wikidata statements

Wikifunctions has recently begun importing statements with qualifiers, whenever an entity is fetched from Wikidata. (Statements are imported inside Wikidata items, properties, lexemes, lexeme forms, and lexeme senses, whenever any of those entities is fetched.)

This change gives Wikifunctions users access to a substantially greater variety of facts and, in particular, multi-faceted facts that go beyond the bare assertion of a property’s value for a subject. For example, a population statement might say (Chicago, population, 2,746,388), but it will also usually have a qualifier that tells when that number was true; e.g. (point-in-time 2020), because the number came from the 2020 census. Many useful properties, in addition to population, are associated with temporal and other qualifiers.

Qualifiers are expressed using a new Wikifunctions Type Wikidata claim (which corresponds to Wikidata’s "Snak" type). This type includes three keys, for property referencevalue, and claim subtype (discussed in the News in Types section below). Because the Wikidata statement Type also has these three keys, plus several others, a claim may be thought of as a skeletal (reduced, simpler) version of a Wikidata statement. If a statement has qualifiers, they show up as a list of claims, in the statement’s qualifiers key.

As an example, the Function Most recent year-specific sentence about item makes use of point in time qualifiers to generate sentences like The population of Chicago was 2,746,388 in 2020. It takes three arguments – a Wikidata item, a Wikidata property reference, and a natural language. The property reference should be a property, like population, whose instances are typically associated with a particular year and are annotated with point in time qualifiers. The function filters the item’s statements for those with the given property, selects the statement with the most recent point in time qualifier, extracts the year from that qualifier, and uses it in the generated sentence. It is currently only supported in English, but is configured (via Year-specific sentence from statement per language) to allow for the addition of other languages.

Coming: Wikifunctions to 25 more Wiktionaries and Wikimedia Incubator

Next week we are planning to roll out embedded Wikifunctions calls to a further 25 Wiktionaries, and to the Wikimedia Incubator.

The new Wiktionaries are: French, Greek, Spanish, Japanese, Indonesian, Dutch, Vietnamese, Italian, Finnish, Turkish, Korean, Swedish, Czech, Portuguese, Armenian, Tamil, Thai, Malagasy, Hindi, Persian, Catalan, Romanian, Hebrew, Bulgarian, and Simple English.

This will add to the existing 123 language editions of Wiktionaries that already have the ability to embed calls to Wikifunctions in their wiki.

Recent Changes in the software

This week we finished our Quarterly commitment around Lexeme senses, made some progress on another around errors, as well as a number of small issues.

One of our promised changes this Quarter was a new special view for interacting with Lexeme senses on Wikifunctions (T398307), which went live this week. It should improve the experience when using Functions that interact with them, like Z6826. We have a video that shows how this component works, and how it improved on the previous version.

As part of our work to make it easy to create and use errors (T395475), we are preparing a number of pre-defined Functions for this: Z850/try-catchZ851/throwZ852/is error type, and Z853/get error (T404092). We are also adding pre-defined test cases to these, to demonstrate that and how they are working. We are also changing how error types work, adding an identity key so they can be compared (T405114). We also added a way for user-created errors to have rich content inside them (T404469). Documentation and guidance on how to use these features will be coming soon.

We have fixed the light-weight enum display to work when more than 50 items are requested, which should fix the chemical enum that was showing QIDs unlabelled (T404353). Following a Wikifunctions community member's request, we have added two new languages for the two scripts of Rohingya, Z1978/rhg-rohg and Z1979/rhg-arab. Another request has led us to create a new pre-defined Function, Z6896/Get values from Wikidata enum, for working with light-weight Wikidata enum Types (T397494).

To better understand how people are using the integration into the visual editor to create embedded Wikifunctions calls, we have added some instrumentation to track activity (T402711).

News in Types I: Some value and no value statements

Some value and no value statements. Wikifunctions has also recently begun importing some value and no value statements. These come from Wikidata’s data model. A some value statement asserts that there is a value for the statement’s property that applies to the statement’s subject – but does not state what that value is. In other words, the specific value is unknown. (A some value statement also allows for the possibility that there could be multiple unknown values.) A no value statement asserts that there is no value for the statement’s property that applies to the statement’s subject.

These distinctions are made using the new Wikidata claim subtype Type – an enumeration type with the the instances value (for the usual kind of statement that includes a specific value), no value, and some value. Each Wikidata statement now has a key claim subtype, which contains one of these instances. Each Wikidata claim also has a key claim subtype containing one of these instances.

News in Types II: Six new types for grammatical enumerations

This week, six community proposals for lightweight enumerations were implemented, all in on the topic of grammar:

There are more proposals out there, and your review and vote matters!

Lightning talk at Celtic Knot by Vigneron

This week on Tuesday was the Celtic Knot – Wikimedia Language Conference 2025, offering a mix of workshop activities, presentations, lightning talks and activities. Nicolas Vigneron presented a lightning talk about Wikifunction. The slides are available on Commons.

Presentation at Wikimedia CEE by Cory

The Wikimedia CEE Meeting will be held in Thessaloniki, Greece, 26–28 September, organized by Wikimedia UG Greece. Our own Cory Massaro will hold a presentation on Wikifunctions and Abstract Wikipedia there. He will discuss the kinds of natural language content that can currently be generated with Wikifunctions, then give a brief exploration of existing Functions that already work in multiple languages.

Recording of NLG SIG from Tuesday

This week Tuesday was also the latest meeting of the Wikifunctions:NLG SIGDenny was presenting a proposal for representing abstract content in the future Abstract Wikipedia project. A recording of the meeting is available on Commons. Thanks to everyone participating in the discussion!

Fresh Functions weekly: 36 new Functions

This week we had 36 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!

complete list of all functions sorted by when they were created is available.