IFC4.3.x-development icon indicating copy to clipboard operation
IFC4.3.x-development copied to clipboard

Semantic meaning of cardinality of IfcPropertySet association

Open Moult opened this issue 3 years ago • 1 comments

IfcPropertySet.DefinesOccurrence is defined as SET [0:?] OF IfcRelDefinesByProperties FOR RelatingPropertyDefinition

Scenario 1:

IfcWallX <- IfcRelDefinesByProperties -> IfcPropertySetX IfcSlabX <- IfcRelDefinesByProperties -> IfcPropertySetX

Scenario 2:

IfcWallX, IfcSlabX <- IfcRelDefinesByProperties -> IfcPropertySetX

What's the difference between the two scenarios?

If SET [0:?] were changed to SET [0:1] then that would enforce scenario 2, which seems a bit cleaner to me.

Moult avatar Mar 20 '22 23:03 Moult

These kind of things impact partial models. I would rather prefer the other extreme where we change all relationship entities to be 1-1 (it would still allow n-n relationships just with more rel instances), but it'd be harder to impose cardinality constraints I think. But computing subgraphs or joining models without the need to modify instances seems so important to me.

The proposed change is also not a backwards compatible change in terms of validity of the serializations so I'd say we better postpone this discussion and redo the discussion for IFC5 taking into account partial exchanges.

aothms avatar Mar 21 '22 08:03 aothms