Submissions:2022/Wikifunctions - a new Wikimedia project

From WikiConference North America
Jump to navigation Jump to search

This submission has been accepted for WikiConference North America 2022.


Wikifunctions - a new Wikimedia project


Saturday Longer Sessions, Sunday Wikimedia

Type of session:



Wikifunctions is a new Wikimedia project we are working on with the goal of allowing a community to create and maintain a library of functions. The main goal of Wikifunctions is to support the creation of Abstract Wikipedia, a Wikipedia where the content is created and maintained only once, but can be read in any of the more than 300 languages Wikipedia supports, and can be edited in any of those languages. But Wikifunctions explicitly aims for a wider goal: to provide a library of functions for many different use cases.

Functions answer questions. And as such, functions are an integral part of knowledge for a modern world. Besides the functions necessary to support the goals of Abstract Wikipedia, i.e. functions which allow for natural language generation, we envision also to support functions for other domains. Maps and geographical data provide a rich environment for the application of functions. We will be able to use functions in order to ensure constraints on the geographical data in Wikidata or in projects such as OpenStreetMaps, or to use the data in novel ways and thus also to encourage the creation of more data. Wikidata has still large gaps regarding for example historical maps of former countries, distribution maps of species, or for describing the geographical extension of climates or ecosystems.

In this talk we will present Wikifunctions, the current state of the project, and the plans regarding Abstract Wikipedia. We will also present some possibilities regarding how geodata can be used and leveraged with Wikifunctions, in order to start a conversation with the community, collect ideas and to see how interesting certain use cases might be.

More information about Wikifunctions and Abstract Wikipedia can be found here:

Previous presentations and articles about the project can be found here:,_press,_and_videos

Academic Peer Review option:

Author name:

Denny Vrandečić

E-mail address:

Wikimedia username:


Affiliated organization(s):

Wikimedia Foundation

Estimated time:

45 minutes (including questions)

Special requests:

Have you presented on this topic previously? If yes, where/when?:

yes, several times (see links)

If your submission is not accepted, would you be open to presenting your topic in another part of the program? (e.g. lightning talk or unconference session)


Copy of chat and questions from session

Note: Questions will be answered and slides shared, in the coming days.

Comments (during presentation)

  • Minh Nguyễn: I can finally stop (ab)using [[Special:ExpandTemplates]] and [[Module:Sandbox]] to use the ParserFunctions and Lua implementations of these functions. 😅
  • Minh Nguyễn: Good point about map data in Commons. It’s part of one of the workflows for getting interactive maps onto Wikipedia articles:
  • Minh Nguyễn: Some of these checks sound like things Sophox would also be able to answer, but maybe not as elegantly:
    • Jan Ainali: Yes, but it couldn't answer something like, which of the taxons that are named after a European botanist can you find in Uruguay, which is made possible through Wikidata.
    • Minh Nguyễn: Sophox federates w/ Wikidata for that purpose. There are some examples on that page.
    • Minh Nguyễn: But the syntax isn’t very elegant, so I’m happy about something more integrated.
    • Jan Ainali: Ah, it can federate, nice!
    • Daniel Mietchen: Sophox is great but has too much downtime
    • Minh Nguyễn: Yeah, I look forward to trying out these geodata checks in Wikifunctions. Good to have multiple options.
  • Daniel Case: How timely ... just a few days after the 155th anniversary of her birth 🙂
  • Jess Beutler: Any questions for Denny?


  • Daniel Mietchen: How can domain experts assist in building/ improving Wikifunctions for their domain?
    • Daniel Mietchen In general, wait until we have launched. It is very much possible that how to start will be difficult: do we need specific data types, what are the basic functions that need to be in place to offer value in that field, when can a domain expert start being productive? We will have discussion spaces on wiki and on chat. If someone is really curious, they can already join us on the Beta, but that may be more painful for many. --Denny (talk) 17:52, 15 November 2022 (UTC)
  • Minh Nguyễn: The examples here show generating output, but what about input? My biggest frustration w/ OSM querying is that the querying languages are too complex. Could Wikifunctions assist in developing natural-language querying for geodata?
    • Mxn Eventually I hope that we will be going that way, yes. For now, our plan for inputs is to have a form based UX. This will be one of the things where we will need to spend more time and attention later. We are planning to have a Natural Language Generation system, so it sounds like we would be halfway there to a Natural Language Understanding (NLU) system - but I am not sure about that. For NLU, I think we will require a different approach and maybe a different system. There have been ideas around this just as Magnus Manske's The Talk Page, but honestly, I think this requires quite some thought. So, I am respectful of the complexities a natural language querying would require, that's a long term goal. But I am optimistic that we can in the mid-term provide something that is approachable by the general user to call functions, even if it is not natural language based. I hope that makes sense. --Denny (talk) 17:57, 15 November 2022 (UTC)
  • Jane Darnell: It would be nice to have a function to change "Last, First" to "First Last" and the other way around (if the Wikidata item has family name and given name)
  • Jan Ainali: Could we imagine functions to be usable in a user script?

Notification-ping @ Daniel Mietchen, Mxn, Jane023, Ainali: your questions from the session have been answered above! Thanks again for those good questions.

(Sidenote: I'm re-pinging because: I had tried to helpfully leave hidden comments with your usernames for Denny to use in his replies (<!-- {{ping|username}} -->) but I'd forgotten about Echo's limitation that it won't send a ping if content was removed/changed in the same diff (as it interprets that as a potential content-refactor). Sorry about that!) Quiddity (talk) 20:46, 15 November 2022 (UTC)