We want to make statements on Lexemes that reference other Lexemes.
Example usage: on the Lexeme "hard" we'd have a statement "derived from: heard". "heard" would be another Lexeme.
Lydia_Pintscher | |
May 17 2017, 10:30 AM |
F8411766: image.png | |
Jun 8 2017, 12:38 PM |
We want to make statements on Lexemes that reference other Lexemes.
Example usage: on the Lexeme "hard" we'd have a statement "derived from: heard". "heard" would be another Lexeme.
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Open | None | T194253 Configure the CI job that runs WikibaseLexeme's browser tests against test wikidata | |||
Resolved | Lydia_Pintscher | T169708 Wikidata 2017 Q3 goals | |||
Resolved | Lydia_Pintscher | T165588 tasks for lexicographical data support until Wikimania 2017 | |||
Resolved | Addshore | T168260 Deploy WikibaseLexeme extension on Wikimedia cluster | |||
Resolved | Addshore | T191457 Deploy WikibaseLexeme on www.wikidata.org | |||
Resolved | Addshore | T191458 Deploy WikibaseLexeme on test.wikidata.org | |||
Resolved | Lydia_Pintscher | T168263 WikibaseLexeme functional baseline | |||
Open | None | T91505 [Epic] Adding new datatypes to Wikidata (tracking) | |||
Resolved | Lydia_Pintscher | T165578 [Story] New datatype for referencing Lexemes | |||
Duplicate | Ladsgroup | T167963 Deprecate LegacyIdInterpreter and use EntityIdComposer instead | |||
Resolved | WMDE-leszek | T167964 [Task] Inject frontend part of lexeme datatype from WikibaseLexeme extension |
Change 357571 had a related patch set uploaded (by Ladsgroup; owner: Amir Sarabadani):
[mediawiki/extensions/WikibaseLexeme@master] [WIP] Start of a basic and broken WikibaseLexeme.datatypes.php
Change 357794 had a related patch set uploaded (by Ladsgroup; owner: Amir Sarabadani):
[mediawiki/extensions/Wikibase@master] Make ValidatorBuilders::getEntityValidators public
Change 357796 had a related patch set uploaded (by Ladsgroup; owner: Amir Sarabadani):
[mediawiki/extensions/Wikibase@master] [Code experiment] What needs to be done to make lexeme datatype work
Okay, I was able to add lexeme as value after tons of horrible hacks which I explain below. First, take a look:
I was able to add using both API and GUI.
Now let's talk about hacks:
Once these are in place, https://gerrit.wikimedia.org/r/357571 would work just fine.
If https://gerrit.wikimedia.org/r/357571 gets merged without merging anything else, users will be able to make properties that have "lexeme" as data type and that alone is a huge win.
Overall does not seem that horrible, thanks @Ladsgroup
LegacyIdInterpreter is hardcoded to Property and Item. This needs to be changed (I added lexeme to that file in my localhost)
I believe the way out here is to stop using this class and used EntityIdComposer instead. How exactly do all this, it is another story.
Lots of frontend hacks had to be pushed to Wikibase, I don't know how to make frontend code injectable.
the patch itself seems small but I expect that making those few places in the frontend code generic, or making it possible to use something Lexeme-specific in the UI in a way it all fits together will be loads of work or fun.
Change 357794 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Make ValidatorBuilders::getEntityValidators public
Change 357571 merged by jenkins-bot:
[mediawiki/extensions/WikibaseLexeme@master] Start of a basic WikibaseLexeme.datatypes.php
I'm signing off this since I don't know how to handle to frontend part, I will try to tackle the backend part though.
Change 357796 abandoned by Ladsgroup:
[Code experiment] What needs to be done to make lexeme datatype work