Model:
Location is a class.
LegalEntity is a class.
GeoPoliticalEntity is a type of {LegalEntity and Location}.
Nation is a type of GeoPoliticalEntity.
Commitment is a class, described by committer with values of type LegalEntity, described by commitee with values of type LegalEntity.
Guarantee is a type of Commitment.
China is a Nation.
a Guarantee with committer China.
has warning on last statement, "committer, an object property with range http://sadl.org/classIsSubclassOfBug.sadl#LegalEntity, cannot be compared (is) with China, an instance of type http://sadl.org/classIsSubclassOfBug.sadl#Nation.".
Since Nation is a subclass of GeoPoliticalEntity and GeoPoliticalEntity is a subclass of the intersection of LegalEntity and Location, an instance of Nation must be an instance of LegalEntity and the warning is wrong.
Model:
has warning on last statement, "committer, an object property with range http://sadl.org/classIsSubclassOfBug.sadl#LegalEntity, cannot be compared (is) with China, an instance of type http://sadl.org/classIsSubclassOfBug.sadl#Nation.".
Since Nation is a subclass of GeoPoliticalEntity and GeoPoliticalEntity is a subclass of the intersection of LegalEntity and Location, an instance of Nation must be an instance of LegalEntity and the warning is wrong.