Collected data must be organized to be utilized efficientlly, and hierarchical classification based on semantics of data is useful approach to organize data. Although discussions on classification hierarchies are rather straightforward when data are homogeneous, where the semantics of objects is single at the same level, collected data are usually heterogeneous. When multiple semantics data (objects) are classified, the objects are allowed to belong to multiple child classes, that causes two problems. Objects of a class are duplicated in the terminal classes, and the members of a class include objects whose semantics is not the semantics of the class. If an object belongs to more than one class, one of the objects in the child classes is selected to represent the object in the parent class. The depth of the last class where an object is not selected is used to cope with the duplication problem. By the depth of the first class where duplicates of the object appear, the proper objects of a class can be distinguished from the other objects.