buildingSMART / bSDD

The buildingSMART Data Dictionary repository, where we publish the documentation, examples and more. We don't publish here the data, the source code of the bSDD service or the front end of the website.
https://www.buildingsmart.org/users/services/buildingsmart-data-dictionary/
MIT License
129 stars 36 forks source link

How to specify the relationship between a class and a pset being modelled as class with type "GroupOfProperties"? #96

Open MatthiasWeise opened 2 months ago

MatthiasWeise commented 2 months ago

Psets from IFC4.3 are represented as class with class type "GroupOfProperties" (see for instance Pset_ActorCommon with URI https://identifier.buildingsmart.org/uri/buildingsmart/ifc/4.3/class/Pset_ActorCommon). The applicable class of Pset_ActorCommon is IfcActor, but how are both linked together?

I was wondering if a ClassRelationship shall be used, but can not find a proper relation type. However, it seems (at least based on available URIs) that the Pset_ActorCommon might be modelled as a property as well (see: https://identifier.buildingsmart.org/uri/buildingsmart/ifc/4.3/class/Pset_ActorCommon/prop/Pset_ActorCommon). If not, why do we have different URIs?

But still, I cannot see a way how both are linked together (except using the Pset text field in ClassProperties, which seems to be a rather weak name-based relationship without any further obvious logic). Another option according to the specification (in particular double-checking with ISO 23386) might be the ParentClassCode text field in Class, which however does not seem to be populated in the IFC4.3 dictionary.

If there is a link/relationship between both, can you kindly provide an example how such structures should be properly represented in the bSDD JSON file?

Furthermore, if a relationship between the classes IfcActor and Pset_ActorCommon exist, and if Pset_ActorCommon identifies all Properties via ClassProperty definition already, do I have to repeat the definition of ClassProperties in IfcActor as well?

atomczak commented 2 months ago

They are not linked. What's more, we're most probably getting rid of those property set classes in the next update of the IFC dictionary to avoid those complexities.