Page MenuHomePhabricator

[EPIC] Q4 - Type support for Wikidata prototype: Enumerations
Open, HighPublic

Description

In order to support the access of lexicographic data from Wikidata, we need to be able to support enumerations.

We are using identity widely in the Wikifunctions data model, such as Z4K1, Z8K5, and Z40K1, and others. It would make sense to use it in some of our existing types where we currently do not, e.g. Z14, Z60, and Z61. Also planned types, particularly enumerations, such as grammatical features, will require identity.

This epic is to capture the work to support enumerations in Wikifunctions, which will unlock the integration with Wikidata from the perspective of types.

Acceptance criteria:

  • [Schemata] Add key Z3K4 to Type Z3 / Key
    • Documentation of the new change to the functional model in wikifunctions.org
  • [Back-end] Add a (implicitly optional) boolean key on keys in the back-end
    • Adapt types that use identity
    • Minor changes to the backend or frontend are required to include this key in the type objects.
    • [MW PHP] Adjust ZObjectFactory validation/creation workflow and add tests
  • [Front-end] Support use of Z3K4 in front-end (but not editing of Types/Keys by users)
    • Once we have identity available, this would allow the default component to use this information for whether to select references instead of literals.
    • Changes on default component so the selection is properly restricted.
    • Optional: validators could be somewhat streamlined.
  • Migration of Booleans and Types to use identity throughout on production, if necessary
  • Demonstration and communication
    • At least one demonstrated use of identity/enumeration in a new Type.
    • At least one new "complex" Type demonstrated using both identity and type converters.
    • Community update to let them know there is a new way of using Types.

Details

TitleReferenceAuthorSource BranchDest Branch
Update function-schemata sub-module to HEAD (647a2cf)repos/abstract-wiki/wikifunctions/wikilambda-cli!36jforrestersync-function-schematamain
Update function-schemata sub-module to HEAD (647a2cf)repos/abstract-wiki/wikifunctions/function-evaluator!210jforrestersync-function-schematamain
Update function-schemata sub-module to HEAD (647a2cf)repos/abstract-wiki/wikifunctions/function-orchestrator!165apinesync-function-schematamain
Add Z3K4: is identity as an optional field to Z3 and mark built-in identity fields.repos/abstract-wiki/wikifunctions/function-schemata!115apineapine-Z3K4main
Customize query in GitLab

Event Timeline

Change #1025393 had a related patch set uploaded (by Genoveva Galarza; author: Genoveva Galarza):

[mediawiki/extensions/WikiLambda@master] Update function-schemata sub-module to HEAD (647a2cfe)

https://gerrit.wikimedia.org/r/1025393

Change #1025393 merged by jenkins-bot:

[mediawiki/extensions/WikiLambda@master] Update function-schemata sub-module to HEAD (647a2cfe)

https://gerrit.wikimedia.org/r/1025393