For some constraint types, especially Symmetric and Inverse, the usual fix is simple enough that the user script / gadget could offer a single button “fix this” that would fix the constraint violation automatically (in this case, add the statement on the other item).
Description
Related Objects
- Mentioned In
- T341405: An "improved autofix" needed to replace non-standard statements in Wikidata, in order to keep the data model coherent
- Mentioned Here
- T209559: Inverse statements duplicate work, data, and may be out of sync
T276876: Create condition for properties to declare inverse relationship properties that will be automatically assigned to the inverse item
Event Timeline
Format constraint violations can be autofixed too. See
https://www.wikidata.org/wiki/Template:Autofix
This needs serious discussion and design thought from @Jan_Dittrich before we do it. I am worried that if we do this wrong we're going to get too many fixes that should not be done.
@Lydia_Pintscher: But without something like this, it makes it more likely that people will start removing correct statements to make the warning go away. I can easily imagine a user who is less familiar with the interface (and the fact we're expected to enter the same thing twice on two separate pages) seeing a warning, wanting to resolve it, looking at the current page for a way to do it and only being able to find the "remove" link. Then when they try clicking remove (given the lack of any other obvious options), the warning goes away like they wanted.
Aside of "it will work", both assumptions (people wrongly delete things and people wrongly by-button-autofix things) seem plausible. So my suggestion would be to see how it is used when people start to (slowly) enable it as gadget and based on it take steps for improvement. So, although it is good to already consider these concerns, let's decide about it, when we know more.
Discussed this briefly with @Sjoerddebruin and he suggested we could roll out this part only to users with a certain edit count or the rollbacker right. That seems sensible to me as a start.
@Nikki suggest tagging all the edits with a specific tag to make them easier to find. We should do that.
It seems to me that new/ low activity users are those most likely to need to be guided like this.
Then again, if we can use a script to tell people that an inverse item should be added, we may as well let a bot add it.
The meta issue is that we currently do not distinguish sufficiently between warnings that "you did something that is clearly wrong; please fix it ASAP" and hints that "there is something else that you might like to do, if you have a minute".
I would love this feature, I frequently add new properties that require a sibling statement (e.g. Steam Application ID requires that you add Steam as a Distribution method for the item) and this would make my life a lot easier :)
Note: the problem of symmetric and inverse properties presently is solved through JS gadgets: https://www.wikidata.org/wiki/User:Magnus_Manske/consistency_check.js and many enlarged forks, most notably https://www.wikidata.org/wiki/User:Frettie/consistency_check_add.js, https://www.wikidata.org/wiki/User:JonnyJD/consistency_check.js, https://www.wikidata.org/wiki/User:Xmlizer/consistency_check.js.