User story
As a Wikidata editor, I want the constraint system to properly implement disjoint union of (P2738) checks, so that data modeling errors are caught early.
Suggested improvement
- Add automated constraint checking for P2738.
- Show the warning both at the violating P31/P279 statement and at the P2738 statement itself.
Acceptance criteria
- A class with a P2738 statement triggers a constraint violation when a direct or indirect instance or subclass of that class does not satisfy the disjoint union condition
- The violation is shown on the item’s P31 (for the instance) or P279 (for the subclass) statement(s)
- The violation is also shown on the P2738 statement of the class
- Reports of all violations are generated regularly (current report is incomplete, as it checks only direct subclasses of the disjoint classes and it doesn't check instances)
Previous discussion