Implement a check on Wikidata for Contemporary constraint.
Proposed assertions (if true, there isn't a constraint violation; if false, there is a constraint violation):
- Text: if [item A] has this property (Pn) linked to [item B], then [item A] and [item B] have to coincide or coexist at some point of history according to properties P569 (date of birth), P570 (date of death), P571 (inception), P576 (dissolved or abolished), P580 (start time) and P582 (end time).
( ( A.P580 ≤ B.P582 OR A.P580 ≤ B.P570 OR A.P580 ≤ B.P576 OR A.P569 ≤ B.P582 OR A.P569 ≤ B.P570 OR A.P569 ≤ B.P576 OR A.P571 ≤ B.P582 OR A.P571 ≤ B.P570 OR A.P571 ≤ B.P576 ) OR ( NOT EXISTS A.P580 AND NOT EXISTS A.P569 AND NOT EXISTS A.P571 ) OR ( NOT EXISTS B.P582 AND NOT EXISTS B.P570 AND NOT EXISTS B.P576 ) ) AND ( ( B.P580 ≤ A.P582 OR B.P580 ≤ A.P570 OR B.P580 ≤ A.P576 OR B.P569 ≤ A.P582 OR B.P569 ≤ A.P570 OR B.P569 ≤ A.P576 OR B.P571 ≤ A.P582 OR B.P571 ≤ A.P570 OR B.P571 ≤ A.P576 ) OR ( NOT EXISTS B.P580 AND NOT EXISTS B.P569 AND NOT EXISTS B.P571 ) OR ( NOT EXISTS A.P582 AND NOT EXISTS A.P570 AND NOT EXISTS A.P576 ) )
It would be great that the set of "properties of start" and the set of "properties of end" could be modified somehow over time.