The HasSubtype ReferenceType is a concrete ReferenceType that can be used directly. It is a subtype of the HasChild ReferenceType.

The semantic of this ReferenceType is to express a subtype relationship of types. It is used to span the ReferenceType hierarchy, whose semantic is specified in 5.3.3.3; a DataType hierarchy is specified in 5.8.3, and other subtype hierarchies are specified in Clause 6.

The SourceNode of References of this type shall be an ObjectType, a VariableType, a DataType or a ReferenceType and the TargetNode shall be of the same NodeClass as the SourceNode. Each ReferenceType shall be the TargetNode of at most one Reference of type HasSubtype.