Is type a PROPER (strict) subtype of ancestor — i.e. isSubtypeOf is
true AND type is not ancestor itself? Use this for an abstract
supertype with no concrete instances (IfcMaterialDefinition,
IfcProfileDef, …): no real IFC entity's EntityRef.type is ever the
literal abstract-type name, so a caller asking "is this entity one of
that abstract type's concrete members" wants the self-match excluded,
not isSubtypeOf's reflexive answer.
Is
typea PROPER (strict) subtype ofancestor— i.e.isSubtypeOfis true ANDtypeis notancestoritself? Use this for an abstract supertype with no concrete instances (IfcMaterialDefinition,IfcProfileDef, …): no real IFC entity'sEntityRef.typeis ever the literal abstract-type name, so a caller asking "is this entity one of that abstract type's concrete members" wants the self-match excluded, notisSubtypeOf's reflexive answer.