There is already stuffs to handle this kind of « mutex » on Wikidata : "disjoint union of", see for example in usage on htps:// . The statements are used on the talk page by templates that uses them to generate queries to find instances that violate the mutex : (for example This query , that does not find anything unsurprisingly because I don’t expect to find a lot of vertebra instances on Wikidata :) )

Le sam. 20 oct. 2018 à 12:09, Thad Guidry <> a écrit :
Hi All,

Just to address what Markus was hinting at with inference rules. Both positive and negative rules could be stored.  Back in the Freebase days, we had those and were called "mutex's".  We used them for "type incompatible" hints to users and stored those "type incompatible" mutex rules in the knowledge graph. (Freebase being a Type based system along with having Properties under each Type)


You actually have all those type incompatible mutexs in the Freebase dumps handed to you where you could start there.  The biggest one was called "Big Momma Mutex".
Here is an archived email thread to give further context:

Anyways, the point is that those rules worked well for us in Freebase and I can see rules also working wonders in various ways in Wikidata as well.
Maybe its just a mutex at each class ? Where multiple statements could hold rules ?

Wikidata mailing list