Abstract Wikipedia
There was a discussion panel for Wikimedians to ask anything about Wikifunctions and Abstract Wikipedia at Wikimania 2021. |
Wikifunctions will be the new name for the upcoming wiki.[1] |
Abstract Wikipedia |
---|
(Discussion) |
General |
Development plan |
|
Notes, drafts, discussions |
|
Examples & mockups |
Data tools |
Historical |
Abstract Wikipedia | |
---|---|
Group: | {{{group}}} |
Start: | 2020-07 |
Team members: | Denny Vrandečić (Head of Special Projects), Aishwarya Vardhana (Senior UX Designer), Quiddity (Community Relations Specialist), Cai Blanton (Senior Engineering Manager), James Forrester (Staff Software Engineer, Tech Lead), Genoveva Galarza (Staff Software Engineer), Cory Massaro (Staff Software Engineer), David Martin (Staff Software Engineer), Julia Kieserman (Software Engineer), Adam Baso (Engineering Director) |
Updates: | Updates |
Project
This project consists of two parts: Abstract Wikipedia and Wikifunctions.
The goal of Abstract Wikipedia is to let more people share more knowledge in more languages. Abstract Wikipedia is a conceptual extension of Wikidata.[2] In Abstract Wikipedia, people can create and maintain Wikipedia articles in a language-independent way. A particular language Wikipedia can translate this language-independent article into its language. Code does the translation.
Wikifunctions is a new Wikimedia project that allows anyone to create and maintain code. This is useful in many different ways. It provides a catalog of all kinds of functions that anyone can call, write, maintain, and use. It also provides code that translates the language-independent article from Abstract Wikipedia into the language of a Wikipedia. This allows everyone to read the article in their language. Wikifunctions will use knowledge about words and entities from Wikidata.
This will get us closer to a world where everyone can share in the sum of all knowledge.
What is a function?
A "function" is a sequence of computer program instructions that makes a calculation based on data you provide. Functions are a form of knowledge that can answer questions, such as how many days have passed between two dates or the distance between two cities. More complicated functions can answer more complicated questions, such as the volume of a three dimensional shape, the distance between Mars and Venus on a certain date, or whether two species were alive at the same time. We already use functions in many types of knowledge inquiries, such as asking a question to a search engine. The templates known as {{convert}}
and {{age}}
in English are also examples of functionalities that are already used in many Wikipedias, written in wikitext and Lua and manually copied to each wiki where it's wanted.
More examples of functions are at Early function examples, and very rough sketches of how the interface might look are at Early mockups.
In short, functions make a calculation on the data you provide, and answer a question you have about it.
This new Wikimedia project will build a library of functions, written by volunteers, to help answer questions like these across languages. By building out our library of functions, we can enable more people to access and explore free knowledge in new ways.
What is Abstract Wikipedia?
The term “Abstract Wikipedia” itself refers to the long-term goal – that this library of functions will someday enable the creation of language-independent articles. Once more pieces of this project are in place, this will mean that any wiki – especially small to medium wikis – will be able to dramatically increase the number of articles available in their language. It also means that editors can share knowledge from their culture and contexts with a larger and more global audience.
The new wiki of functions, Wikifunctions, will develop the coding infrastructure to make this vision possible. The Abstract Wikipedia part of the project will start in roughly 2022.
In other words: we will be able to combine the functions from the new wiki, with the data and linguistic-information in Wikidata, in order to generate natural language sentences in any supported languages. These sentences can then be used by any Wikipedia (or elsewhere).
Timeline
- 2013–2020: Project discussion, research, and proposal
- May 2020: Project approved
- July 2020: Project announced; Development begins on Extension:WikiLambda; Mailing list and other channels created and in-depth discussions increase
- September 2020 – December 2020: Wiki of functions naming contest.
- December 2020: Start discussions for the Wikifunctions logo contest and submissions of proposals.
- 2021: Launch Wikifunctions on the Beta Cluster
- 2022: Launch Wikifunctions in production; start community discussions about the architecture
- 2022: Start development of Abstract Wikipedia proper
- 2023: Integration of Abstract Wikipedia into Wikipedia proper and other sister projects
Participate
- Edit
- Work on lexicographic knowledge in Wikidata. This will be needed for Abstract Wikipedia to succeed and can be worked on right now.
- Discuss
- Talk:Abstract Wikipedia
- Dedicated mailing list
- Telegram or IRC #wikipedia-abstractconnect (bridged together) (current logs, old logs)
- Develop
- mw:Extension:WikiLambda
- phabricator:tag/abstract wikipedia
- If you want to help with development, please let us know.
- Try it out
- Volunteer as a design-interview tester.
- You can see some early mockups for a rough idea of how the user interface might work.
- An unofficial test wiki for the WikiLambda extension is available. This is a very early version, it will get better over time.
- An early prototype implementation is available on Github. This may no longer be working with the latest MediaWiki releases.
- The easiest way to dive into the prototype is by reading the walkthrough.
- Alternative implementation in GraalVM.
Office hours
The Wikifunctions and Abstract Wikipedia office hours are online events where the development team present what they have been working on recently, and the community is welcome to ask questions and discuss important related issues. They are announced on the mailing list and in the newsletter. They take place every 4-6 weeks.
- Next:
- 2021-12-20 19:00 UTC
- In the Telegram channel or IRC Channel #wikipedia-abstractconnect (bridged together)
- 2021-12-20 19:00 UTC
- Previous:
- 2021-08-14 (Wikimania)
- 2021-06-22
Background
An article in the Signpost provides a more detailed introduction to the idea. The material below - research papers, videos of talks, prototype software - offers a lot of detail. A detailed draft plan for the development of Abstract Wikipedia is also available.
See the Historic proposal page for the long list of related discussions, papers, videos, and comparable proposals.
Originally, the project was code-named Wikilambda, derived from Lambda calculus. The name is still referenced in the name of Extension:WikiLambda and in the Wikifunctions logo which contains a lambda character.
Highlights include:
- Short introductory video to Wikidata and the Abstract Wikipedia idea (New York, 2019) (18 min)
- Capturing meaning: Toward an abstract Wikipedia (short intro)
- Collaborating on the sum of all knowledge across languages (social aspects)
Further reading
- Abstract Wikipedia as a project on its own
- Vision of Abstract Wikipedia
- Examples of abstract content
- Glossary
Project plan
- Summary: overview of the project plan
- Name: discussion on the name of the project
- Goals: what are we trying to achieve? Primary and secondary goals
- Organization: how the development team would be set up
- Requirements: overall conditions that the project needs to fulfill
- Architecture: an overview of how the project components would work together
- Components: individual software components the project needs to deliver
- Tasks: individual tasks that need to be done by the projects
References
- ↑ Initially known as Wikilambda, the new name was selected at end of 2020 in a community contest. Wikifunctions is treated as a singular proper noun, however it may be translated.
- ↑ The new components (listed in the development plan for Abstract Wikipedia) include extensions to Wikidata, whose integration (in the second year of the project) requires the agreement of the Wikidata community before storing the “abstract content” there or on another wiki (such as the new Wikifunctions wiki developed in the first part of the project, or another multilingual wiki).