IFC schema: the IfcRelationship concept
IfcRelationship is the second pillar of the IFC data schema. Here are different relationship types between entities and properties explained in just a few steps

In this blog post we’re going to make a brief overview of the second pillar on which the IFC (Industry Foundation Classes) format data schema is based, the IfcRelationShip, i.e. different types of relationships that are established within the IFC schema.
If you need to practically verify the concept of IfcRelationship between entities in a building (or parts of a building), such as, walls, floors, windows, you can use an online BIM viewer that allows you to open, analyze and manage an IFC file.
In our previous blog post, we’ve already looked at theIfcObject, the generalization of any semantically treated thing or process within the IFC, and the entities. Here are the links to the 3 contents forming the first level of specialization within the IFC class hierarchy:
- article regarding the IfcObject
- article regarding the IfcRelationship
- article regarding the IfcPropertyDefinition .
The IFC model structure
The IFC schema can be considered as a storage system for organizing and transferring digital data, in order to facilitate interoperability between different subjects.
Additionally, the IFC defines a model integrated with hundreds of entities organized hierarchically.

IFC Data schema composition
There are 3 fundamental concepts on which the IFC logic is based and that represent its structure:
IfcObjectDefinition: stands for all entities (objects)IfcRelationship: summarizes relationships between entitiesIfcPropertyDefinition: describes properties associated with the entities.

IFC schema | Scheme describing the IfcRelationship
IfcRelationship
IfcRelationship describes different types of relationships.
Specifically, there are 5 basic types of relationships in the IFC model, which are subtypes of the IfcRelationship class:
IfcRelConnectsis a connectivity relationship that connects objects based on certain criteria. For example, a slab connected to a beam or a partition wall supported on a floor slabIfcRelAssociatesserves to relate external sources of information and associates them with objects or property definitions. The association relationship is one-way. An external IFC library in which the object or the information on the classification for a particular space inside a building is defined, could represent a valid exampleIfcRelDecomposesdefines the general concept of elements that are composed or decomposed. Decompositions imply a hierarchy, where, the definition of the whole depends on the definition of the single parts and vice versa. Therefore, a cost item can be included in other items or a structural frame can be considered an aggregation of beams and columnsIfcRelDefinesis a relationship that allows an object instance to inherit a property set. For example, different instances of windows within the IFC model may be of the same type, (belonging to the same catalogue or manufacturer). Thereby they share the same informationIfcRelAssignsmakes explicit assignment relationships that arise when an object needs the services of another object. For example, we can assign a certain resource to an object.
Each of these 5 types allows the development of further relationships between objects, types, properties, etc. (subtypes trees) as shown in the following scheme:

IFC file structure | Scheme showing the IfcRelationship subdivision
The screenshots below taken from the usBIM.viewer+ working space outline different examples of relationships:
- in the first illustration we see how
IfcRelAggregatesrelates theIfcBuildingwith all the levels in which it is subdivided, i.e.IfcBuildingStorey - in the second illustration it is shown how
IfcRelContainedInSpatialStructurelinks togetherIfcBuildingStoreywith all the entities belonging to it - in the third one it is highlighted how
IfcRelConnectsPathElementsrelates the two contiguous entities (walls) contained inIfcWallStandardCase.

IfcRelAggregates | IfcBuilding relationship with all the levels of IfcBuildingStorey

IfcRelContainedInSpatialStructure | IfcBuildingStorey relationship with its belonging entities, such as IfcDoor, IfcWallStandardCase, IfcSlab, IfcWindow

IfcRelConnectsPathElements | Relationship between two contiguous entities included in IfcWallStandardCase IfcRelationship: IFC Data schema


