Wikifunctions:Project chat
Welcome to the Project chat, a place to discuss any and all aspects of Wikifunctions: the project itself, policy and proposals, individual data items, technical issues, etc.
Other places to find help:
- Wikifunctions:Administrators' noticeboard
- Wikifunctions:Report a technical problem
- Wikifunctions:FAQ
SpBot archives all sections tagged with {{Section resolved|1=~~~~}} after 1 day and sections whose most recent comment is older than 30 days. |
| edit |
| Archives |
|---|
You are invited to join the discussion at Meta Requests for comment: The future of Abstract Wikipedia. Qcne (talk) 11:35, 14 July 2026 (UTC)
- Isn't it too early for this RFC? The project was released for public preview in March-only four months ago—and it has already demonstrated its technical feasibility. Furthermore, some of the examples cited in the RFC depend entirely on specific function choices. Since this is a community-built project, contributors should remain free to use the functions they prefer. Personally, I feel the repetition of words in every sentence simply shows that active contributors currently view this issue as a low priority. After all, fixing it would require rewriting sentences to use pronouns, or correcting them with a comma-separated list of occupations. John Samuel 13:37, 14 July 2026 (UTC)
- Thanks John. The project was approved in 2020 and WMF expected the first articles in 2023 so it is not four months old. Integration into language Wikipedias is planned for Q1 of the current annual plan. If it is too early to evaluate, it is too early to ship. I'd welcome your thoughts on the Meta RfC itself. Qcne (talk) 13:40, 14 July 2026 (UTC)
Speaking of "too early", abstract:Project:Response to English Wikipedia criticism has ~3 days left, so I'll hold off on commenting until then.But on a first reading, I can see some of the same misunderstandings repeated. You could delete most of the text above your three proposals and get the same effect.
edit: Yep, misunderstandings all the way down (the page). I've left a brief comment since all my points had already been made by others. YoshiRulz (talk) 20:56, 16 July 2026 (UTC)
Wikifunctions & Abstract Wikipedia Newsletter #257: Beyond syntactic tables
There is a new update for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we discuss syntactic tables and news in Types, we show some community blogposts and tools, we remind you of the Wikifunctions and Abstract Wikipedia events at Wikimania 2026, and we take a look at the latest software developments.
Want to catch up with the previous updates? Check our archive!
We also remind you that in the next weeks these newsletter reminders will be paused, and that they will resume in mid-August.
Enjoy the reading! -- User:Sannita (WMF) (talk) 10:55, 17 July 2026 (UTC)
Update on Blockly editor
In case anyone is actually using my external editor based on Blockly (there's no analytics so I have no idea): I cleared out my "papercut" backlog yesterday, fixing bugs, making exporting smoother, and adding more blocks necessary for NLG functions. YoshiRulz (talk) 15:35, 20 July 2026 (UTC)
- Great! I'll try it out now. So9q (talk) 18:15, 21 July 2026 (UTC)
Building reproducible, computable phenotypes on WikiFunctions
Hello all! Very new to WikiFunctions, more involved in the Wikidata side of things, but I was thinking that WikiFunctions may be a great space for computable phenotypes. These are structures (lists of rules) used in medicine to determine if a person has or doesn't have a particular condition (type 2 diabetes, asthma, etc.). There is a constant issue in my field of recreating the wheel for these phenotypes and very few resources where they are openly available (there was PheKB but it isn't updated often and only contains natural language descriptions of the phenotypes and often no code or other information to reproduce). My thought process was that an algorithm for a computable phenotype would essentially be a list of synthetic (fake) patients with certain characteristics, and then the computable phenotype would be run, and it would return a list of patients who have that condition. The major use case would be allowing individuals to download these code snippets to increase general reproducibility in medical care and studies overall. Would it be possible to utilize WikiFunctions for this? Superraptor123 (talk) 08:25, 23 July 2026 (UTC)
- (phenotype (Q25203551))
What system(s) are currently in use for doing such computations? Python scripts?
Wikifunctions currently does not cater to offline execution, so I imagine it wouldn't be suitable for medical practice where there are strict data protections. YoshiRulz (talk) 11:35, 23 July 2026 (UTC)- Currently this involves something along the lines of a structured series of descriptors that make up the computable phenotype (ICD codes, RxNorm codes, lab test levels, age ranges, etc.), a fake "patient" (or list of "fake" patients) as input, and the patients that fit the computable phenotype criteria as output. In terms of systems currently in use, they are kind of-- everything. SQL, Java, SPARQL, Python, Perl, Ruby, etc. Currently I develop mostly using Python, so I would likely use that for implementation. And of course, yes, they would not be suitable for practice due to protections! For an example of an algorithm that I think could be useful to adapt, see: https://phekb.org/phenotype/type-2-diabetes-mellitus. Superraptor123 (talk) 12:02, 23 July 2026 (UTC)
- So your reference is a decision tree, and are each of the "questions" evaluated by looking up a property/element in the input? That could be translated into a Function relatively easily. Most examples I can think of are NLG-related, like Z36580, but there are some simpler Functions which extract parts of a given Wikidata Item, and Z34840 works with the representations of numbers. What is the structure of the input EMR? YoshiRulz (talk) 13:54, 23 July 2026 (UTC)
- Precisely-- I think most of these would be simple implementations, but good to generally have archived as most of them become lost media(-ish). Best-case, the input EMR would be a set of synthetic patients using the OMOP CDM (https://ohdsi.github.io/CommonDataModel/), the most common open data model in the space. It does mean it wouldn't be completely system agnostic, but it would most in the majority of situations. Superraptor123 (talk) 14:07, 23 July 2026 (UTC)
- If you decide to go ahead with this, you should propose a new type since it looks like a simple list or dict won't cover it. YoshiRulz (talk) 15:31, 23 July 2026 (UTC)
- Precisely-- I think most of these would be simple implementations, but good to generally have archived as most of them become lost media(-ish). Best-case, the input EMR would be a set of synthetic patients using the OMOP CDM (https://ohdsi.github.io/CommonDataModel/), the most common open data model in the space. It does mean it wouldn't be completely system agnostic, but it would most in the majority of situations. Superraptor123 (talk) 14:07, 23 July 2026 (UTC)
- So your reference is a decision tree, and are each of the "questions" evaluated by looking up a property/element in the input? That could be translated into a Function relatively easily. Most examples I can think of are NLG-related, like Z36580, but there are some simpler Functions which extract parts of a given Wikidata Item, and Z34840 works with the representations of numbers. What is the structure of the input EMR? YoshiRulz (talk) 13:54, 23 July 2026 (UTC)
- Currently this involves something along the lines of a structured series of descriptors that make up the computable phenotype (ICD codes, RxNorm codes, lab test levels, age ranges, etc.), a fake "patient" (or list of "fake" patients) as input, and the patients that fit the computable phenotype criteria as output. In terms of systems currently in use, they are kind of-- everything. SQL, Java, SPARQL, Python, Perl, Ruby, etc. Currently I develop mostly using Python, so I would likely use that for implementation. And of course, yes, they would not be suitable for practice due to protections! For an example of an algorithm that I think could be useful to adapt, see: https://phekb.org/phenotype/type-2-diabetes-mellitus. Superraptor123 (talk) 12:02, 23 July 2026 (UTC)
- Did you look much into the possibility of encoding these in Wikidata somehow? Have d:WD:WikiProject Medicine / meta:Wiki Project Med investigated it before? YoshiRulz (talk) 15:31, 23 July 2026 (UTC)
- I don't think so-- it could potentially be somewhat encoded in Wikidata-- main issue is that it uses a list of codes which Wikidata sometimes attaches to the same entity in ways that don't match up 1-to-1. And there may be drift in those codes over time, so the list of codes would have to be hard-coded. But there should generally be a way to link from the WikiFunction to Wikidata right? Superraptor123 (talk) 22:06, 23 July 2026 (UTC)
- Linking to WF from an Item on Wikidata is an open question, beyond sitelinks of course. YoshiRulz (talk) 12:02, 24 July 2026 (UTC)
- So maybe creating functions here makes the most sense for the time being? I want to make sure I'm following the rules as intended but would that be okay for now? (Creating one or two and then presenting to the community to see if things look acceptable?) Superraptor123 (talk) 06:46, 25 July 2026 (UTC)
- Yes, you're welcome to try! --99of9 (talk) 06:53, 25 July 2026 (UTC)
- Thanks! I've been thinking about this a little bit-- in terms of objects, it may make sense to have an object that is an OMOP CDM database (which is allowed by their licensing, as the database schema is open source). But I'm wondering if it should instead be an extension of a more generic database object? Superraptor123 (talk) 11:06, 28 July 2026 (UTC)
- Yes, you're welcome to try! --99of9 (talk) 06:53, 25 July 2026 (UTC)
- So maybe creating functions here makes the most sense for the time being? I want to make sure I'm following the rules as intended but would that be okay for now? (Creating one or two and then presenting to the community to see if things look acceptable?) Superraptor123 (talk) 06:46, 25 July 2026 (UTC)
- Linking to WF from an Item on Wikidata is an open question, beyond sitelinks of course. YoshiRulz (talk) 12:02, 24 July 2026 (UTC)
- I don't think so-- it could potentially be somewhat encoded in Wikidata-- main issue is that it uses a list of codes which Wikidata sometimes attaches to the same entity in ways that don't match up 1-to-1. And there may be drift in those codes over time, so the list of codes would have to be hard-coded. But there should generally be a way to link from the WikiFunction to Wikidata right? Superraptor123 (talk) 22:06, 23 July 2026 (UTC)
OWID's replacement for Extension:Graph
meta:OWID Gadget / c:Module:Owidslider
I'm currently watching the Wikimania talk "Bringing Interactive Graphs from Our World in Data to Wikipedia" going through the latest iteration of their interactive graphs, and they seem to be in a good position now, including i18n. I think it would be nice to use them in Abstract Wikipedia articles as well, but it's implemented as a Lua module + JS gadget. YoshiRulz (talk) 13:00, 23 July 2026 (UTC)
Friday's talks at Wikimania
Mahir256 just finished his talk/workshop "From Abstract Content to Concrete Text with Wikidata Lexemes" on Elemthala (Q136813071). You can watch it on YouTube here (though there were audio problems, volume warning).
The workshop immediately before that was "Making indigenous languages ready for Wikifunctions". Hello to anyone who came from there! YoshiRulz (talk) 15:58, 24 July 2026 (UTC)
- @YoshiRulz: Thanks for highlighting these! There's also today's workshop on YouTube about 90 minutes after the start of the stream, though that might not be as interesting to watch. Jdforrester (WMF) (talk) 13:28, 25 July 2026 (UTC)
Testing an unconnected implementation
Hi everyone!
A few hours ago, I created my first function together with an unfinished Python implementation. When I wanted to test my implementation using the "Try this implementation" box in the bottom-right corner, I noticed that the button "Run function" was grayed out and there was a warning saying "This function has no connected implementations."
As it seems, you can only run an implementation if its corresponding function has at least one connected implementation. The implementation you want to run doesn't even have to be connected itself, as I can run the unconnected implementation Z12949 without any problems, even when I modify its code in the editor.
Is this behavior intentional? And is there any way I can test my implementation? Tc14Hd (talk) 19:28, 28 July 2026 (UTC)
- Yeah, it's a pointless limitation. I've connected the test for you. YoshiRulz (talk) 23:56, 28 July 2026 (UTC)
- Thanks! I knew I couldn't be the only one who noticed this problem... Tc14Hd (talk) 13:00, 29 July 2026 (UTC)
Hi! Just wanted to let everyone know that I recently created Help:Categorization as a draft help page explaining how categories work. I'm new to Wikifunctions, but I used my knowledge of MediaWiki in general combined with some research to write it. If anyone would like to improve it, feel free to. Axolitl (talk) 04:32, 30 July 2026 (UTC)
- It's just a general MediaWiki categories guide. It doesn't have anything special for Wikifunctions, which doesn't really have categories in the main namespace. Amir E. Aharoni (talk) 16:42, 30 July 2026 (UTC)
Wikifunctions & Abstract Wikipedia Newsletter #258: Abstract Wikipedia at Wikimania
In this issue, we discuss the presentations and workshops at Wikimania, including a features feedback request based on what we heard there, and highlight new features shipped this week including diffs for Wikifunctions.
Want to catch up with the previous updates? Check our archive!
Enjoy the reading! Quiddity (WMF) 19:05, 30 July 2026 (UTC)Impact of labels translation
A lot of the edits on Wikifunctions are additions and changes of labels, descriptions, and aliases of functions, inputs, tests, and implementations. (I will subsequently call this "labels" for simplicity.)
At Wikimania 2026, I heard from editors in several languages that they were encouraged to translate Wikifunctions' labels, and it made me wonder: Are there reasons to think that editing those labels has impact on the usage of Wikifunctions and Abstract Wikipedia by people who speak these languages? In general, I am quite famous as a major supporter of translating everything imaginable, but there should also be priorities, so if editing those labels doesn't have impact, then perhaps editors should be encouraged to translate something more visible.
After English, the most common languages for editing labels are German, French, Igbo, Italian, Indonesian, Bengali, Dutch, Japanese, Hindi, and Hebrew (information about this data).
Looking a bit more deeply into some of those:
- Hebrew labels were mostly contributed by @מקף (pronounced Maqaf), and a few were contributed by myself. I edit them mostly because I love seeing the UI translated as completely as possible, and since some object labels are integrated into the site's UI, they should be translated. Does this complete translation raise the usage of Wikifunctions by Hebrew speakers, though? I doubt it. Maqaf probably edits them because he creates some functions related to the Hebrew language, but that's just a guess, and I'd love to hear more about his motivation.
- The top editor of German labels is @Ameisenigel, who is generally a major contributor to translations across many Wikimedia projects, so perhaps his motivation is similar to mine, but he does it much more than I do. He also edits the content of actual functions, implementations, and tests. Some of the other German label editors do almost nothing but editing labels, although some, like @Lucas Werkmeister and of course @Denny also contribute to actual functions and implementations. But back to the main question: German is the top language for label translations thanks to Ameisenigel's huge work, but does it, for example, impact the creation of abstract content that works in German? When I try to select German on most abstract articles, I usually don't see a fully translated article. But maybe I'm not searching well?
- The situation is a bit similar with French. @Jérémy-Günther-Heinz Jähnick is the top French label editor, but he makes almost no contributions to functions and implementations. The second top label editor is @VIGNERON, who does contribute quite a lot to functions and implementations. There are several other prolific French label editors, but most of them contribute little or nothing at all to functions and implementations. And as with German, I almost never see abstract articles fully translated into French.
- Igbo has shown disproportionate label editing activity. I don't know why exactly, but I guess that there was some event that encouraged people to write labels (if anyone knows more, please tell me). All the top 10 Igbo label editors only wrote labels and didn't do anything else with functions or implementations. There are quite a lot of Igbo language functions, all of which were made by @Dolphyb, who contributed very little to translations. This, by itself, is not a problem at all: it's very common that programmers mostly write code and translators mostly translate. There is still the same question, though: do those language functions and massive label translations contribute to achieving Abstract Wikipedia's goal of generating Igbo content? I haven't seen evidence to support that, but I'd love to see it if anyone can present it.
- The situation with Indonesian is similar to the situation with Igbo, but there are much fewer language functions for Indonesian.
So that's what I can glean. If I'm incorrect about anything or if you can add some more info, please speak up. Because of my interest in localization, I'll be very grateful to learn more. Amir E. Aharoni (talk) 19:50, 30 July 2026 (UTC)
- Adding labels in other languages has several advantages for the project. To name a few
- It is an easy introduction to Wikifunctions
- it is good for the image of Wikifunctions and Abstract Wikipedia as not being English centric
- Contributors of Wikifunctions should be able to add texts in their own languages, so translations main functions is vital for that. That includes labels, descriptions and inputs.
- Not many labels are translated yet and not many functions work yet for other languages than English at the moment. The community is still very small, but I hope both will grow over time. They can mutually benefit each other. HenkvD (talk) 21:19, 30 July 2026 (UTC)
- @HenkvD, I heard similar claims before, but it's to scrutinize them.
It is an easy introduction to Wikifunctions
- and what does this introduction lead to? I haven't seen clear evidence that translating labels leads to other contributions or to using functions.it is good for the image of Wikifunctions and Abstract Wikipedia as not being English centric
- is it actually good? Evidently, many people in recent critical discussions about Wikifunctions and Abstract Wikipedia still think that it's English-centric.Contributors of Wikifunctions should be able to add texts in their own languages, so translations main functions is vital for that. That includes labels, descriptions and inputs
- it sounds vital; as I said, I support localization of everything in principle, and this is the main reason for thinking like that. However, this doesn't answer my question: what is the actual impact? Wikifunctions has been online for three years, so we should have seen something by now, and we aren't seeing anything.Not many labels are translated yet
- how do you define "many"? Thousands of labels were translated, and I think that it is "many". But, as you say,not many functions work yet for other languages than English at the moment
- so evidently, translating labels didn't lead to writing those functions, at least yet. Amir E. Aharoni (talk) 21:43, 30 July 2026 (UTC)- Wikifunctions might be live for 3 years, but Abstract Wikipedia is only lie a few months. As it is early days for Language functions, and the first are made in English it still is English centric. THAT NEEDS TO CHANGE. Translations should help with that. HenkvD (talk) 22:08, 30 July 2026 (UTC)
- See also Help:Multilingual. YoshiRulz (talk) 21:25, 30 July 2026 (UTC)
- Does it say anything about the impact of translating labels? I don't see it. Amir E. Aharoni (talk) 21:44, 30 July 2026 (UTC)
- No, I bring it up only as a possible explanation of translators' motives, and to point out where the documentation is should you want to improve it. YoshiRulz (talk) 22:00, 30 July 2026 (UTC)
- Does it say anything about the impact of translating labels? I don't see it. Amir E. Aharoni (talk) 21:44, 30 July 2026 (UTC)
- @Amire80: I've seen folks at Wikimania use Abstract Wikipedia in their language and start and edit articles in Tyap, Japanese, and French. Having labels for those functions unlocks the Abstract Wikipedia to be used entirely in their language. --Denny (talk) 06:07, 31 July 2026 (UTC)
- I understand the general idea of what this is supposed to be. I wonder whether there is actual measurable impact.
- You give Tyap as a successful example, but it's in fact the example of the opposite. I found zero functions whose name is translated into this language. I found one implementation whose name is translated into Tyap, Z29740, and also a few translated language names and type names. My intuition is that type names are actually among the most important things to translate here, but very few of them are translated at the moment, and I'm trying to talk about measurable impact here and not about intuition. And as you say in the newsletter, the Tyap contributor was able to do something, even though almost nothing is translated into his language.
- The label translation statistics for Japanese and French are very good, but seeing something at Wikimania is anecdotal; it's not measurable impact.
- So again: I understand the general idea of why localization is desirable. I've dedicated more than sixteen years of my life to promoting this idea, I keep doing it now, and I plan to keep doing for as long as my health allows me to do it. But here, I'm asking not about the idea, but about the impact. Amir E. Aharoni (talk) 09:57, 31 July 2026 (UTC)
- Hi @Amire80:. I’m not skilled at programming, but I manage to handle the translation work—even if it isn’t perfect. I’m doing my bit to help out. Jérémy-Günther-Heinz Jähnick (talk) 22:29, 1 August 2026 (UTC)
Contributing to language functions 1: Language Fragments
At Wikimania, @Dnshitobu recommended cloning a page like User:Dnshitobu/Dagbani Fragments and filling it with my own language. If I understand correctly, it's supposed to help to create functions for handling my language.
I created User:Amire80/Hebrew Fragments and started filling it. There are a bunch of problems with it, but let's say that I can complete it. Is it actually useful? Once it's complete, what do I do with it?
More broadly, if it is useful, is there a written guideline anywhere that recommends doing it? If I didn't visit Wikimania, I wouldn't know about it. Amir E. Aharoni (talk) 22:10, 30 July 2026 (UTC)
- From this week's newsletter:
[Dnshitobu's] main proposal is that editors can create simple wikitext tables of example fragments in their language so that others could later do the technical work of setting up the lexemes and NLG functions.
The next step is to correlate your example sentences to the top-level NLG functions, then add 1 or 2 test cases to each function from your table.
I don't believe Dnshitobu wrote up the process anywhere on-wiki, but that would be worth doing. YoshiRulz (talk) 22:30, 30 July 2026 (UTC)- OK, I can try to do it.
- However, I should mention that the examples work kind of well in English, and perhaps they work in Dagbani, but they don't translate easily into Hebrew. Different nouns need different prepositions some letters require morphology transformations and some don't, etc. It cannot really be solved with a few basic concatenations as it was probably done in English.
- The same is true for probably most other languages. Amir E. Aharoni (talk) 23:49, 30 July 2026 (UTC)
- Also, who do I notify when it's ready? Amir E. Aharoni (talk) 00:58, 31 July 2026 (UTC)
- WF:Requests for connection and disconnection YoshiRulz (talk) 01:15, 31 July 2026 (UTC)
- But these are not functions or implementations. These are just example strings. Amir E. Aharoni (talk) 09:58, 31 July 2026 (UTC)
- Right, you have to create test cases from them. For example, the "part of" sentences #7 and #8 correspond to Z34637, so start by adding a test there. Then create a new function with the same shape as Z34867 and add all your sentences to it as tests. YoshiRulz (talk) 17:49, 31 July 2026 (UTC)
- But these are not functions or implementations. These are just example strings. Amir E. Aharoni (talk) 09:58, 31 July 2026 (UTC)
- WF:Requests for connection and disconnection YoshiRulz (talk) 01:15, 31 July 2026 (UTC)
Contributing to language functions 2: Natural language operations
At this comment, @YoshiRulz recommended using pages like Wikifunctions:Catalogue/Natural language operations/Hebrew to see what functions are missing.
What can I actually do with that table? Is there a guide for writing such functions and fitting them into the NLG system?
Is this much better than something like User:Dnshitobu/Dagbani Fragments, which I've mentioned in another comment on this talk page? Or can both be used? Amir E. Aharoni (talk) 22:17, 30 July 2026 (UTC)
- The guide is at User:DSantamaria-WMF/Guide: Working with Z14294 (@DSantamaria-WMF: why is this not in Helpspace?), and mirrored in toolforge:abstract-data IIRC.
You can use whatever organisational method you find easiest. (Or if you're lucky enough to have someone to collaborate with, find consensus.) Starting with a Wikitext table means you're not forced to learn about Configuration of functions for given languages (Z14294) and function creation before you can start working. YoshiRulz (talk) 22:34, 30 July 2026 (UTC)- About the guide, I just end that guide one week ago and I was asking for some feedback on its correctness, once I have some feedback on that I will move it to the proper space.
- And definitely the tool is meant to be used for those purposes (finding all the Z14294 that needs coverage in a specific language for example). Let me know if I can help with that. DSantamaria-WMF (talk) 05:36, 31 July 2026 (UTC)
- On Abstract:User:HenkvD/Tasks per language I drafted a list of tasks per languages and per language fragment. Feel free to comment on this draft. HenkvD (talk) 10:17, 31 July 2026 (UTC)
