Having a lot of subclasses and a 1:1 relationship between class and Pset could potentially be simplified to keeping only the baseclass and having the "subclasses" being inferred by attaching Psets. E.g. applying Pset_Dilatometer to an object makes it possible to infer that the object (Test in this case) is actually a Dilatometer test.
I just wanted to quickly comment on this. It would entail that there are three ways then for subtyping in the schema. Entity / Predefined Type / Pset. There is no way to indicate that a Pset fulfills this subtyping role as opposed to a Pset with just complementary information. I would envision this poses problems for mappings to languages where typing is "cheaper" such as OWL or bsDD or mappings to native software. I'd personally prefer to have the predefined types in even if it is a bit of boilerplate.
I just wanted to quickly comment on this. It would entail that there are three ways then for subtyping in the schema. Entity / Predefined Type / Pset. There is no way to indicate that a Pset fulfills this subtyping role as opposed to a Pset with just complementary information. I would envision this poses problems for mappings to languages where typing is "cheaper" such as OWL or bsDD or mappings to native software. I'd personally prefer to have the predefined types in even if it is a bit of boilerplate.
Originally posted by @aothms in https://github.com/bSI-InfraRoom/IFC-Specification/issues/373#issuecomment-1094983774