The concept templates of Object Definition provides the means to define an object occurrence by its object type and attached property and quantity sets.
<?xml version="1.0"?>
<ConceptTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" uuid="33e0be15-e301-4858-9f4b-18b2eb5488ba" name="Object Definition" applicableSchema="IFC4" applicableEntity="IfcObjectDefinition">
<SubTemplates>
<ConceptTemplate uuid="35a2e10e-20df-40f4-ab2f-dacf0a6744f4" name="Object Typing" applicableSchema="IFC4" applicableEntity="IfcObject">
<Rules>
<AttributeRule RuleID="HasType" AttributeName="IsTypedBy">
<EntityRules>
<EntityRule EntityName="IfcRelDefinesByType">
<AttributeRules>
<AttributeRule RuleID="RelatingType" AttributeName="RelatingType">
<EntityRules>
<EntityRule EntityName="IfcTypeObject">
<AttributeRules>
<AttributeRule RuleID="TypeName" AttributeName="Name" />
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="PredefinedType" />
</Rules>
</ConceptTemplate>
<ConceptTemplate uuid="36984334-3ac8-4e59-85a6-f68d65e379c7" name="Property Sets" applicableSchema="IFC4" applicableEntity="IfcRoot">
<SubTemplates>
<ConceptTemplate uuid="f74255a6-0c0e-4f31-84ad-24981db62461" name="Property Sets for Objects" version="1" applicableSchema="IFC4" applicableEntity="IfcObject">
<Rules>
<AttributeRule RuleID="PredefinedType" AttributeName="PredefinedType" />
<AttributeRule AttributeName="IsDefinedBy">
<EntityRules>
<EntityRule EntityName="IfcRelDefinesByProperties">
<AttributeRules>
<AttributeRule AttributeName="RelatingPropertyDefinition">
<EntityRules>
<EntityRule EntityName="IfcPropertySet">
<AttributeRules>
<AttributeRule RuleID="PsetName" AttributeName="Name" />
<AttributeRule RuleID="Properties" AttributeName="HasProperties">
<EntityRules>
<EntityRule EntityName="IfcPropertySingleValue">
<References>
<Template ref="6655f6d0-29a8-47b8-8f3d-c9fce9c9a620" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyBoundedValue">
<References>
<Template ref="3d67a2d2-761d-44d9-a09e-b7fbb1fa5632" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyEnumeratedValue">
<References>
<Template ref="c148a099-c351-43a8-9266-5f3de0b45a95" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyListValue">
<References>
<Template ref="8e10b688-9179-4e3a-8db2-6abcaafe952d" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyTableValue">
<References>
<Template ref="35c947b0-6abc-4b13-8ec7-696ef2041721" />
</References>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</Rules>
<SubTemplates>
<ConceptTemplate uuid="e26040e8-82e2-4f6a-bc63-ac8e6da2d0ae" name="Property Sets with Override" applicableSchema="IFC4" applicableEntity="IfcObject">
<Rules>
<AttributeRule RuleID="PredefinedType" AttributeName="PredefinedType" />
<AttributeRule AttributeName="IsDefinedBy">
<EntityRules>
<EntityRule EntityName="IfcRelDefinesByProperties">
<AttributeRules>
<AttributeRule AttributeName="RelatingPropertyDefinition">
<EntityRules>
<EntityRule EntityName="IfcPropertySet">
<AttributeRules>
<AttributeRule RuleID="PsetName" AttributeName="Name" />
<AttributeRule RuleID="Properties" AttributeName="HasProperties">
<EntityRules>
<EntityRule EntityName="IfcPropertySingleValue">
<References>
<Template ref="6655f6d0-29a8-47b8-8f3d-c9fce9c9a620" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyBoundedValue">
<References>
<Template ref="3d67a2d2-761d-44d9-a09e-b7fbb1fa5632" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyEnumeratedValue">
<References>
<Template ref="c148a099-c351-43a8-9266-5f3de0b45a95" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyListValue">
<References>
<Template ref="8e10b688-9179-4e3a-8db2-6abcaafe952d" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyTableValue">
<References>
<Template ref="35c947b0-6abc-4b13-8ec7-696ef2041721" />
</References>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="IsTypedBy">
<EntityRules>
<EntityRule EntityName="IfcRelDefinesByType">
<AttributeRules>
<AttributeRule AttributeName="RelatingType">
<EntityRules>
<EntityRule EntityName="IfcTypeObject">
<AttributeRules>
<AttributeRule AttributeName="HasPropertySets">
<EntityRules>
<EntityRule EntityName="IfcPropertySet">
<AttributeRules>
<AttributeRule RuleID="TypePsetName" AttributeName="Name" />
<AttributeRule RuleID="TypeProperties" AttributeName="HasProperties">
<EntityRules>
<EntityRule EntityName="IfcPropertySingleValue">
<References IdPrefix="Type">
<Template ref="6655f6d0-29a8-47b8-8f3d-c9fce9c9a620" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyBoundedValue">
<References IdPrefix="Type">
<Template ref="3d67a2d2-761d-44d9-a09e-b7fbb1fa5632" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyEnumeratedValue">
<References IdPrefix="Type">
<Template ref="c148a099-c351-43a8-9266-5f3de0b45a95" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyListValue">
<References IdPrefix="Type">
<Template ref="8e10b688-9179-4e3a-8db2-6abcaafe952d" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyTableValue">
<References IdPrefix="Type">
<Template ref="35c947b0-6abc-4b13-8ec7-696ef2041721" />
</References>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</Rules>
</ConceptTemplate>
</SubTemplates>
</ConceptTemplate>
<ConceptTemplate uuid="c32cc55b-afc7-439e-b821-e646e1b1dd1a" name="Property Sets for Performance" applicableSchema="IFC4" applicableEntity="IfcPerformanceHistory">
<Rules>
<AttributeRule AttributeName="IsDefinedBy">
<EntityRules>
<EntityRule EntityName="IfcRelDefinesByProperties">
<AttributeRules>
<AttributeRule AttributeName="RelatingPropertyDefinition">
<EntityRules>
<EntityRule EntityName="IfcPropertySet">
<AttributeRules>
<AttributeRule AttributeName="HasProperties">
<EntityRules>
<EntityRule EntityName="IfcPropertyReferenceValue">
<AttributeRules>
<AttributeRule AttributeName="PropertyReference">
<EntityRules>
<EntityRule EntityName="IfcIrregularTimeSeries">
<AttributeRules>
<AttributeRule AttributeName="Values">
<EntityRules>
<EntityRule EntityName="IfcIrregularTimeSeriesValue">
<AttributeRules>
<AttributeRule AttributeName="TimeStamp">
<EntityRules>
<EntityRule EntityName="IfcDateTime" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="ListValues">
<EntityRules>
<EntityRule EntityName="IfcValue" />
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</Rules>
</ConceptTemplate>
<ConceptTemplate uuid="4be3312a-3199-492e-b204-cac2229a9ade" name="Property Sets for Types" applicableSchema="IFC4" applicableEntity="IfcTypeObject">
<Rules>
<AttributeRule AttributeName="HasPropertySets">
<EntityRules>
<EntityRule EntityName="IfcPropertySet">
<AttributeRules>
<AttributeRule RuleID="PsetName" AttributeName="Name" />
<AttributeRule AttributeName="HasProperties">
<EntityRules>
<EntityRule EntityName="IfcPropertySingleValue">
<References>
<Template ref="6655f6d0-29a8-47b8-8f3d-c9fce9c9a620" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyBoundedValue">
<References>
<Template ref="3d67a2d2-761d-44d9-a09e-b7fbb1fa5632" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyEnumeratedValue">
<References>
<Template ref="c148a099-c351-43a8-9266-5f3de0b45a95" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyListValue">
<References>
<Template ref="8e10b688-9179-4e3a-8db2-6abcaafe952d" />
</References>
</EntityRule>
<EntityRule EntityName="IfcPropertyTableValue">
<References>
<Template ref="35c947b0-6abc-4b13-8ec7-696ef2041721" />
</References>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</Rules>
</ConceptTemplate>
</SubTemplates>
</ConceptTemplate>
<ConceptTemplate uuid="6652398e-6579-4460-8cb4-26295acfacc7" name="Quantity Sets" version="1" applicableSchema="IFC4" applicableEntity="IfcObject">
<Rules>
<AttributeRule AttributeName="IsDefinedBy">
<EntityRules>
<EntityRule EntityName="IfcRelDefinesByProperties">
<AttributeRules>
<AttributeRule AttributeName="RelatingPropertyDefinition">
<EntityRules>
<EntityRule EntityName="IfcElementQuantity">
<AttributeRules>
<AttributeRule RuleID="QsetName" AttributeName="Name">
<EntityRules>
<EntityRule EntityName="IfcLabel" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="Description">
<EntityRules>
<EntityRule EntityName="IfcText" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="MethodOfMeasurement">
<EntityRules>
<EntityRule EntityName="IfcLabel" />
</EntityRules>
</AttributeRule>
<AttributeRule RuleID="Quantities" AttributeName="Quantities">
<EntityRules>
<EntityRule EntityName="IfcQuantityLength">
<References>
<Template ref="dd8678e1-e300-4f70-9d63-e539db4bd11c" />
</References>
</EntityRule>
<EntityRule EntityName="IfcQuantityArea">
<References>
<Template ref="65ac4747-6eff-437e-94e2-643fd4e3bf86" />
</References>
</EntityRule>
<EntityRule EntityName="IfcQuantityVolume">
<References>
<Template ref="6491a3b0-b7e9-412a-8226-bcd91c2b0b0e" />
</References>
</EntityRule>
<EntityRule EntityName="IfcQuantityWeight">
<References>
<Template ref="e1016e56-3c89-4f42-9679-07e1db3c0afb" />
</References>
</EntityRule>
<EntityRule EntityName="IfcQuantityCount">
<References>
<Template ref="8aaeff32-572c-4f6a-ac64-e2151663cbf1" />
</References>
</EntityRule>
<EntityRule EntityName="IfcQuantityTime">
<References>
<Template ref="43c4c050-04de-4b0f-9e43-708bd98201a8" />
</References>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</Rules>
</ConceptTemplate>
</SubTemplates>
</ConceptTemplate>