@base <https://w3id.org/ifc/IFC4_ADD1> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix : <#> .
@prefix list: <../list#> .
@prefix cc: <http://creativecommons.org/ns#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix dce: <http://purl.org/dc/elements/1.1/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix expr: <../express#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

dce:contributor
    a owl:AnnotationProperty .

dce:creator
    a owl:AnnotationProperty .

dce:date
    a owl:AnnotationProperty .

dce:description
    a owl:AnnotationProperty .

dce:identifier
    a owl:AnnotationProperty .

dce:language
    a owl:AnnotationProperty .

dce:title
    a owl:AnnotationProperty .

<>
    cc:license <http://creativecommons.org/licenses/by/3.0/> ;
    dce:contributor "Aleksandra Sojic (aleksandra.sojic@itia.cnr.it)", "Jakob Beetz (j.beetz@tue.nl)", "Maria Poveda Villalon (mpoveda@fi.upm.es)" ;
    dce:creator "Pieter Pauwels (pipauwel.pauwels@ugent.be)", "Walter Terkaj  (walter.terkaj@itia.cnr.it)" ;
    dce:date "2015/10/02" ;
    dce:description "OWL ontology for the IFC conceptual data schema and exchange file format for Building Information Model (BIM) data" ;
    dce:identifier "IFC4_ADD1" ;
    dce:language "en" ;
    dce:title "IFC4_ADD1" ;
    vann:preferredNamespacePrefix "ifc" ;
    vann:preferredNamespaceUri "https://w3id.org/ifc/IFC4_ADD1" ;
    a owl:Ontology ;
    rdfs:comment "Ontology automatically generated from the EXPRESS schema 'IFC4_ADD1' using the 'IFC-to-RDF' converter developed by Pieter Pauwels (pipauwel.pauwels@ugent.be), based on the earlier versions from Jyrki Oraskari (jyrki.oraskari@aalto.fi) and Davy Van Deursen (davy.vandeursen@ugent.be)" ;
    owl:imports <../express> .

:ABSORBEDDOSEUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "ABSORBEDDOSEUNIT" .

:ACCELERATIONUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "ACCELERATIONUNIT" .

:ACCESS
    a owl:NamedIndividual, :IfcPermitTypeEnum ;
    rdfs:label "ACCESS" .

:ACCESSORY_ASSEMBLY
    a owl:NamedIndividual, :IfcElementAssemblyTypeEnum ;
    rdfs:label "ACCESSORY_ASSEMBLY" .

:ACTIVE
    a owl:NamedIndividual, :IfcCooledBeamTypeEnum ;
    rdfs:label "ACTIVE" .

:ACTOR
    a owl:NamedIndividual, :IfcObjectTypeEnum ;
    rdfs:label "ACTOR" .

:ACTUAL
    a owl:NamedIndividual, :IfcWorkPlanTypeEnum, :IfcWorkScheduleTypeEnum ;
    rdfs:label "ACTUAL" .

:ADD
    a owl:NamedIndividual, :IfcArithmeticOperatorEnum ;
    rdfs:label "ADD" .

:ADDED
    a owl:NamedIndividual, :IfcChangeActionEnum ;
    rdfs:label "ADDED" .

:ADIABATICAIRWASHER
    a owl:NamedIndividual, :IfcHumidifierTypeEnum ;
    rdfs:label "ADIABATICAIRWASHER" .

:ADIABATICATOMIZING
    a owl:NamedIndividual, :IfcHumidifierTypeEnum ;
    rdfs:label "ADIABATICATOMIZING" .

:ADIABATICCOMPRESSEDAIRNOZZLE
    a owl:NamedIndividual, :IfcHumidifierTypeEnum ;
    rdfs:label "ADIABATICCOMPRESSEDAIRNOZZLE" .

:ADIABATICPAN
    a owl:NamedIndividual, :IfcHumidifierTypeEnum ;
    rdfs:label "ADIABATICPAN" .

:ADIABATICRIGIDMEDIA
    a owl:NamedIndividual, :IfcHumidifierTypeEnum ;
    rdfs:label "ADIABATICRIGIDMEDIA" .

:ADIABATICULTRASONIC
    a owl:NamedIndividual, :IfcHumidifierTypeEnum ;
    rdfs:label "ADIABATICULTRASONIC" .

:ADIABATICWETTEDELEMENT
    a owl:NamedIndividual, :IfcHumidifierTypeEnum ;
    rdfs:label "ADIABATICWETTEDELEMENT" .

:ADMINISTRATION
    a owl:NamedIndividual, :IfcLaborResourceTypeEnum ;
    rdfs:label "ADMINISTRATION" .

:ADVICE_CAUTION
    a owl:NamedIndividual, :IfcProcedureTypeEnum ;
    rdfs:label "ADVICE_CAUTION" .

:ADVICE_NOTE
    a owl:NamedIndividual, :IfcProcedureTypeEnum ;
    rdfs:label "ADVICE_NOTE" .

:ADVICE_WARNING
    a owl:NamedIndividual, :IfcProcedureTypeEnum ;
    rdfs:label "ADVICE_WARNING" .

:ADVISORY
    a owl:NamedIndividual, :IfcConstraintEnum ;
    rdfs:label "ADVISORY" .

:AGGREGATES
    a owl:NamedIndividual, :IfcConstructionMaterialResourceTypeEnum ;
    rdfs:label "AGGREGATES" .

:AIRCONDITIONING
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "AIRCONDITIONING" .

:AIRCONDITIONINGUNIT
    a owl:NamedIndividual, :IfcUnitaryEquipmentTypeEnum ;
    rdfs:label "AIRCONDITIONINGUNIT" .

:AIRCOOLED
    a owl:NamedIndividual, :IfcChillerTypeEnum, :IfcCondenserTypeEnum ;
    rdfs:label "AIRCOOLED" .

:AIRHANDLER
    a owl:NamedIndividual, :IfcUnitaryEquipmentTypeEnum ;
    rdfs:label "AIRHANDLER" .

:AIRPARTICLEFILTER
    a owl:NamedIndividual, :IfcFilterTypeEnum ;
    rdfs:label "AIRPARTICLEFILTER" .

:AIRRELEASE
    a owl:NamedIndividual, :IfcValveTypeEnum ;
    rdfs:label "AIRRELEASE" .

:AIRSTATION
    a owl:NamedIndividual, :IfcMedicalDeviceTypeEnum ;
    rdfs:label "AIRSTATION" .

:ALARMPANEL
    a owl:NamedIndividual, :IfcUnitaryControlElementTypeEnum ;
    rdfs:label "ALARMPANEL" .

:ALUMINIUM
    a owl:NamedIndividual, :IfcDoorStyleConstructionEnum, :IfcWindowStyleConstructionEnum ;
    rdfs:label "ALUMINIUM" .

:ALUMINIUM_PLASTIC
    a owl:NamedIndividual, :IfcDoorStyleConstructionEnum ;
    rdfs:label "ALUMINIUM_PLASTIC" .

:ALUMINIUM_WOOD
    a owl:NamedIndividual, :IfcDoorStyleConstructionEnum, :IfcWindowStyleConstructionEnum ;
    rdfs:label "ALUMINIUM_WOOD" .

:AMMETER
    a owl:NamedIndividual, :IfcFlowInstrumentTypeEnum ;
    rdfs:label "AMMETER" .

:AMOUNTOFSUBSTANCEUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "AMOUNTOFSUBSTANCEUNIT" .

:AMPERE
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "AMPERE" .

:AMPLIFIER
    a owl:NamedIndividual, :IfcAudioVisualApplianceTypeEnum ;
    rdfs:label "AMPLIFIER" .

:ANCHORBOLT
    a owl:NamedIndividual, :IfcMechanicalFastenerTypeEnum ;
    rdfs:label "ANCHORBOLT" .

:ANCHORING
    a owl:NamedIndividual, :IfcReinforcingBarRoleEnum, :IfcReinforcingBarTypeEnum ;
    rdfs:label "ANCHORING" .

:ANCHORPLATE
    a owl:NamedIndividual, :IfcDiscreteAccessoryTypeEnum ;
    rdfs:label "ANCHORPLATE" .

:ANGULARVELOCITYUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "ANGULARVELOCITYUNIT" .

:ANTENNA
    a owl:NamedIndividual, :IfcCommunicationsApplianceTypeEnum ;
    rdfs:label "ANTENNA" .

:ANTIVACUUM
    a owl:NamedIndividual, :IfcValveTypeEnum ;
    rdfs:label "ANTIVACUUM" .

:ARCH
    a owl:NamedIndividual, :IfcElementAssemblyTypeEnum ;
    rdfs:label "ARCH" .

:ARCHITECT
    a owl:NamedIndividual, :IfcRoleEnum ;
    rdfs:label "ARCHITECT" .

:AREA
    a owl:NamedIndividual, :IfcProfileTypeEnum ;
    rdfs:label "AREA" .

:AREADENSITYUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "AREADENSITYUNIT" .

:AREAUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "AREAUNIT" .

:ASSEMBLY
    a owl:NamedIndividual, :IfcConstructionProductResourceTypeEnum ;
    rdfs:label "ASSEMBLY" .

:ASSETINVENTORY
    a owl:NamedIndividual, :IfcInventoryTypeEnum ;
    rdfs:label "ASSETINVENTORY" .

:ASSIGNEE
    a owl:NamedIndividual, :IfcOccupantTypeEnum ;
    rdfs:label "ASSIGNEE" .

:ASSIGNOR
    a owl:NamedIndividual, :IfcOccupantTypeEnum ;
    rdfs:label "ASSIGNOR" .

:ASSISTEDBUTANE
    a owl:NamedIndividual, :IfcHumidifierTypeEnum ;
    rdfs:label "ASSISTEDBUTANE" .

:ASSISTEDELECTRIC
    a owl:NamedIndividual, :IfcHumidifierTypeEnum ;
    rdfs:label "ASSISTEDELECTRIC" .

:ASSISTEDNATURALGAS
    a owl:NamedIndividual, :IfcHumidifierTypeEnum ;
    rdfs:label "ASSISTEDNATURALGAS" .

:ASSISTEDPROPANE
    a owl:NamedIndividual, :IfcHumidifierTypeEnum ;
    rdfs:label "ASSISTEDPROPANE" .

:ASSISTEDSTEAM
    a owl:NamedIndividual, :IfcHumidifierTypeEnum ;
    rdfs:label "ASSISTEDSTEAM" .

:ATEND
    a owl:NamedIndividual, :IfcConnectionTypeEnum ;
    rdfs:label "ATEND" .

:ATPATH
    a owl:NamedIndividual, :IfcConnectionTypeEnum ;
    rdfs:label "ATPATH" .

:ATSTART
    a owl:NamedIndividual, :IfcConnectionTypeEnum ;
    rdfs:label "ATSTART" .

:ATTENDANCE
    a owl:NamedIndividual, :IfcTaskTypeEnum ;
    rdfs:label "ATTENDANCE" .

:ATTO
    a owl:NamedIndividual, :IfcSIPrefix ;
    rdfs:label "ATTO" .

:AUDIOVISUAL
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "AUDIOVISUAL" .

:AUDIOVISUALOUTLET
    a owl:NamedIndividual, :IfcOutletTypeEnum ;
    rdfs:label "AUDIOVISUALOUTLET" .

:AWNING
    a owl:NamedIndividual, :IfcShadingDeviceTypeEnum ;
    rdfs:label "AWNING" .

:AXIS1
    a owl:NamedIndividual, :IfcLayerSetDirectionEnum ;
    rdfs:label "AXIS1" .

:AXIS2
    a owl:NamedIndividual, :IfcLayerSetDirectionEnum ;
    rdfs:label "AXIS2" .

:AXIS3
    a owl:NamedIndividual, :IfcLayerSetDirectionEnum ;
    rdfs:label "AXIS3" .

:BACKDRAFTDAMPER
    a owl:NamedIndividual, :IfcDamperTypeEnum ;
    rdfs:label "BACKDRAFTDAMPER" .

:BALANCINGDAMPER
    a owl:NamedIndividual, :IfcDamperTypeEnum ;
    rdfs:label "BALANCINGDAMPER" .

:BALUSTRADE
    a owl:NamedIndividual, :IfcRailingTypeEnum ;
    rdfs:label "BALUSTRADE" .

:BAR
    a owl:NamedIndividual, :IfcTendonTypeEnum ;
    rdfs:label "BAR" .

:BARREL_ROOF
    a owl:NamedIndividual, :IfcRoofTypeEnum ;
    rdfs:label "BARREL_ROOF" .

:BASELINE
    a owl:NamedIndividual, :IfcWorkPlanTypeEnum, :IfcWorkScheduleTypeEnum ;
    rdfs:label "BASELINE" .

:BASESLAB
    a owl:NamedIndividual, :IfcSlabTypeEnum ;
    rdfs:label "BASESLAB" .

:BASIN
    a owl:NamedIndividual, :IfcTankTypeEnum ;
    rdfs:label "BASIN" .

:BATH
    a owl:NamedIndividual, :IfcSanitaryTerminalTypeEnum ;
    rdfs:label "BATH" .

:BATTERY
    a owl:NamedIndividual, :IfcElectricFlowStorageDeviceTypeEnum ;
    rdfs:label "BATTERY" .

:BEAM
    a owl:NamedIndividual, :IfcBeamTypeEnum ;
    rdfs:label "BEAM" .

:BEAM_GRID
    a owl:NamedIndividual, :IfcElementAssemblyTypeEnum ;
    rdfs:label "BEAM_GRID" .

:BECQUEREL
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "BECQUEREL" .

:BED
    a owl:NamedIndividual, :IfcFurnitureTypeEnum ;
    rdfs:label "BED" .

:BELL
    a owl:NamedIndividual, :IfcAlarmTypeEnum ;
    rdfs:label "BELL" .

:BELTDRIVE
    a owl:NamedIndividual, :IfcMotorConnectionTypeEnum ;
    rdfs:label "BELTDRIVE" .

:BEND
    a owl:NamedIndividual, :IfcCableCarrierFittingTypeEnum, :IfcDuctFittingTypeEnum, :IfcPipeFittingTypeEnum ;
    rdfs:label "BEND" .

:BENDING_ELEMENT
    a owl:NamedIndividual, :IfcStructuralSurfaceMemberTypeEnum ;
    rdfs:label "BENDING_ELEMENT" .

:BIDET
    a owl:NamedIndividual, :IfcSanitaryTerminalTypeEnum ;
    rdfs:label "BIDET" .

:BILINEAR
    a owl:NamedIndividual, :IfcStructuralSurfaceActivityTypeEnum ;
    rdfs:label "BILINEAR" .

:BIRDCAGE
    a owl:NamedIndividual, :IfcStackTerminalTypeEnum ;
    rdfs:label "BIRDCAGE" .

:BLASTDAMPER
    a owl:NamedIndividual, :IfcDamperTypeEnum ;
    rdfs:label "BLASTDAMPER" .

:BLINN
    a owl:NamedIndividual, :IfcReflectanceMethodEnum ;
    rdfs:label "BLINN" .

:BOLT
    a owl:NamedIndividual, :IfcMechanicalFastenerTypeEnum ;
    rdfs:label "BOLT" .

:BOOSTER
    a owl:NamedIndividual, :IfcCompressorTypeEnum ;
    rdfs:label "BOOSTER" .

:BORED
    a owl:NamedIndividual, :IfcPileTypeEnum ;
    rdfs:label "BORED" .

:BOTH
    a owl:NamedIndividual, :IfcSurfaceSide ;
    rdfs:label "BOTH" .

:BOTTOM
    a owl:NamedIndividual, :IfcWindowPanelPositionEnum ;
    rdfs:label "BOTTOM" .

:BOTTOMHUNG
    a owl:NamedIndividual, :IfcWindowPanelOperationEnum ;
    rdfs:label "BOTTOMHUNG" .

:BRACE
    a owl:NamedIndividual, :IfcMemberTypeEnum ;
    rdfs:label "BRACE" .

:BRACED_FRAME
    a owl:NamedIndividual, :IfcElementAssemblyTypeEnum ;
    rdfs:label "BRACED_FRAME" .

:BRACKET
    a owl:NamedIndividual, :IfcDiscreteAccessoryTypeEnum ;
    rdfs:label "BRACKET" .

:BRAKES
    a owl:NamedIndividual, :IfcActionSourceTypeEnum ;
    rdfs:label "BRAKES" .

:BREAKGLASSBUTTON
    a owl:NamedIndividual, :IfcAlarmTypeEnum ;
    rdfs:label "BREAKGLASSBUTTON" .

:BREAKPRESSURE
    a owl:NamedIndividual, :IfcTankTypeEnum ;
    rdfs:label "BREAKPRESSURE" .

:BREECHINGINLET
    a owl:NamedIndividual, :IfcFireSuppressionTerminalTypeEnum ;
    rdfs:label "BREECHINGINLET" .

:BUDGET
    a owl:NamedIndividual, :IfcCostScheduleTypeEnum ;
    rdfs:label "BUDGET" .

:BUILDING
    a owl:NamedIndividual, :IfcPermitTypeEnum ;
    rdfs:label "BUILDING" .

:BUILDINGOPERATOR
    a owl:NamedIndividual, :IfcRoleEnum ;
    rdfs:label "BUILDINGOPERATOR" .

:BUILDINGOWNER
    a owl:NamedIndividual, :IfcRoleEnum ;
    rdfs:label "BUILDINGOWNER" .

:BUOYANCY
    a owl:NamedIndividual, :IfcActionSourceTypeEnum ;
    rdfs:label "BUOYANCY" .

:BUSBARSEGMENT
    a owl:NamedIndividual, :IfcCableSegmentTypeEnum ;
    rdfs:label "BUSBARSEGMENT" .

:BUTTERFLY_ROOF
    a owl:NamedIndividual, :IfcRoofTypeEnum ;
    rdfs:label "BUTTERFLY_ROOF" .

:BY_DAY_COUNT
    a owl:NamedIndividual, :IfcRecurrenceTypeEnum ;
    rdfs:label "BY_DAY_COUNT" .

:BY_WEEKDAY_COUNT
    a owl:NamedIndividual, :IfcRecurrenceTypeEnum ;
    rdfs:label "BY_WEEKDAY_COUNT" .

:CABLE
    a owl:NamedIndividual, :IfcDistributionPortTypeEnum, :IfcStructuralCurveMemberTypeEnum ;
    rdfs:label "CABLE" .

:CABLECARRIER
    a owl:NamedIndividual, :IfcDistributionPortTypeEnum ;
    rdfs:label "CABLECARRIER" .

:CABLELADDERSEGMENT
    a owl:NamedIndividual, :IfcCableCarrierSegmentTypeEnum ;
    rdfs:label "CABLELADDERSEGMENT" .

:CABLESEGMENT
    a owl:NamedIndividual, :IfcCableSegmentTypeEnum ;
    rdfs:label "CABLESEGMENT" .

:CABLETRAYSEGMENT
    a owl:NamedIndividual, :IfcCableCarrierSegmentTypeEnum ;
    rdfs:label "CABLETRAYSEGMENT" .

:CABLETRUNKINGSEGMENT
    a owl:NamedIndividual, :IfcCableCarrierSegmentTypeEnum ;
    rdfs:label "CABLETRUNKINGSEGMENT" .

:CAISSON_FOUNDATION
    a owl:NamedIndividual, :IfcFootingTypeEnum ;
    rdfs:label "CAISSON_FOUNDATION" .

:CALIBRATION
    a owl:NamedIndividual, :IfcProcedureTypeEnum ;
    rdfs:label "CALIBRATION" .

:CAMERA
    a owl:NamedIndividual, :IfcAudioVisualApplianceTypeEnum ;
    rdfs:label "CAMERA" .

:CANDELA
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "CANDELA" .

:CAPACITORBANK
    a owl:NamedIndividual, :IfcElectricFlowStorageDeviceTypeEnum ;
    rdfs:label "CAPACITORBANK" .

:CARPENTRY
    a owl:NamedIndividual, :IfcLaborResourceTypeEnum ;
    rdfs:label "CARPENTRY" .

:CARTESIAN
    a owl:NamedIndividual, :IfcTrimmingPreference ;
    rdfs:label "CARTESIAN" .

:CAST_IN_PLACE
    a owl:NamedIndividual, :IfcPileConstructionEnum ;
    rdfs:label "CAST_IN_PLACE" .

:CEILING
    a owl:NamedIndividual, :IfcCoveringTypeEnum ;
    rdfs:label "CEILING" .

:CENTI
    a owl:NamedIndividual, :IfcSIPrefix ;
    rdfs:label "CENTI" .

:CENTRIFUGALAIRFOIL
    a owl:NamedIndividual, :IfcFanTypeEnum ;
    rdfs:label "CENTRIFUGALAIRFOIL" .

:CENTRIFUGALBACKWARDINCLINEDCURVED
    a owl:NamedIndividual, :IfcFanTypeEnum ;
    rdfs:label "CENTRIFUGALBACKWARDINCLINEDCURVED" .

:CENTRIFUGALFORWARDCURVED
    a owl:NamedIndividual, :IfcFanTypeEnum ;
    rdfs:label "CENTRIFUGALFORWARDCURVED" .

:CENTRIFUGALRADIAL
    a owl:NamedIndividual, :IfcFanTypeEnum ;
    rdfs:label "CENTRIFUGALRADIAL" .

:CHAIR
    a owl:NamedIndividual, :IfcFurnitureTypeEnum ;
    rdfs:label "CHAIR" .

:CHAMFER
    a owl:NamedIndividual, :IfcVoidingFeatureTypeEnum ;
    rdfs:label "CHAMFER" .

:CHANGEORDER
    a owl:NamedIndividual, :IfcProjectOrderTypeEnum ;
    rdfs:label "CHANGEORDER" .

:CHANGEOVER
    a owl:NamedIndividual, :IfcValveTypeEnum ;
    rdfs:label "CHANGEOVER" .

:CHECK
    a owl:NamedIndividual, :IfcValveTypeEnum ;
    rdfs:label "CHECK" .

:CHEMICAL
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "CHEMICAL" .

:CHILLEDWATER
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "CHILLEDWATER" .

:CHORD
    a owl:NamedIndividual, :IfcMemberTypeEnum ;
    rdfs:label "CHORD" .

:CHP
    a owl:NamedIndividual, :IfcElectricGeneratorTypeEnum ;
    rdfs:label "CHP" .

:CIRCUITBREAKER
    a owl:NamedIndividual, :IfcProtectiveDeviceTypeEnum ;
    rdfs:label "CIRCUITBREAKER" .

:CIRCULAR_ARC
    a owl:NamedIndividual, :IfcBSplineCurveForm ;
    rdfs:label "CIRCULAR_ARC" .

:CIRCULATOR
    a owl:NamedIndividual, :IfcPumpTypeEnum ;
    rdfs:label "CIRCULATOR" .

:CISTERN
    a owl:NamedIndividual, :IfcSanitaryTerminalTypeEnum ;
    rdfs:label "CISTERN" .

:CIVILENGINEER
    a owl:NamedIndividual, :IfcRoleEnum ;
    rdfs:label "CIVILENGINEER" .

:CLADDING
    a owl:NamedIndividual, :IfcCoveringTypeEnum ;
    rdfs:label "CLADDING" .

:CLEANING
    a owl:NamedIndividual, :IfcLaborResourceTypeEnum ;
    rdfs:label "CLEANING" .

:CLIENT
    a owl:NamedIndividual, :IfcRoleEnum ;
    rdfs:label "CLIENT" .

:CO2SENSOR
    a owl:NamedIndividual, :IfcSensorTypeEnum ;
    rdfs:label "CO2SENSOR" .

:COATED
    a owl:NamedIndividual, :IfcTendonTypeEnum ;
    rdfs:label "COATED" .

:CODECOMPLIANCE
    a owl:NamedIndividual, :IfcObjectiveEnum ;
    rdfs:label "CODECOMPLIANCE" .

:CODEWAIVER
    a owl:NamedIndividual, :IfcObjectiveEnum ;
    rdfs:label "CODEWAIVER" .

:COHESION
    a owl:NamedIndividual, :IfcPileTypeEnum ;
    rdfs:label "COHESION" .

:COLLAR
    a owl:NamedIndividual, :IfcMemberTypeEnum ;
    rdfs:label "COLLAR" .

:COLUMN
    a owl:NamedIndividual, :IfcColumnTypeEnum ;
    rdfs:label "COLUMN" .

:COMMISSIONING
    a owl:NamedIndividual, :IfcValveTypeEnum ;
    rdfs:label "COMMISSIONING" .

:COMMISSIONINGENGINEER
    a owl:NamedIndividual, :IfcRoleEnum ;
    rdfs:label "COMMISSIONINGENGINEER" .

:COMMUNICATION
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "COMMUNICATION" .

:COMMUNICATIONSOUTLET
    a owl:NamedIndividual, :IfcOutletTypeEnum ;
    rdfs:label "COMMUNICATIONSOUTLET" .

:COMPACTFLUORESCENT
    a owl:NamedIndividual, :IfcLampTypeEnum, :IfcLightEmissionSourceEnum ;
    rdfs:label "COMPACTFLUORESCENT" .

:COMPLETION_G1
    a owl:NamedIndividual, :IfcActionSourceTypeEnum ;
    rdfs:label "COMPLETION_G1" .

:COMPLEX
    a owl:NamedIndividual, :IfcBuildingElementProxyTypeEnum, :IfcElementCompositionEnum ;
    rdfs:label "COMPLEX" .

:COMPOSITE
    a owl:NamedIndividual, :IfcPileConstructionEnum ;
    rdfs:label "COMPOSITE" .

:COMPOUNDPLANEANGLEUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "COMPOUNDPLANEANGLEUNIT" .

:COMPRESSEDAIR
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "COMPRESSEDAIR" .

:COMPRESSEDAIRFILTER
    a owl:NamedIndividual, :IfcFilterTypeEnum ;
    rdfs:label "COMPRESSEDAIRFILTER" .

:COMPRESSION
    a owl:NamedIndividual, :IfcVibrationIsolatorTypeEnum ;
    rdfs:label "COMPRESSION" .

:COMPRESSION_MEMBER
    a owl:NamedIndividual, :IfcStructuralCurveMemberTypeEnum ;
    rdfs:label "COMPRESSION_MEMBER" .

:COMPUTER
    a owl:NamedIndividual, :IfcCommunicationsApplianceTypeEnum ;
    rdfs:label "COMPUTER" .

:CONCRETE
    a owl:NamedIndividual, :IfcConstructionMaterialResourceTypeEnum, :IfcLaborResourceTypeEnum ;
    rdfs:label "CONCRETE" .

:CONDENSERWATER
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "CONDENSERWATER" .

:CONDUCTANCESENSOR
    a owl:NamedIndividual, :IfcSensorTypeEnum ;
    rdfs:label "CONDUCTANCESENSOR" .

:CONDUCTORSEGMENT
    a owl:NamedIndividual, :IfcCableSegmentTypeEnum ;
    rdfs:label "CONDUCTORSEGMENT" .

:CONDUITSEGMENT
    a owl:NamedIndividual, :IfcCableCarrierSegmentTypeEnum ;
    rdfs:label "CONDUITSEGMENT" .

:CONFIDENTIAL
    a owl:NamedIndividual, :IfcDocumentConfidentialityEnum ;
    rdfs:label "CONFIDENTIAL" .

:CONICAL_SURF
    a owl:NamedIndividual, :IfcBSplineSurfaceForm ;
    rdfs:label "CONICAL_SURF" .

:CONNECTOR
    a owl:NamedIndividual, :IfcCableFittingTypeEnum, :IfcDuctFittingTypeEnum, :IfcPipeFittingTypeEnum ;
    rdfs:label "CONNECTOR" .

:CONST
    a owl:NamedIndividual, :IfcStructuralCurveActivityTypeEnum, :IfcStructuralSurfaceActivityTypeEnum ;
    rdfs:label "CONST" .

:CONSTANTFLOW
    a owl:NamedIndividual, :IfcAirTerminalBoxTypeEnum ;
    rdfs:label "CONSTANTFLOW" .

:CONSTRUCTION
    a owl:NamedIndividual, :IfcSpatialZoneTypeEnum, :IfcTaskTypeEnum ;
    rdfs:label "CONSTRUCTION" .

:CONSTRUCTIONMANAGER
    a owl:NamedIndividual, :IfcRoleEnum ;
    rdfs:label "CONSTRUCTIONMANAGER" .

:CONSULTANT
    a owl:NamedIndividual, :IfcRoleEnum ;
    rdfs:label "CONSULTANT" .

:CONSUMERUNIT
    a owl:NamedIndividual, :IfcElectricDistributionBoardTypeEnum ;
    rdfs:label "CONSUMERUNIT" .

:CONTACTOR
    a owl:NamedIndividual, :IfcSwitchingDeviceTypeEnum ;
    rdfs:label "CONTACTOR" .

:CONTACTSENSOR
    a owl:NamedIndividual, :IfcSensorTypeEnum ;
    rdfs:label "CONTACTSENSOR" .

:CONTINUOUS
    a owl:NamedIndividual, :IfcTimeSeriesDataTypeEnum, :IfcTransitionCode ;
    rdfs:label "CONTINUOUS" .

:CONTRACTOR
    a owl:NamedIndividual, :IfcRoleEnum ;
    rdfs:label "CONTRACTOR" .

:CONTROL
    a owl:NamedIndividual, :IfcDistributionSystemEnum, :IfcObjectTypeEnum ;
    rdfs:label "CONTROL" .

:CONTROLDAMPER
    a owl:NamedIndividual, :IfcDamperTypeEnum ;
    rdfs:label "CONTROLDAMPER" .

:CONTROLPANEL
    a owl:NamedIndividual, :IfcUnitaryControlElementTypeEnum ;
    rdfs:label "CONTROLPANEL" .

:CONTSAMEGRADIENT
    a owl:NamedIndividual, :IfcTransitionCode ;
    rdfs:label "CONTSAMEGRADIENT" .

:CONTSAMEGRADIENTSAMECURVATURE
    a owl:NamedIndividual, :IfcTransitionCode ;
    rdfs:label "CONTSAMEGRADIENTSAMECURVATURE" .

:CONVECTOR
    a owl:NamedIndividual, :IfcSpaceHeaterTypeEnum ;
    rdfs:label "CONVECTOR" .

:CONVEYING
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "CONVEYING" .

:CORESEGMENT
    a owl:NamedIndividual, :IfcCableSegmentTypeEnum ;
    rdfs:label "CORESEGMENT" .

:COSTENGINEER
    a owl:NamedIndividual, :IfcRoleEnum ;
    rdfs:label "COSTENGINEER" .

:COSTPLAN
    a owl:NamedIndividual, :IfcCostScheduleTypeEnum ;
    rdfs:label "COSTPLAN" .

:COULOMB
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "COULOMB" .

:COUPLER
    a owl:NamedIndividual, :IfcTendonAnchorTypeEnum ;
    rdfs:label "COUPLER" .

:COUPLING
    a owl:NamedIndividual, :IfcMotorConnectionTypeEnum ;
    rdfs:label "COUPLING" .

:COWL
    a owl:NamedIndividual, :IfcStackTerminalTypeEnum ;
    rdfs:label "COWL" .

:CRANEWAY
    a owl:NamedIndividual, :IfcTransportElementTypeEnum ;
    rdfs:label "CRANEWAY" .

:CREEP
    a owl:NamedIndividual, :IfcActionSourceTypeEnum ;
    rdfs:label "CREEP" .

:CROSS
    a owl:NamedIndividual, :IfcCableCarrierFittingTypeEnum ;
    rdfs:label "CROSS" .

:CUBIC_METRE
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "CUBIC_METRE" .

:CULVERT
    a owl:NamedIndividual, :IfcPipeSegmentTypeEnum ;
    rdfs:label "CULVERT" .

:CURRENT
    a owl:NamedIndividual, :IfcActionSourceTypeEnum, :IfcTransformerTypeEnum ;
    rdfs:label "CURRENT" .

:CURTAIN_PANEL
    a owl:NamedIndividual, :IfcPlateTypeEnum ;
    rdfs:label "CURTAIN_PANEL" .

:CURVATUREUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "CURVATUREUNIT" .

:CURVE
    a owl:NamedIndividual, :IfcProfileTypeEnum ;
    rdfs:label "CURVE" .

:CURVED
    a owl:NamedIndividual, :IfcStairFlightTypeEnum ;
    rdfs:label "CURVED" .

:CURVED_RUN_STAIR
    a owl:NamedIndividual, :IfcStairTypeEnum ;
    rdfs:label "CURVED_RUN_STAIR" .

:CUTOUT
    a owl:NamedIndividual, :IfcVoidingFeatureTypeEnum ;
    rdfs:label "CUTOUT" .

:CYCLONIC
    a owl:NamedIndividual, :IfcInterceptorTypeEnum ;
    rdfs:label "CYCLONIC" .

:CYLINDRICAL_SURF
    a owl:NamedIndividual, :IfcBSplineSurfaceForm ;
    rdfs:label "CYLINDRICAL_SURF" .

:DAILY
    a owl:NamedIndividual, :IfcRecurrenceTypeEnum ;
    rdfs:label "DAILY" .

:DATA
    a owl:NamedIndividual, :IfcDistributionSystemEnum, :IfcJunctionBoxTypeEnum ;
    rdfs:label "DATA" .

:DATAOUTLET
    a owl:NamedIndividual, :IfcOutletTypeEnum ;
    rdfs:label "DATAOUTLET" .

:DC
    a owl:NamedIndividual, :IfcElectricMotorTypeEnum ;
    rdfs:label "DC" .

:DEAD_LOAD_G
    a owl:NamedIndividual, :IfcActionSourceTypeEnum ;
    rdfs:label "DEAD_LOAD_G" .

:DECA
    a owl:NamedIndividual, :IfcSIPrefix ;
    rdfs:label "DECA" .

:DECI
    a owl:NamedIndividual, :IfcSIPrefix ;
    rdfs:label "DECI" .

:DEGREE_CELSIUS
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "DEGREE_CELSIUS" .

:DEHUMIDIFIER
    a owl:NamedIndividual, :IfcUnitaryEquipmentTypeEnum ;
    rdfs:label "DEHUMIDIFIER" .

:DELETED
    a owl:NamedIndividual, :IfcChangeActionEnum ;
    rdfs:label "DELETED" .

:DEMOLISHING
    a owl:NamedIndividual, :IfcConstructionEquipmentResourceTypeEnum ;
    rdfs:label "DEMOLISHING" .

:DEMOLITION
    a owl:NamedIndividual, :IfcTaskTypeEnum ;
    rdfs:label "DEMOLITION" .

:DESIGNINTENT
    a owl:NamedIndividual, :IfcObjectiveEnum ;
    rdfs:label "DESIGNINTENT" .

:DESK
    a owl:NamedIndividual, :IfcFurnitureTypeEnum ;
    rdfs:label "DESK" .

:DIAGNOSTIC
    a owl:NamedIndividual, :IfcProcedureTypeEnum ;
    rdfs:label "DIAGNOSTIC" .

:DIFFERENCE
    a owl:NamedIndividual, :IfcBooleanOperator ;
    rdfs:label "DIFFERENCE" .

:DIFFUSER
    a owl:NamedIndividual, :IfcAirTerminalTypeEnum ;
    rdfs:label "DIFFUSER" .

:DIMMERSWITCH
    a owl:NamedIndividual, :IfcSwitchingDeviceTypeEnum ;
    rdfs:label "DIMMERSWITCH" .

:DIRECTDRIVE
    a owl:NamedIndividual, :IfcMotorConnectionTypeEnum ;
    rdfs:label "DIRECTDRIVE" .

:DIRECTEVAPORATIVEAIRWASHER
    a owl:NamedIndividual, :IfcEvaporativeCoolerTypeEnum ;
    rdfs:label "DIRECTEVAPORATIVEAIRWASHER" .

:DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER
    a owl:NamedIndividual, :IfcEvaporativeCoolerTypeEnum ;
    rdfs:label "DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER" .

:DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER
    a owl:NamedIndividual, :IfcEvaporativeCoolerTypeEnum ;
    rdfs:label "DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER" .

:DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER
    a owl:NamedIndividual, :IfcEvaporativeCoolerTypeEnum ;
    rdfs:label "DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER" .

:DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER
    a owl:NamedIndividual, :IfcEvaporativeCoolerTypeEnum ;
    rdfs:label "DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER" .

:DIRECTEXPANSION
    a owl:NamedIndividual, :IfcEvaporatorTypeEnum ;
    rdfs:label "DIRECTEXPANSION" .

:DIRECTEXPANSIONBRAZEDPLATE
    a owl:NamedIndividual, :IfcEvaporatorTypeEnum ;
    rdfs:label "DIRECTEXPANSIONBRAZEDPLATE" .

:DIRECTEXPANSIONSHELLANDTUBE
    a owl:NamedIndividual, :IfcEvaporatorTypeEnum ;
    rdfs:label "DIRECTEXPANSIONSHELLANDTUBE" .

:DIRECTEXPANSIONTUBEINTUBE
    a owl:NamedIndividual, :IfcEvaporatorTypeEnum ;
    rdfs:label "DIRECTEXPANSIONTUBEINTUBE" .

:DIRECTIONSOURCE
    a owl:NamedIndividual, :IfcLightFixtureTypeEnum ;
    rdfs:label "DIRECTIONSOURCE" .

:DISCONTINUOUS
    a owl:NamedIndividual, :IfcTransitionCode ;
    rdfs:label "DISCONTINUOUS" .

:DISCRETE
    a owl:NamedIndividual, :IfcStructuralCurveActivityTypeEnum, :IfcStructuralSurfaceActivityTypeEnum, :IfcTimeSeriesDataTypeEnum ;
    rdfs:label "DISCRETE" .

:DISCRETEBINARY
    a owl:NamedIndividual, :IfcTimeSeriesDataTypeEnum ;
    rdfs:label "DISCRETEBINARY" .

:DISHWASHER
    a owl:NamedIndividual, :IfcElectricApplianceTypeEnum ;
    rdfs:label "DISHWASHER" .

:DISMANTLE
    a owl:NamedIndividual, :IfcTaskTypeEnum ;
    rdfs:label "DISMANTLE" .

:DISPLAY
    a owl:NamedIndividual, :IfcAudioVisualApplianceTypeEnum ;
    rdfs:label "DISPLAY" .

:DISPOSAL
    a owl:NamedIndividual, :IfcDistributionSystemEnum, :IfcTaskTypeEnum ;
    rdfs:label "DISPOSAL" .

:DISTRIBUTIONBOARD
    a owl:NamedIndividual, :IfcElectricDistributionBoardTypeEnum ;
    rdfs:label "DISTRIBUTIONBOARD" .

:DISTRIBUTIONPOINT
    a owl:NamedIndividual, :IfcAddressTypeEnum ;
    rdfs:label "DISTRIBUTIONPOINT" .

:DIVERTING
    a owl:NamedIndividual, :IfcValveTypeEnum ;
    rdfs:label "DIVERTING" .

:DIVIDE
    a owl:NamedIndividual, :IfcArithmeticOperatorEnum ;
    rdfs:label "DIVIDE" .

:DOMESTICCOLDWATER
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "DOMESTICCOLDWATER" .

:DOMESTICHOTWATER
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "DOMESTICHOTWATER" .

:DOME_ROOF
    a owl:NamedIndividual, :IfcRoofTypeEnum ;
    rdfs:label "DOME_ROOF" .

:DOOR
    a owl:NamedIndividual, :IfcDoorTypeEnum ;
    rdfs:label "DOOR" .

:DOSEEQUIVALENTUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "DOSEEQUIVALENTUNIT" .

:DOUBLECHECK
    a owl:NamedIndividual, :IfcValveTypeEnum ;
    rdfs:label "DOUBLECHECK" .

:DOUBLEREGULATING
    a owl:NamedIndividual, :IfcValveTypeEnum ;
    rdfs:label "DOUBLEREGULATING" .

:DOUBLE_ACTING
    a owl:NamedIndividual, :IfcDoorPanelOperationEnum ;
    rdfs:label "DOUBLE_ACTING" .

:DOUBLE_DOOR_DOUBLE_SWING
    a owl:NamedIndividual, :IfcDoorStyleOperationEnum, :IfcDoorTypeOperationEnum ;
    rdfs:label "DOUBLE_DOOR_DOUBLE_SWING" .

:DOUBLE_DOOR_FOLDING
    a owl:NamedIndividual, :IfcDoorStyleOperationEnum, :IfcDoorTypeOperationEnum ;
    rdfs:label "DOUBLE_DOOR_FOLDING" .

:DOUBLE_DOOR_SINGLE_SWING
    a owl:NamedIndividual, :IfcDoorStyleOperationEnum, :IfcDoorTypeOperationEnum ;
    rdfs:label "DOUBLE_DOOR_SINGLE_SWING" .

:DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT
    a owl:NamedIndividual, :IfcDoorStyleOperationEnum, :IfcDoorTypeOperationEnum ;
    rdfs:label "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT" .

:DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT
    a owl:NamedIndividual, :IfcDoorStyleOperationEnum, :IfcDoorTypeOperationEnum ;
    rdfs:label "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT" .

:DOUBLE_DOOR_SLIDING
    a owl:NamedIndividual, :IfcDoorStyleOperationEnum, :IfcDoorTypeOperationEnum ;
    rdfs:label "DOUBLE_DOOR_SLIDING" .

:DOUBLE_PANEL_HORIZONTAL
    a owl:NamedIndividual, :IfcWindowStyleOperationEnum, :IfcWindowTypePartitioningEnum ;
    rdfs:label "DOUBLE_PANEL_HORIZONTAL" .

:DOUBLE_PANEL_VERTICAL
    a owl:NamedIndividual, :IfcWindowStyleOperationEnum, :IfcWindowTypePartitioningEnum ;
    rdfs:label "DOUBLE_PANEL_VERTICAL" .

:DOUBLE_RETURN_STAIR
    a owl:NamedIndividual, :IfcStairTypeEnum ;
    rdfs:label "DOUBLE_RETURN_STAIR" .

:DOUBLE_SWING_LEFT
    a owl:NamedIndividual, :IfcDoorStyleOperationEnum, :IfcDoorTypeOperationEnum ;
    rdfs:label "DOUBLE_SWING_LEFT" .

:DOUBLE_SWING_RIGHT
    a owl:NamedIndividual, :IfcDoorStyleOperationEnum, :IfcDoorTypeOperationEnum ;
    rdfs:label "DOUBLE_SWING_RIGHT" .

:DOWEL
    a owl:NamedIndividual, :IfcMechanicalFastenerTypeEnum ;
    rdfs:label "DOWEL" .

:DOWN
    a owl:NamedIndividual, :IfcTextPath ;
    rdfs:label "DOWN" .

:DRAFT
    a owl:NamedIndividual, :IfcDocumentStatusEnum ;
    rdfs:label "DRAFT" .

:DRAINAGE
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "DRAINAGE" .

:DRAWOFFCOCK
    a owl:NamedIndividual, :IfcValveTypeEnum ;
    rdfs:label "DRAWOFFCOCK" .

:DRIVEN
    a owl:NamedIndividual, :IfcPileTypeEnum ;
    rdfs:label "DRIVEN" .

:DRYWALL
    a owl:NamedIndividual, :IfcConstructionMaterialResourceTypeEnum, :IfcLaborResourceTypeEnum ;
    rdfs:label "DRYWALL" .

:DUCT
    a owl:NamedIndividual, :IfcDistributionPortTypeEnum ;
    rdfs:label "DUCT" .

:DXCOOLINGCOIL
    a owl:NamedIndividual, :IfcCoilTypeEnum ;
    rdfs:label "DXCOOLINGCOIL" .

:DYNAMIC
    a owl:NamedIndividual, :IfcCompressorTypeEnum ;
    rdfs:label "DYNAMIC" .

:DYNAMICVISCOSITYUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "DYNAMICVISCOSITYUNIT" .

:EARTHING
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "EARTHING" .

:EARTHINGSWITCH
    a owl:NamedIndividual, :IfcProtectiveDeviceTypeEnum ;
    rdfs:label "EARTHINGSWITCH" .

:EARTHLEAKAGECIRCUITBREAKER
    a owl:NamedIndividual, :IfcProtectiveDeviceTypeEnum ;
    rdfs:label "EARTHLEAKAGECIRCUITBREAKER" .

:EARTHMOVING
    a owl:NamedIndividual, :IfcConstructionEquipmentResourceTypeEnum ;
    rdfs:label "EARTHMOVING" .

:EARTHQUAKE_E
    a owl:NamedIndividual, :IfcActionSourceTypeEnum ;
    rdfs:label "EARTHQUAKE_E" .

:EDGE
    a owl:NamedIndividual, :IfcReinforcingBarRoleEnum, :IfcReinforcingBarTypeEnum, :IfcVoidingFeatureTypeEnum ;
    rdfs:label "EDGE" .

:ELAPSEDTIME
    a owl:NamedIndividual, :IfcTaskDurationEnum ;
    rdfs:label "ELAPSEDTIME" .

:ELECTRIC
    a owl:NamedIndividual, :IfcLaborResourceTypeEnum ;
    rdfs:label "ELECTRIC" .

:ELECTRICACTUATOR
    a owl:NamedIndividual, :IfcActuatorTypeEnum ;
    rdfs:label "ELECTRICACTUATOR" .

:ELECTRICAL
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "ELECTRICAL" .

:ELECTRICALENGINEER
    a owl:NamedIndividual, :IfcRoleEnum ;
    rdfs:label "ELECTRICALENGINEER" .

:ELECTRICCAPACITANCEUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "ELECTRICCAPACITANCEUNIT" .

:ELECTRICCHARGEUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "ELECTRICCHARGEUNIT" .

:ELECTRICCONDUCTANCEUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "ELECTRICCONDUCTANCEUNIT" .

:ELECTRICCOOKER
    a owl:NamedIndividual, :IfcElectricApplianceTypeEnum ;
    rdfs:label "ELECTRICCOOKER" .

:ELECTRICCURRENTUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "ELECTRICCURRENTUNIT" .

:ELECTRICHEATINGCOIL
    a owl:NamedIndividual, :IfcCoilTypeEnum ;
    rdfs:label "ELECTRICHEATINGCOIL" .

:ELECTRICRESISTANCEUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "ELECTRICRESISTANCEUNIT" .

:ELECTRICVOLTAGEUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "ELECTRICVOLTAGEUNIT" .

:ELECTROACOUSTIC
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "ELECTROACOUSTIC" .

:ELECTROMAGNETIC
    a owl:NamedIndividual, :IfcProtectiveDeviceTrippingUnitTypeEnum ;
    rdfs:label "ELECTROMAGNETIC" .

:ELECTRONIC
    a owl:NamedIndividual, :IfcProtectiveDeviceTrippingUnitTypeEnum ;
    rdfs:label "ELECTRONIC" .

:ELEMENT
    a owl:NamedIndividual, :IfcBuildingElementProxyTypeEnum, :IfcElementCompositionEnum ;
    rdfs:label "ELEMENT" .

:ELEMENTEDWALL
    a owl:NamedIndividual, :IfcWallTypeEnum ;
    rdfs:label "ELEMENTEDWALL" .

:ELEVATION_VIEW
    a owl:NamedIndividual, :IfcGeometricProjectionEnum ;
    rdfs:label "ELEVATION_VIEW" .

:ELEVATOR
    a owl:NamedIndividual, :IfcTransportElementTypeEnum ;
    rdfs:label "ELEVATOR" .

:ELLIPTIC_ARC
    a owl:NamedIndividual, :IfcBSplineCurveForm ;
    rdfs:label "ELLIPTIC_ARC" .

:EMAIL
    a owl:NamedIndividual, :IfcActionRequestTypeEnum ;
    rdfs:label "EMAIL" .

:EMERGENCYSTOP
    a owl:NamedIndividual, :IfcSwitchingDeviceTypeEnum ;
    rdfs:label "EMERGENCYSTOP" .

:ENDEVENT
    a owl:NamedIndividual, :IfcEventTypeEnum ;
    rdfs:label "ENDEVENT" .

:ENDSUCTION
    a owl:NamedIndividual, :IfcPumpTypeEnum ;
    rdfs:label "ENDSUCTION" .

:ENERGYMETER
    a owl:NamedIndividual, :IfcFlowMeterTypeEnum ;
    rdfs:label "ENERGYMETER" .

:ENERGYUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "ENERGYUNIT" .

:ENGINEER
    a owl:NamedIndividual, :IfcRoleEnum ;
    rdfs:label "ENGINEER" .

:ENGINEGENERATOR
    a owl:NamedIndividual, :IfcElectricGeneratorTypeEnum ;
    rdfs:label "ENGINEGENERATOR" .

:ENTRY
    a owl:NamedIndividual, :IfcCableFittingTypeEnum, :IfcDuctFittingTypeEnum, :IfcPipeFittingTypeEnum ;
    rdfs:label "ENTRY" .

:EQUALTO
    a owl:NamedIndividual, :IfcBenchmarkEnum ;
    rdfs:label "EQUALTO" .

:EQUIDISTANT
    a owl:NamedIndividual, :IfcStructuralCurveActivityTypeEnum ;
    rdfs:label "EQUIDISTANT" .

:ERECTING
    a owl:NamedIndividual, :IfcConstructionEquipmentResourceTypeEnum ;
    rdfs:label "ERECTING" .

:ERECTION
    a owl:NamedIndividual, :IfcActionSourceTypeEnum ;
    rdfs:label "ERECTION" .

:ESCALATOR
    a owl:NamedIndividual, :IfcTransportElementTypeEnum ;
    rdfs:label "ESCALATOR" .

:ESTIMATE
    a owl:NamedIndividual, :IfcCostScheduleTypeEnum ;
    rdfs:label "ESTIMATE" .

:EVAPORATIVECOOLED
    a owl:NamedIndividual, :IfcCondenserTypeEnum ;
    rdfs:label "EVAPORATIVECOOLED" .

:EVENTCOMPLEX
    a owl:NamedIndividual, :IfcEventTriggerTypeEnum ;
    rdfs:label "EVENTCOMPLEX" .

:EVENTMESSAGE
    a owl:NamedIndividual, :IfcEventTriggerTypeEnum ;
    rdfs:label "EVENTMESSAGE" .

:EVENTRULE
    a owl:NamedIndividual, :IfcEventTriggerTypeEnum ;
    rdfs:label "EVENTRULE" .

:EVENTTIME
    a owl:NamedIndividual, :IfcEventTriggerTypeEnum ;
    rdfs:label "EVENTTIME" .

:EXA
    a owl:NamedIndividual, :IfcSIPrefix ;
    rdfs:label "EXA" .

:EXHAUST
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "EXHAUST" .

:EXIT
    a owl:NamedIndividual, :IfcCableFittingTypeEnum, :IfcDuctFittingTypeEnum, :IfcPipeFittingTypeEnum ;
    rdfs:label "EXIT" .

:EXPANSION
    a owl:NamedIndividual, :IfcTankTypeEnum ;
    rdfs:label "EXPANSION" .

:EXTERNAL
    a owl:NamedIndividual, :IfcExternalSpatialElementTypeEnum, :IfcInternalOrExternalEnum, :IfcObjectiveEnum, :IfcSpaceTypeEnum ;
    rdfs:label "EXTERNAL" .

:EXTERNALCOMBUSTION
    a owl:NamedIndividual, :IfcEngineTypeEnum ;
    rdfs:label "EXTERNALCOMBUSTION" .

:EXTERNAL_EARTH
    a owl:NamedIndividual, :IfcExternalSpatialElementTypeEnum, :IfcInternalOrExternalEnum ;
    rdfs:label "EXTERNAL_EARTH" .

:EXTERNAL_FIRE
    a owl:NamedIndividual, :IfcExternalSpatialElementTypeEnum, :IfcInternalOrExternalEnum ;
    rdfs:label "EXTERNAL_FIRE" .

:EXTERNAL_WATER
    a owl:NamedIndividual, :IfcExternalSpatialElementTypeEnum, :IfcInternalOrExternalEnum ;
    rdfs:label "EXTERNAL_WATER" .

:EXTRAORDINARY_A
    a owl:NamedIndividual, :IfcActionTypeEnum ;
    rdfs:label "EXTRAORDINARY_A" .

:FACILITIESMANAGER
    a owl:NamedIndividual, :IfcRoleEnum ;
    rdfs:label "FACILITIESMANAGER" .

:FACTORY
    a owl:NamedIndividual, :IfcAssemblyPlaceEnum ;
    rdfs:label "FACTORY" .

:FARAD
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "FARAD" .

:FAUCET
    a owl:NamedIndividual, :IfcValveTypeEnum ;
    rdfs:label "FAUCET" .

:FAX
    a owl:NamedIndividual, :IfcActionRequestTypeEnum, :IfcCommunicationsApplianceTypeEnum ;
    rdfs:label "FAX" .

:FEEDAIRUNIT
    a owl:NamedIndividual, :IfcMedicalDeviceTypeEnum ;
    rdfs:label "FEEDAIRUNIT" .

:FEEDANDEXPANSION
    a owl:NamedIndividual, :IfcTankTypeEnum ;
    rdfs:label "FEEDANDEXPANSION" .

:FEMTO
    a owl:NamedIndividual, :IfcSIPrefix ;
    rdfs:label "FEMTO" .

:FENESTRATION
    a owl:NamedIndividual, :IfcBuildingSystemTypeEnum ;
    rdfs:label "FENESTRATION" .

:FIELDCONSTRUCTIONMANAGER
    a owl:NamedIndividual, :IfcRoleEnum ;
    rdfs:label "FIELDCONSTRUCTIONMANAGER" .

:FILECABINET
    a owl:NamedIndividual, :IfcFurnitureTypeEnum ;
    rdfs:label "FILECABINET" .

:FINAL
    a owl:NamedIndividual, :IfcDocumentStatusEnum ;
    rdfs:label "FINAL" .

:FINALDRAFT
    a owl:NamedIndividual, :IfcDocumentStatusEnum ;
    rdfs:label "FINALDRAFT" .

:FINISHING
    a owl:NamedIndividual, :IfcLaborResourceTypeEnum ;
    rdfs:label "FINISHING" .

:FINISH_FINISH
    a owl:NamedIndividual, :IfcSequenceEnum ;
    rdfs:label "FINISH_FINISH" .

:FINISH_START
    a owl:NamedIndividual, :IfcSequenceEnum ;
    rdfs:label "FINISH_START" .

:FINNED
    a owl:NamedIndividual, :IfcTubeBundleTypeEnum ;
    rdfs:label "FINNED" .

:FIRE
    a owl:NamedIndividual, :IfcActionSourceTypeEnum ;
    rdfs:label "FIRE" .

:FIREDAMPER
    a owl:NamedIndividual, :IfcDamperTypeEnum ;
    rdfs:label "FIREDAMPER" .

:FIREHYDRANT
    a owl:NamedIndividual, :IfcFireSuppressionTerminalTypeEnum ;
    rdfs:label "FIREHYDRANT" .

:FIREPROTECTION
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "FIREPROTECTION" .

:FIRESAFETY
    a owl:NamedIndividual, :IfcSpatialZoneTypeEnum ;
    rdfs:label "FIRESAFETY" .

:FIRESENSOR
    a owl:NamedIndividual, :IfcSensorTypeEnum ;
    rdfs:label "FIRESENSOR" .

:FIRESMOKEDAMPER
    a owl:NamedIndividual, :IfcDamperTypeEnum ;
    rdfs:label "FIRESMOKEDAMPER" .

:FIRSTSHIFT
    a owl:NamedIndividual, :IfcWorkCalendarTypeEnum ;
    rdfs:label "FIRSTSHIFT" .

:FIRST_ORDER_THEORY
    a owl:NamedIndividual, :IfcAnalysisTheoryTypeEnum ;
    rdfs:label "FIRST_ORDER_THEORY" .

:FIXEDCASEMENT
    a owl:NamedIndividual, :IfcWindowPanelOperationEnum ;
    rdfs:label "FIXEDCASEMENT" .

:FIXEDPANEL
    a owl:NamedIndividual, :IfcDoorPanelOperationEnum ;
    rdfs:label "FIXEDPANEL" .

:FIXEDPLATECOUNTERFLOWEXCHANGER
    a owl:NamedIndividual, :IfcAirToAirHeatRecoveryTypeEnum ;
    rdfs:label "FIXEDPLATECOUNTERFLOWEXCHANGER" .

:FIXEDPLATECROSSFLOWEXCHANGER
    a owl:NamedIndividual, :IfcAirToAirHeatRecoveryTypeEnum ;
    rdfs:label "FIXEDPLATECROSSFLOWEXCHANGER" .

:FIXEDPLATEPARALLELFLOWEXCHANGER
    a owl:NamedIndividual, :IfcAirToAirHeatRecoveryTypeEnum ;
    rdfs:label "FIXEDPLATEPARALLELFLOWEXCHANGER" .

:FIXED_END
    a owl:NamedIndividual, :IfcTendonAnchorTypeEnum ;
    rdfs:label "FIXED_END" .

:FLAT
    a owl:NamedIndividual, :IfcReflectanceMethodEnum ;
    rdfs:label "FLAT" .

:FLATOVAL
    a owl:NamedIndividual, :IfcDuctSilencerTypeEnum ;
    rdfs:label "FLATOVAL" .

:FLAT_ROOF
    a owl:NamedIndividual, :IfcRoofTypeEnum ;
    rdfs:label "FLAT_ROOF" .

:FLEXIBLESEGMENT
    a owl:NamedIndividual, :IfcDuctSegmentTypeEnum, :IfcPipeSegmentTypeEnum ;
    rdfs:label "FLEXIBLESEGMENT" .

:FLOATING
    a owl:NamedIndividual, :IfcControllerTypeEnum ;
    rdfs:label "FLOATING" .

:FLOODEDSHELLANDTUBE
    a owl:NamedIndividual, :IfcEvaporatorTypeEnum ;
    rdfs:label "FLOODEDSHELLANDTUBE" .

:FLOOR
    a owl:NamedIndividual, :IfcSlabTypeEnum ;
    rdfs:label "FLOOR" .

:FLOORING
    a owl:NamedIndividual, :IfcCoveringTypeEnum, :IfcLaborResourceTypeEnum ;
    rdfs:label "FLOORING" .

:FLOORTRAP
    a owl:NamedIndividual, :IfcWasteTerminalTypeEnum ;
    rdfs:label "FLOORTRAP" .

:FLOORWASTE
    a owl:NamedIndividual, :IfcWasteTerminalTypeEnum ;
    rdfs:label "FLOORWASTE" .

:FLOWSENSOR
    a owl:NamedIndividual, :IfcSensorTypeEnum ;
    rdfs:label "FLOWSENSOR" .

:FLUORESCENT
    a owl:NamedIndividual, :IfcLampTypeEnum, :IfcLightEmissionSourceEnum ;
    rdfs:label "FLUORESCENT" .

:FLUSHING
    a owl:NamedIndividual, :IfcValveTypeEnum ;
    rdfs:label "FLUSHING" .

:FOLDING
    a owl:NamedIndividual, :IfcDoorPanelOperationEnum ;
    rdfs:label "FOLDING" .

:FOLDING_TO_LEFT
    a owl:NamedIndividual, :IfcDoorStyleOperationEnum, :IfcDoorTypeOperationEnum ;
    rdfs:label "FOLDING_TO_LEFT" .

:FOLDING_TO_RIGHT
    a owl:NamedIndividual, :IfcDoorStyleOperationEnum, :IfcDoorTypeOperationEnum ;
    rdfs:label "FOLDING_TO_RIGHT" .

:FOOTING_BEAM
    a owl:NamedIndividual, :IfcFootingTypeEnum ;
    rdfs:label "FOOTING_BEAM" .

:FORCEUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "FORCEUNIT" .

:FORMEDDUCT
    a owl:NamedIndividual, :IfcDistributionChamberElementTypeEnum ;
    rdfs:label "FORMEDDUCT" .

:FORMWORK
    a owl:NamedIndividual, :IfcConstructionProductResourceTypeEnum ;
    rdfs:label "FORMWORK" .

:FOUNDATION
    a owl:NamedIndividual, :IfcBuildingSystemTypeEnum ;
    rdfs:label "FOUNDATION" .

:FREEFORM
    a owl:NamedIndividual, :IfcRoofTypeEnum, :IfcStairFlightTypeEnum ;
    rdfs:label "FREEFORM" .

:FREESTANDINGELECTRICHEATER
    a owl:NamedIndividual, :IfcElectricApplianceTypeEnum ;
    rdfs:label "FREESTANDINGELECTRICHEATER" .

:FREESTANDINGFAN
    a owl:NamedIndividual, :IfcElectricApplianceTypeEnum ;
    rdfs:label "FREESTANDINGFAN" .

:FREESTANDINGWATERCOOLER
    a owl:NamedIndividual, :IfcElectricApplianceTypeEnum ;
    rdfs:label "FREESTANDINGWATERCOOLER" .

:FREESTANDINGWATERHEATER
    a owl:NamedIndividual, :IfcElectricApplianceTypeEnum ;
    rdfs:label "FREESTANDINGWATERHEATER" .

:FREEZER
    a owl:NamedIndividual, :IfcElectricApplianceTypeEnum ;
    rdfs:label "FREEZER" .

:FREQUENCY
    a owl:NamedIndividual, :IfcTransformerTypeEnum ;
    rdfs:label "FREQUENCY" .

:FREQUENCYMETER
    a owl:NamedIndividual, :IfcFlowInstrumentTypeEnum ;
    rdfs:label "FREQUENCYMETER" .

:FREQUENCYUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "FREQUENCYUNIT" .

:FRICTION
    a owl:NamedIndividual, :IfcPileTypeEnum ;
    rdfs:label "FRICTION" .

:FRIDGE_FREEZER
    a owl:NamedIndividual, :IfcElectricApplianceTypeEnum ;
    rdfs:label "FRIDGE_FREEZER" .

:FROSTSENSOR
    a owl:NamedIndividual, :IfcSensorTypeEnum ;
    rdfs:label "FROSTSENSOR" .

:FUEL
    a owl:NamedIndividual, :IfcConstructionMaterialResourceTypeEnum, :IfcDistributionSystemEnum ;
    rdfs:label "FUEL" .

:FULL_NONLINEAR_THEORY
    a owl:NamedIndividual, :IfcAnalysisTheoryTypeEnum ;
    rdfs:label "FULL_NONLINEAR_THEORY" .

:FUMEHOODEXHAUST
    a owl:NamedIndividual, :IfcDamperTypeEnum ;
    rdfs:label "FUMEHOODEXHAUST" .

:FURNITUREINVENTORY
    a owl:NamedIndividual, :IfcInventoryTypeEnum ;
    rdfs:label "FURNITUREINVENTORY" .

:FUSEDISCONNECTOR
    a owl:NamedIndividual, :IfcProtectiveDeviceTypeEnum ;
    rdfs:label "FUSEDISCONNECTOR" .

:GABLE_ROOF
    a owl:NamedIndividual, :IfcRoofTypeEnum ;
    rdfs:label "GABLE_ROOF" .

:GAMBREL_ROOF
    a owl:NamedIndividual, :IfcRoofTypeEnum ;
    rdfs:label "GAMBREL_ROOF" .

:GAS
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "GAS" .

:GASCOCK
    a owl:NamedIndividual, :IfcValveTypeEnum ;
    rdfs:label "GASCOCK" .

:GASDETECTIONPANEL
    a owl:NamedIndividual, :IfcUnitaryControlElementTypeEnum ;
    rdfs:label "GASDETECTIONPANEL" .

:GASHEATINGCOIL
    a owl:NamedIndividual, :IfcCoilTypeEnum ;
    rdfs:label "GASHEATINGCOIL" .

:GASMETER
    a owl:NamedIndividual, :IfcFlowMeterTypeEnum ;
    rdfs:label "GASMETER" .

:GASSENSOR
    a owl:NamedIndividual, :IfcSensorTypeEnum ;
    rdfs:label "GASSENSOR" .

:GASTAP
    a owl:NamedIndividual, :IfcValveTypeEnum ;
    rdfs:label "GASTAP" .

:GATE
    a owl:NamedIndividual, :IfcDoorTypeEnum ;
    rdfs:label "GATE" .

:GATEWAY
    a owl:NamedIndividual, :IfcCommunicationsApplianceTypeEnum ;
    rdfs:label "GATEWAY" .

:GENERAL
    a owl:NamedIndividual, :IfcLaborResourceTypeEnum ;
    rdfs:label "GENERAL" .

:GENERALISED_CONE
    a owl:NamedIndividual, :IfcBSplineSurfaceForm ;
    rdfs:label "GENERALISED_CONE" .

:GFA
    a owl:NamedIndividual, :IfcSpaceTypeEnum ;
    rdfs:label "GFA" .

:GIGA
    a owl:NamedIndividual, :IfcSIPrefix ;
    rdfs:label "GIGA" .

:GIRDER
    a owl:NamedIndividual, :IfcElementAssemblyTypeEnum ;
    rdfs:label "GIRDER" .

:GLASS
    a owl:NamedIndividual, :IfcReflectanceMethodEnum ;
    rdfs:label "GLASS" .

:GLOBAL_COORDS
    a owl:NamedIndividual, :IfcGlobalOrLocalEnum ;
    rdfs:label "GLOBAL_COORDS" .

:GLUE
    a owl:NamedIndividual, :IfcFastenerTypeEnum ;
    rdfs:label "GLUE" .

:GRAM
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "GRAM" .

:GRAPH_VIEW
    a owl:NamedIndividual, :IfcGeometricProjectionEnum ;
    rdfs:label "GRAPH_VIEW" .

:GRAVITYDAMPER
    a owl:NamedIndividual, :IfcDamperTypeEnum ;
    rdfs:label "GRAVITYDAMPER" .

:GRAVITYRELIEFDAMPER
    a owl:NamedIndividual, :IfcDamperTypeEnum ;
    rdfs:label "GRAVITYRELIEFDAMPER" .

:GRAY
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "GRAY" .

:GREASE
    a owl:NamedIndividual, :IfcInterceptorTypeEnum ;
    rdfs:label "GREASE" .

:GREATERTHAN
    a owl:NamedIndividual, :IfcBenchmarkEnum ;
    rdfs:label "GREATERTHAN" .

:GREATERTHANOREQUALTO
    a owl:NamedIndividual, :IfcBenchmarkEnum ;
    rdfs:label "GREATERTHANOREQUALTO" .

:GRILL
    a owl:NamedIndividual, :IfcPermeableCoveringOperationEnum ;
    rdfs:label "GRILL" .

:GRILLE
    a owl:NamedIndividual, :IfcAirTerminalTypeEnum ;
    rdfs:label "GRILLE" .

:GROUP
    a owl:NamedIndividual, :IfcObjectTypeEnum ;
    rdfs:label "GROUP" .

:GUARDRAIL
    a owl:NamedIndividual, :IfcRailingTypeEnum ;
    rdfs:label "GUARDRAIL" .

:GULLYSUMP
    a owl:NamedIndividual, :IfcWasteTerminalTypeEnum ;
    rdfs:label "GULLYSUMP" .

:GULLYTRAP
    a owl:NamedIndividual, :IfcWasteTerminalTypeEnum ;
    rdfs:label "GULLYTRAP" .

:GUTTER
    a owl:NamedIndividual, :IfcPipeSegmentTypeEnum ;
    rdfs:label "GUTTER" .

:GYPSUM
    a owl:NamedIndividual, :IfcConstructionMaterialResourceTypeEnum ;
    rdfs:label "GYPSUM" .

:HALF_TURN_RAMP
    a owl:NamedIndividual, :IfcRampTypeEnum ;
    rdfs:label "HALF_TURN_RAMP" .

:HALF_TURN_STAIR
    a owl:NamedIndividual, :IfcStairTypeEnum ;
    rdfs:label "HALF_TURN_STAIR" .

:HALF_WINDING_STAIR
    a owl:NamedIndividual, :IfcStairTypeEnum ;
    rdfs:label "HALF_WINDING_STAIR" .

:HALOGEN
    a owl:NamedIndividual, :IfcLampTypeEnum ;
    rdfs:label "HALOGEN" .

:HANDDRYER
    a owl:NamedIndividual, :IfcElectricApplianceTypeEnum ;
    rdfs:label "HANDDRYER" .

:HANDOPERATEDACTUATOR
    a owl:NamedIndividual, :IfcActuatorTypeEnum ;
    rdfs:label "HANDOPERATEDACTUATOR" .

:HANDRAIL
    a owl:NamedIndividual, :IfcRailingTypeEnum ;
    rdfs:label "HANDRAIL" .

:HARD
    a owl:NamedIndividual, :IfcConstraintEnum ;
    rdfs:label "HARD" .

:HARMONICFILTER
    a owl:NamedIndividual, :IfcElectricFlowStorageDeviceTypeEnum ;
    rdfs:label "HARMONICFILTER" .

:HAZARDOUS
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "HAZARDOUS" .

:HEALTHANDSAFETY
    a owl:NamedIndividual, :IfcObjectiveEnum ;
    rdfs:label "HEALTHANDSAFETY" .

:HEATFLUXDENSITYUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "HEATFLUXDENSITYUNIT" .

:HEATING
    a owl:NamedIndividual, :IfcConstructionEquipmentResourceTypeEnum, :IfcDistributionSystemEnum ;
    rdfs:label "HEATING" .

:HEATINGVALUEUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "HEATINGVALUEUNIT" .

:HEATPIPE
    a owl:NamedIndividual, :IfcAirToAirHeatRecoveryTypeEnum ;
    rdfs:label "HEATPIPE" .

:HEATRECOVERY
    a owl:NamedIndividual, :IfcChillerTypeEnum ;
    rdfs:label "HEATRECOVERY" .

:HEATSENSOR
    a owl:NamedIndividual, :IfcSensorTypeEnum ;
    rdfs:label "HEATSENSOR" .

:HECTO
    a owl:NamedIndividual, :IfcSIPrefix ;
    rdfs:label "HECTO" .

:HENRY
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "HENRY" .

:HERMETIC
    a owl:NamedIndividual, :IfcCompressorTypeEnum ;
    rdfs:label "HERMETIC" .

:HERTZ
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "HERTZ" .

:HIGHPRESSUREMERCURY
    a owl:NamedIndividual, :IfcLampTypeEnum, :IfcLightEmissionSourceEnum ;
    rdfs:label "HIGHPRESSUREMERCURY" .

:HIGHPRESSURESODIUM
    a owl:NamedIndividual, :IfcLampTypeEnum, :IfcLightEmissionSourceEnum ;
    rdfs:label "HIGHPRESSURESODIUM" .

:HIGH_GRADE_STEEL
    a owl:NamedIndividual, :IfcDoorStyleConstructionEnum, :IfcWindowStyleConstructionEnum ;
    rdfs:label "HIGH_GRADE_STEEL" .

:HIPPED_GABLE_ROOF
    a owl:NamedIndividual, :IfcRoofTypeEnum ;
    rdfs:label "HIPPED_GABLE_ROOF" .

:HIP_ROOF
    a owl:NamedIndividual, :IfcRoofTypeEnum ;
    rdfs:label "HIP_ROOF" .

:HOLE
    a owl:NamedIndividual, :IfcVoidingFeatureTypeEnum ;
    rdfs:label "HOLE" .

:HOLLOWCORE
    a owl:NamedIndividual, :IfcBeamTypeEnum ;
    rdfs:label "HOLLOWCORE" .

:HOME
    a owl:NamedIndividual, :IfcAddressTypeEnum ;
    rdfs:label "HOME" .

:HOSEREEL
    a owl:NamedIndividual, :IfcFireSuppressionTerminalTypeEnum ;
    rdfs:label "HOSEREEL" .

:HUMIDISTAT
    a owl:NamedIndividual, :IfcUnitaryControlElementTypeEnum ;
    rdfs:label "HUMIDISTAT" .

:HUMIDITYSENSOR
    a owl:NamedIndividual, :IfcSensorTypeEnum ;
    rdfs:label "HUMIDITYSENSOR" .

:HVAC
    a owl:NamedIndividual, :IfcLaborResourceTypeEnum ;
    rdfs:label "HVAC" .

:HYDRAULICACTUATOR
    a owl:NamedIndividual, :IfcActuatorTypeEnum ;
    rdfs:label "HYDRAULICACTUATOR" .

:HYDRONICCOIL
    a owl:NamedIndividual, :IfcCoilTypeEnum ;
    rdfs:label "HYDRONICCOIL" .

:HYPERBOLIC_ARC
    a owl:NamedIndividual, :IfcBSplineCurveForm ;
    rdfs:label "HYPERBOLIC_ARC" .

:ICE
    a owl:NamedIndividual, :IfcActionSourceTypeEnum ;
    rdfs:label "ICE" .

:IDENTIFIERSENSOR
    a owl:NamedIndividual, :IfcSensorTypeEnum ;
    rdfs:label "IDENTIFIERSENSOR" .

:ILLUMINANCEUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "ILLUMINANCEUNIT" .

:IMPACT
    a owl:NamedIndividual, :IfcActionSourceTypeEnum ;
    rdfs:label "IMPACT" .

:IMPULSE
    a owl:NamedIndividual, :IfcActionSourceTypeEnum ;
    rdfs:label "IMPULSE" .

:INCLUDEDIN
    a owl:NamedIndividual, :IfcBenchmarkEnum ;
    rdfs:label "INCLUDEDIN" .

:INCLUDES
    a owl:NamedIndividual, :IfcBenchmarkEnum ;
    rdfs:label "INCLUDES" .

:INDICATORPANEL
    a owl:NamedIndividual, :IfcUnitaryControlElementTypeEnum ;
    rdfs:label "INDICATORPANEL" .

:INDIRECTDIRECTCOMBINATION
    a owl:NamedIndividual, :IfcEvaporativeCoolerTypeEnum ;
    rdfs:label "INDIRECTDIRECTCOMBINATION" .

:INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER
    a owl:NamedIndividual, :IfcEvaporativeCoolerTypeEnum ;
    rdfs:label "INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER" .

:INDIRECTEVAPORATIVEPACKAGEAIRCOOLER
    a owl:NamedIndividual, :IfcEvaporativeCoolerTypeEnum ;
    rdfs:label "INDIRECTEVAPORATIVEPACKAGEAIRCOOLER" .

:INDIRECTEVAPORATIVEWETCOIL
    a owl:NamedIndividual, :IfcEvaporativeCoolerTypeEnum ;
    rdfs:label "INDIRECTEVAPORATIVEWETCOIL" .

:INDUCTANCEUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "INDUCTANCEUNIT" .

:INDUCTION
    a owl:NamedIndividual, :IfcElectricMotorTypeEnum ;
    rdfs:label "INDUCTION" .

:INDUCTORBANK
    a owl:NamedIndividual, :IfcElectricFlowStorageDeviceTypeEnum ;
    rdfs:label "INDUCTORBANK" .

:INSPECTIONCHAMBER
    a owl:NamedIndividual, :IfcDistributionChamberElementTypeEnum ;
    rdfs:label "INSPECTIONCHAMBER" .

:INSPECTIONPIT
    a owl:NamedIndividual, :IfcDistributionChamberElementTypeEnum ;
    rdfs:label "INSPECTIONPIT" .

:INSTALLATION
    a owl:NamedIndividual, :IfcTaskTypeEnum ;
    rdfs:label "INSTALLATION" .

:INSULATION
    a owl:NamedIndividual, :IfcBuildingElementPartTypeEnum, :IfcCoveringTypeEnum ;
    rdfs:label "INSULATION" .

:INTEGERCOUNTRATEUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "INTEGERCOUNTRATEUNIT" .

:INTERMEDIATEEVENT
    a owl:NamedIndividual, :IfcEventTypeEnum ;
    rdfs:label "INTERMEDIATEEVENT" .

:INTERNAL
    a owl:NamedIndividual, :IfcInternalOrExternalEnum, :IfcSpaceTypeEnum ;
    rdfs:label "INTERNAL" .

:INTERNALCOMBUSTION
    a owl:NamedIndividual, :IfcEngineTypeEnum ;
    rdfs:label "INTERNALCOMBUSTION" .

:INTERSECTION
    a owl:NamedIndividual, :IfcBooleanOperator ;
    rdfs:label "INTERSECTION" .

:INVERTER
    a owl:NamedIndividual, :IfcTransformerTypeEnum ;
    rdfs:label "INVERTER" .

:IN_PLANE_LOADING_2D
    a owl:NamedIndividual, :IfcAnalysisModelTypeEnum ;
    rdfs:label "IN_PLANE_LOADING_2D" .

:IONCONCENTRATIONSENSOR
    a owl:NamedIndividual, :IfcSensorTypeEnum ;
    rdfs:label "IONCONCENTRATIONSENSOR" .

:IONCONCENTRATIONUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "IONCONCENTRATIONUNIT" .

:IRREGULAR
    a owl:NamedIndividual, :IfcGridTypeEnum ;
    rdfs:label "IRREGULAR" .

:ISOCONTOUR
    a owl:NamedIndividual, :IfcStructuralSurfaceActivityTypeEnum ;
    rdfs:label "ISOCONTOUR" .

:ISOLATING
    a owl:NamedIndividual, :IfcValveTypeEnum ;
    rdfs:label "ISOLATING" .

:ISOTHERMALMOISTURECAPACITYUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "ISOTHERMALMOISTURECAPACITYUNIT" .

:IfcAbsorbedDoseMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcAccelerationMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcActionRequest
    a owl:Class ;
    rdfs:subClassOf :IfcControl, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :longDescription_IfcActionRequest
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcActionRequestTypeEnum ;
        owl:onProperty :predefinedType_IfcActionRequest
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :longDescription_IfcActionRequest
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcActionRequestTypeEnum ;
        owl:onProperty :predefinedType_IfcActionRequest
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :status_IfcActionRequest
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :status_IfcActionRequest
    ] ;
    owl:disjointWith :IfcCostItem, :IfcCostSchedule, :IfcPerformanceHistory, :IfcPermit, :IfcProjectOrder, :IfcWorkCalendar, :IfcWorkControl .

:IfcActionRequestTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcActionSourceTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcActionTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcActor
    a owl:Class ;
    rdfs:subClassOf :IfcObject, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcActorSelect ;
        owl:onProperty :theActor_IfcActor
    ], [
        a owl:Restriction ;
        owl:onClass :IfcActorSelect ;
        owl:onProperty :theActor_IfcActor ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelAssignsToActor ;
        owl:onProperty :isActingUpon_IfcActor
    ] ;
    owl:disjointWith :IfcControl, :IfcGroup, :IfcProcess, :IfcProduct, :IfcResource .

:IfcActorRole
    a owl:Class ;
    rdfs:subClassOf :IfcResourceObjectSelect, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcActorRole
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcActorRole
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :userDefinedRole_IfcActorRole
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :userDefinedRole_IfcActorRole
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRoleEnum ;
        owl:onProperty :role_IfcActorRole
    ], [
        a owl:Restriction ;
        owl:onClass :IfcRoleEnum ;
        owl:onProperty :role_IfcActorRole ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] .

:IfcActorRole_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcActorRole_List, list:EmptyList .

:IfcActorRole_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcActorRole_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcActorRole_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcActorRole ;
        owl:onProperty list:hasContents
    ] .

:IfcActorSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcActuator
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionControlElement, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcActuatorTypeEnum ;
        owl:onProperty :predefinedType_IfcActuator
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcActuatorTypeEnum ;
        owl:onProperty :predefinedType_IfcActuator
    ] ;
    owl:disjointWith :IfcAlarm, :IfcController, :IfcFlowInstrument, :IfcProtectiveDeviceTrippingUnit, :IfcSensor, :IfcUnitaryControlElement .

:IfcActuatorType
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionControlElementType, [
        a owl:Restriction ;
        owl:onClass :IfcActuatorTypeEnum ;
        owl:onProperty :predefinedType_IfcActuatorType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcActuatorTypeEnum ;
        owl:onProperty :predefinedType_IfcActuatorType
    ] ;
    owl:disjointWith :IfcAlarmType, :IfcControllerType, :IfcFlowInstrumentType, :IfcProtectiveDeviceTrippingUnitType, :IfcSensorType, :IfcUnitaryControlElementType .

:IfcActuatorTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcAddress
    a owl:Class ;
    rdfs:subClassOf :IfcObjectReferenceSelect, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAddressTypeEnum ;
        owl:onProperty :purpose_IfcAddress
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAddressTypeEnum ;
        owl:onProperty :purpose_IfcAddress
    ], [
        a owl:Class ;
        owl:unionOf (:IfcTelecomAddress
            :IfcPostalAddress
        )
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :userDefinedPurpose_IfcAddress
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :userDefinedPurpose_IfcAddress
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcAddress
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcAddress
    ] .

:IfcAddressTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcAddress_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcAddress_List, list:EmptyList .

:IfcAddress_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAddress_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAddress_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAddress ;
        owl:onProperty list:hasContents
    ] .

:IfcAdvancedBrep
    a owl:Class ;
    rdfs:subClassOf :IfcManifoldSolidBrep ;
    owl:disjointWith :IfcFacetedBrep .

:IfcAdvancedBrepWithVoids
    a owl:Class ;
    rdfs:subClassOf :IfcAdvancedBrep, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcClosedShell ;
        owl:onProperty :voids_IfcAdvancedBrepWithVoids
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcClosedShell ;
        owl:onProperty :voids_IfcAdvancedBrepWithVoids
    ] .

:IfcAdvancedFace
    a owl:Class ;
    rdfs:subClassOf :IfcFaceSurface .

:IfcAirTerminal
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminal, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAirTerminalTypeEnum ;
        owl:onProperty :predefinedType_IfcAirTerminal
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAirTerminalTypeEnum ;
        owl:onProperty :predefinedType_IfcAirTerminal
    ] ;
    owl:disjointWith :IfcAudioVisualAppliance, :IfcCommunicationsAppliance, :IfcElectricAppliance, :IfcFireSuppressionTerminal, :IfcLamp, :IfcLightFixture, :IfcMedicalDevice, :IfcOutlet, :IfcSanitaryTerminal, :IfcSpaceHeater, :IfcStackTerminal, :IfcWasteTerminal .

:IfcAirTerminalBox
    a owl:Class ;
    rdfs:subClassOf :IfcFlowController, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAirTerminalBoxTypeEnum ;
        owl:onProperty :predefinedType_IfcAirTerminalBox
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAirTerminalBoxTypeEnum ;
        owl:onProperty :predefinedType_IfcAirTerminalBox
    ] ;
    owl:disjointWith :IfcDamper, :IfcElectricDistributionBoard, :IfcElectricTimeControl, :IfcFlowMeter, :IfcProtectiveDevice, :IfcSwitchingDevice, :IfcValve .

:IfcAirTerminalBoxType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowControllerType, [
        a owl:Restriction ;
        owl:onClass :IfcAirTerminalBoxTypeEnum ;
        owl:onProperty :predefinedType_IfcAirTerminalBoxType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAirTerminalBoxTypeEnum ;
        owl:onProperty :predefinedType_IfcAirTerminalBoxType
    ] ;
    owl:disjointWith :IfcDamperType, :IfcElectricDistributionBoardType, :IfcElectricTimeControlType, :IfcFlowMeterType, :IfcProtectiveDeviceType, :IfcSwitchingDeviceType, :IfcValveType .

:IfcAirTerminalBoxTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcAirTerminalType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminalType, [
        a owl:Restriction ;
        owl:onClass :IfcAirTerminalTypeEnum ;
        owl:onProperty :predefinedType_IfcAirTerminalType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAirTerminalTypeEnum ;
        owl:onProperty :predefinedType_IfcAirTerminalType
    ] ;
    owl:disjointWith :IfcAudioVisualApplianceType, :IfcCommunicationsApplianceType, :IfcElectricApplianceType, :IfcFireSuppressionTerminalType, :IfcLampType, :IfcLightFixtureType, :IfcMedicalDeviceType, :IfcOutletType, :IfcSanitaryTerminalType, :IfcSpaceHeaterType, :IfcStackTerminalType, :IfcWasteTerminalType .

:IfcAirTerminalTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcAirToAirHeatRecovery
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDevice, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAirToAirHeatRecoveryTypeEnum ;
        owl:onProperty :predefinedType_IfcAirToAirHeatRecovery
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAirToAirHeatRecoveryTypeEnum ;
        owl:onProperty :predefinedType_IfcAirToAirHeatRecovery
    ] ;
    owl:disjointWith :IfcBoiler, :IfcBurner, :IfcChiller, :IfcCoil, :IfcCondenser, :IfcCooledBeam, :IfcCoolingTower, :IfcElectricGenerator, :IfcElectricMotor, :IfcEngine, :IfcEvaporativeCooler, :IfcEvaporator, :IfcHeatExchanger, :IfcHumidifier, :IfcMotorConnection, :IfcSolarDevice, :IfcTransformer, :IfcTubeBundle, :IfcUnitaryEquipment .

:IfcAirToAirHeatRecoveryType
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDeviceType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAirToAirHeatRecoveryTypeEnum ;
        owl:onProperty :predefinedType_IfcAirToAirHeatRecoveryType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcAirToAirHeatRecoveryTypeEnum ;
        owl:onProperty :predefinedType_IfcAirToAirHeatRecoveryType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcBoilerType, :IfcBurnerType, :IfcChillerType, :IfcCoilType, :IfcCondenserType, :IfcCooledBeamType, :IfcCoolingTowerType, :IfcElectricGeneratorType, :IfcElectricMotorType, :IfcEngineType, :IfcEvaporativeCoolerType, :IfcEvaporatorType, :IfcHeatExchangerType, :IfcHumidifierType, :IfcMotorConnectionType, :IfcSolarDeviceType, :IfcTransformerType, :IfcTubeBundleType, :IfcUnitaryEquipmentType .

:IfcAirToAirHeatRecoveryTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcAlarm
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionControlElement, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAlarmTypeEnum ;
        owl:onProperty :predefinedType_IfcAlarm
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAlarmTypeEnum ;
        owl:onProperty :predefinedType_IfcAlarm
    ] ;
    owl:disjointWith :IfcActuator, :IfcController, :IfcFlowInstrument, :IfcProtectiveDeviceTrippingUnit, :IfcSensor, :IfcUnitaryControlElement .

:IfcAlarmType
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionControlElementType, [
        a owl:Restriction ;
        owl:onClass :IfcAlarmTypeEnum ;
        owl:onProperty :predefinedType_IfcAlarmType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAlarmTypeEnum ;
        owl:onProperty :predefinedType_IfcAlarmType
    ] ;
    owl:disjointWith :IfcActuatorType, :IfcControllerType, :IfcFlowInstrumentType, :IfcProtectiveDeviceTrippingUnitType, :IfcSensorType, :IfcUnitaryControlElementType .

:IfcAlarmTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcAmountOfSubstanceMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcMeasureValue .

:IfcAnalysisModelTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcAnalysisTheoryTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcAngularVelocityMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcAnnotation
    a owl:Class ;
    rdfs:subClassOf :IfcProduct ;
    owl:disjointWith :IfcElement, :IfcGrid, :IfcPort, :IfcProxy, :IfcSpatialElement, :IfcStructuralActivity, :IfcStructuralItem .

:IfcAnnotationFillArea
    a owl:Class ;
    rdfs:subClassOf :IfcGeometricRepresentationItem, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurve ;
        owl:onProperty :innerBoundaries_IfcAnnotationFillArea
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCurve ;
        owl:onProperty :outerBoundary_IfcAnnotationFillArea ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurve ;
        owl:onProperty :outerBoundary_IfcAnnotationFillArea
    ] ;
    owl:disjointWith :IfcBooleanResult, :IfcBoundingBox, :IfcCartesianPointList, :IfcCartesianTransformationOperator, :IfcCompositeCurveSegment, :IfcCsgPrimitive3D, :IfcCurve, :IfcDirection, :IfcFaceBasedSurfaceModel, :IfcFillAreaStyleHatching, :IfcFillAreaStyleTiles, :IfcGeometricSet, :IfcHalfSpaceSolid, :IfcLightSource, :IfcPlacement, :IfcPlanarExtent, :IfcPoint, :IfcSectionedSpine, :IfcShellBasedSurfaceModel, :IfcSolidModel, :IfcSurface, :IfcTessellatedItem, :IfcTextLiteral, :IfcVector .

:IfcApplication
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :applicationIdentifier_IfcApplication
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :version_IfcApplication
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLabel ;
        owl:onProperty :version_IfcApplication ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :applicationFullName_IfcApplication
    ], [
        a owl:Restriction ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :applicationIdentifier_IfcApplication ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcOrganization ;
        owl:onProperty :applicationDeveloper_IfcApplication
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLabel ;
        owl:onProperty :applicationFullName_IfcApplication ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcOrganization ;
        owl:onProperty :applicationDeveloper_IfcApplication ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] .

:IfcAppliedValue
    a owl:Class ;
    rdfs:subClassOf :IfcMetricValueSelect, :IfcObjectReferenceSelect, :IfcResourceObjectSelect, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcAppliedValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :category_IfcAppliedValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :condition_IfcAppliedValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAppliedValue_List ;
        owl:onProperty :components_IfcAppliedValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDate ;
        owl:onProperty :applicableDate_IfcAppliedValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMeasureWithUnit ;
        owl:onProperty :unitBasis_IfcAppliedValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAppliedValueSelect ;
        owl:onProperty :appliedValue_IfcAppliedValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAppliedValueSelect ;
        owl:onProperty :appliedValue_IfcAppliedValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcAppliedValue_List
        ] ;
        owl:onProperty :components_IfcAppliedValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDate ;
        owl:onProperty :applicableDate_IfcAppliedValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDate ;
        owl:onProperty :fixedUntilDate_IfcAppliedValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcMeasureWithUnit ;
        owl:onProperty :unitBasis_IfcAppliedValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcArithmeticOperatorEnum ;
        owl:onProperty :arithmeticOperator_IfcAppliedValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcAppliedValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcAppliedValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :category_IfcAppliedValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcArithmeticOperatorEnum ;
        owl:onProperty :arithmeticOperator_IfcAppliedValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcAppliedValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDate ;
        owl:onProperty :fixedUntilDate_IfcAppliedValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAppliedValue_List ;
        owl:onProperty :components_IfcAppliedValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :condition_IfcAppliedValue
    ] .

:IfcAppliedValueSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcAppliedValue_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcAppliedValue_List, list:EmptyList .

:IfcAppliedValue_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAppliedValue_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAppliedValue_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAppliedValue ;
        owl:onProperty list:hasContents
    ] .

:IfcApproval
    a owl:Class ;
    rdfs:subClassOf :IfcResourceObjectSelect, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :identifier_IfcApproval
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcApproval
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcActorSelect ;
        owl:onProperty :requestingApproval_IfcApproval
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcApprovalRelationship ;
        owl:onProperty :isRelatedWith_IfcApproval
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :timeOfApproval_IfcApproval
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :qualifier_IfcApproval
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcActorSelect ;
        owl:onProperty :givingApproval_IfcApproval
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :level_IfcApproval
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :timeOfApproval_IfcApproval
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcApproval
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :status_IfcApproval
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :status_IfcApproval
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcResourceApprovalRelationship ;
        owl:onProperty :approvedResources_IfcApproval
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcActorSelect ;
        owl:onProperty :requestingApproval_IfcApproval
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :qualifier_IfcApproval
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcApproval
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :level_IfcApproval
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :identifier_IfcApproval
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelAssociatesApproval ;
        owl:onProperty :approvedObjects_IfcApproval
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcActorSelect ;
        owl:onProperty :givingApproval_IfcApproval
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcApprovalRelationship ;
        owl:onProperty :relates_IfcApproval
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcApproval
    ] .

:IfcApprovalRelationship
    a owl:Class ;
    rdfs:subClassOf :IfcResourceLevelRelationship, [
        a owl:Restriction ;
        owl:onClass :IfcApproval ;
        owl:onProperty :relatingApproval_IfcApprovalRelationship ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcApproval ;
        owl:onProperty :relatedApprovals_IfcApprovalRelationship
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcApproval ;
        owl:onProperty :relatingApproval_IfcApprovalRelationship
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcApproval ;
        owl:onProperty :relatedApprovals_IfcApprovalRelationship
    ] ;
    owl:disjointWith :IfcCurrencyRelationship, :IfcDocumentInformationRelationship, :IfcExternalReferenceRelationship, :IfcMaterialRelationship, :IfcOrganizationRelationship, :IfcPropertyDependencyRelationship, :IfcResourceApprovalRelationship, :IfcResourceConstraintRelationship .

:IfcArbitraryClosedProfileDef
    a owl:Class ;
    rdfs:subClassOf :IfcProfileDef, [
        a owl:Restriction ;
        owl:onClass :IfcCurve ;
        owl:onProperty :outerCurve_IfcArbitraryClosedProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurve ;
        owl:onProperty :outerCurve_IfcArbitraryClosedProfileDef
    ] ;
    owl:disjointWith :IfcArbitraryOpenProfileDef, :IfcCompositeProfileDef, :IfcDerivedProfileDef, :IfcParameterizedProfileDef .

:IfcArbitraryOpenProfileDef
    a owl:Class ;
    rdfs:subClassOf :IfcProfileDef, [
        a owl:Restriction ;
        owl:onClass :IfcBoundedCurve ;
        owl:onProperty :curve_IfcArbitraryOpenProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoundedCurve ;
        owl:onProperty :curve_IfcArbitraryOpenProfileDef
    ] ;
    owl:disjointWith :IfcArbitraryClosedProfileDef, :IfcCompositeProfileDef, :IfcDerivedProfileDef, :IfcParameterizedProfileDef .

:IfcArbitraryProfileDefWithVoids
    a owl:Class ;
    rdfs:subClassOf :IfcArbitraryClosedProfileDef, [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCurve ;
        owl:onProperty :innerCurves_IfcArbitraryProfileDefWithVoids
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurve ;
        owl:onProperty :innerCurves_IfcArbitraryProfileDefWithVoids
    ] .

:IfcArcIndex
    a owl:Class ;
    rdfs:subClassOf :IfcPositiveInteger_List, :IfcSegmentIndexSelect, [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:allValuesFrom [
                a owl:Restriction ;
                owl:onClass :IfcPositiveInteger_EmptyList ;
                owl:onProperty list:hasNext ;
                owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
            ] ;
            owl:onProperty list:hasNext
        ] ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:onProperty list:hasNext ;
        owl:someValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom :IfcPositiveInteger_List
            ]
        ]
    ] .

:IfcAreaDensityMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcAreaMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcMeasureValue .

:IfcArithmeticOperatorEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcAssemblyPlaceEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcAsset
    a owl:Class ;
    rdfs:subClassOf :IfcGroup, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcActorSelect ;
        owl:onProperty :owner_IfcAsset
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPerson ;
        owl:onProperty :responsiblePerson_IfcAsset
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCostValue ;
        owl:onProperty :currentValue_IfcAsset
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCostValue ;
        owl:onProperty :originalValue_IfcAsset
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCostValue ;
        owl:onProperty :depreciatedValue_IfcAsset
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCostValue ;
        owl:onProperty :currentValue_IfcAsset
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPerson ;
        owl:onProperty :responsiblePerson_IfcAsset
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCostValue ;
        owl:onProperty :totalReplacementCost_IfcAsset
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :identification_IfcAsset
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcActorSelect ;
        owl:onProperty :owner_IfcAsset
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcActorSelect ;
        owl:onProperty :user_IfcAsset
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCostValue ;
        owl:onProperty :depreciatedValue_IfcAsset
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :identification_IfcAsset
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCostValue ;
        owl:onProperty :originalValue_IfcAsset
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDate ;
        owl:onProperty :incorporationDate_IfcAsset
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCostValue ;
        owl:onProperty :totalReplacementCost_IfcAsset
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcActorSelect ;
        owl:onProperty :user_IfcAsset
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDate ;
        owl:onProperty :incorporationDate_IfcAsset
    ] ;
    owl:disjointWith :IfcInventory, :IfcStructuralLoadGroup, :IfcStructuralResultGroup, :IfcSystem .

:IfcAsymmetricIShapeProfileDef
    a owl:Class ;
    rdfs:subClassOf :IfcParameterizedProfileDef, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNonNegativeLengthMeasure ;
        owl:onProperty :bottomFlangeFilletRadius_IfcAsymmetricIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPlaneAngleMeasure ;
        owl:onProperty :topFlangeSlope_IfcAsymmetricIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNonNegativeLengthMeasure ;
        owl:onProperty :topFlangeEdgeRadius_IfcAsymmetricIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNonNegativeLengthMeasure ;
        owl:onProperty :topFlangeEdgeRadius_IfcAsymmetricIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :overallDepth_IfcAsymmetricIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNonNegativeLengthMeasure ;
        owl:onProperty :topFlangeFilletRadius_IfcAsymmetricIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :topFlangeWidth_IfcAsymmetricIShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :bottomFlangeWidth_IfcAsymmetricIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :topFlangeThickness_IfcAsymmetricIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :topFlangeThickness_IfcAsymmetricIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNonNegativeLengthMeasure ;
        owl:onProperty :topFlangeFilletRadius_IfcAsymmetricIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :bottomFlangeThickness_IfcAsymmetricIShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNonNegativeLengthMeasure ;
        owl:onProperty :bottomFlangeEdgeRadius_IfcAsymmetricIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNonNegativeLengthMeasure ;
        owl:onProperty :bottomFlangeFilletRadius_IfcAsymmetricIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :webThickness_IfcAsymmetricIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPlaneAngleMeasure ;
        owl:onProperty :topFlangeSlope_IfcAsymmetricIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPlaneAngleMeasure ;
        owl:onProperty :bottomFlangeSlope_IfcAsymmetricIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :bottomFlangeWidth_IfcAsymmetricIShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNonNegativeLengthMeasure ;
        owl:onProperty :bottomFlangeEdgeRadius_IfcAsymmetricIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :webThickness_IfcAsymmetricIShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :overallDepth_IfcAsymmetricIShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :bottomFlangeThickness_IfcAsymmetricIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :topFlangeWidth_IfcAsymmetricIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPlaneAngleMeasure ;
        owl:onProperty :bottomFlangeSlope_IfcAsymmetricIShapeProfileDef
    ] ;
    owl:disjointWith :IfcCShapeProfileDef, :IfcCircleProfileDef, :IfcEllipseProfileDef, :IfcIShapeProfileDef, :IfcLShapeProfileDef, :IfcRectangleProfileDef, :IfcTShapeProfileDef, :IfcTrapeziumProfileDef, :IfcUShapeProfileDef, :IfcZShapeProfileDef .

:IfcAudioVisualAppliance
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminal, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAudioVisualApplianceTypeEnum ;
        owl:onProperty :predefinedType_IfcAudioVisualAppliance
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAudioVisualApplianceTypeEnum ;
        owl:onProperty :predefinedType_IfcAudioVisualAppliance
    ] ;
    owl:disjointWith :IfcAirTerminal, :IfcCommunicationsAppliance, :IfcElectricAppliance, :IfcFireSuppressionTerminal, :IfcLamp, :IfcLightFixture, :IfcMedicalDevice, :IfcOutlet, :IfcSanitaryTerminal, :IfcSpaceHeater, :IfcStackTerminal, :IfcWasteTerminal .

:IfcAudioVisualApplianceType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminalType, [
        a owl:Restriction ;
        owl:onClass :IfcAudioVisualApplianceTypeEnum ;
        owl:onProperty :predefinedType_IfcAudioVisualApplianceType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAudioVisualApplianceTypeEnum ;
        owl:onProperty :predefinedType_IfcAudioVisualApplianceType
    ] ;
    owl:disjointWith :IfcAirTerminalType, :IfcCommunicationsApplianceType, :IfcElectricApplianceType, :IfcFireSuppressionTerminalType, :IfcLampType, :IfcLightFixtureType, :IfcMedicalDeviceType, :IfcOutletType, :IfcSanitaryTerminalType, :IfcSpaceHeaterType, :IfcStackTerminalType, :IfcWasteTerminalType .

:IfcAudioVisualApplianceTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcAxis1Placement
    a owl:Class ;
    rdfs:subClassOf :IfcPlacement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDirection ;
        owl:onProperty :axis_IfcAxis1Placement
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDirection ;
        owl:onProperty :axis_IfcAxis1Placement
    ] ;
    owl:disjointWith :IfcAxis2Placement2D, :IfcAxis2Placement3D .

:IfcAxis2Placement
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcAxis2Placement2D
    a owl:Class ;
    rdfs:subClassOf :IfcAxis2Placement, :IfcPlacement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDirection ;
        owl:onProperty :refDirection_IfcAxis2Placement2D
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDirection ;
        owl:onProperty :refDirection_IfcAxis2Placement2D
    ] ;
    owl:disjointWith :IfcAxis1Placement, :IfcAxis2Placement3D .

:IfcAxis2Placement3D
    a owl:Class ;
    rdfs:subClassOf :IfcAxis2Placement, :IfcPlacement, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDirection ;
        owl:onProperty :axis_IfcAxis2Placement3D
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDirection ;
        owl:onProperty :refDirection_IfcAxis2Placement3D
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDirection ;
        owl:onProperty :axis_IfcAxis2Placement3D
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDirection ;
        owl:onProperty :refDirection_IfcAxis2Placement3D
    ] ;
    owl:disjointWith :IfcAxis1Placement, :IfcAxis2Placement2D .

:IfcAxis2Placement3D_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcAxis2Placement3D_List, list:EmptyList .

:IfcAxis2Placement3D_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAxis2Placement3D_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAxis2Placement3D ;
        owl:onProperty list:hasContents
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAxis2Placement3D_List ;
        owl:onProperty list:hasNext
    ] .

:IfcBSplineCurve
    a owl:Class ;
    rdfs:subClassOf :IfcBoundedCurve, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLogical ;
        owl:onProperty :selfIntersect_IfcBSplineCurve
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLogical ;
        owl:onProperty :closedCurve_IfcBSplineCurve
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcInteger ;
        owl:onProperty :degree_IfcBSplineCurve
    ], [
        a owl:Restriction ;
        owl:onClass :IfcInteger ;
        owl:onProperty :degree_IfcBSplineCurve ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLogical ;
        owl:onProperty :selfIntersect_IfcBSplineCurve ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCartesianPoint_List ;
        owl:onProperty :controlPointsList_IfcBSplineCurve
    ], [
        a owl:Restriction ;
        owl:onClass :IfcBSplineCurveForm ;
        owl:onProperty :curveForm_IfcBSplineCurve ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLogical ;
        owl:onProperty :closedCurve_IfcBSplineCurve ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBSplineCurveForm ;
        owl:onProperty :curveForm_IfcBSplineCurve
    ], [
        a owl:Class ;
        owl:unionOf (:IfcBSplineCurveWithKnots
        )
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom :IfcCartesianPoint_List
            ]
        ] ;
        owl:onProperty :controlPointsList_IfcBSplineCurve
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCartesianPoint_List ;
        owl:onProperty :controlPointsList_IfcBSplineCurve ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcCompositeCurve, :IfcIndexedPolyCurve, :IfcPolyline, :IfcTrimmedCurve .

:IfcBSplineCurveForm
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcBSplineCurveWithKnots
    a owl:Class ;
    rdfs:subClassOf :IfcBSplineCurve, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcKnotType ;
        owl:onProperty :knotSpec_IfcBSplineCurveWithKnots
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue_List ;
        owl:onProperty :knots_IfcBSplineCurveWithKnots
    ], [
        a owl:Restriction ;
        owl:onClass :IfcParameterValue_List ;
        owl:onProperty :knots_IfcBSplineCurveWithKnots ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcInteger_List ;
        owl:onProperty :knotMultiplicities_IfcBSplineCurveWithKnots
    ], [
        a owl:Restriction ;
        owl:onClass :IfcInteger_List ;
        owl:onProperty :knotMultiplicities_IfcBSplineCurveWithKnots ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom :IfcParameterValue_List
            ]
        ] ;
        owl:onProperty :knots_IfcBSplineCurveWithKnots
    ], [
        a owl:Restriction ;
        owl:onClass :IfcKnotType ;
        owl:onProperty :knotSpec_IfcBSplineCurveWithKnots ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom :IfcInteger_List
            ]
        ] ;
        owl:onProperty :knotMultiplicities_IfcBSplineCurveWithKnots
    ] .

:IfcBSplineSurface
    a owl:Class ;
    rdfs:subClassOf :IfcBoundedSurface, [
        a owl:Restriction ;
        owl:onClass :IfcBSplineSurfaceForm ;
        owl:onProperty :surfaceForm_IfcBSplineSurface ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCartesianPoint_List_List ;
        owl:onProperty :controlPointsList_IfcBSplineSurface ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBSplineSurfaceForm ;
        owl:onProperty :surfaceForm_IfcBSplineSurface
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCartesianPoint_List_List ;
        owl:onProperty :controlPointsList_IfcBSplineSurface
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLogical ;
        owl:onProperty :vClosed_IfcBSplineSurface
    ], [
        a owl:Class ;
        owl:unionOf (:IfcBSplineSurfaceWithKnots
        )
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLogical ;
        owl:onProperty :selfIntersect_IfcBSplineSurface
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLogical ;
        owl:onProperty :uClosed_IfcBSplineSurface ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcInteger ;
        owl:onProperty :vDegree_IfcBSplineSurface
    ], [
        a owl:Restriction ;
        owl:onClass :IfcInteger ;
        owl:onProperty :uDegree_IfcBSplineSurface ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcInteger ;
        owl:onProperty :vDegree_IfcBSplineSurface ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLogical ;
        owl:onProperty :vClosed_IfcBSplineSurface ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLogical ;
        owl:onProperty :selfIntersect_IfcBSplineSurface ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLogical ;
        owl:onProperty :uClosed_IfcBSplineSurface
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom :IfcCartesianPoint_List_List
            ]
        ] ;
        owl:onProperty :controlPointsList_IfcBSplineSurface
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcInteger ;
        owl:onProperty :uDegree_IfcBSplineSurface
    ] ;
    owl:disjointWith :IfcCurveBoundedPlane, :IfcCurveBoundedSurface, :IfcRectangularTrimmedSurface .

:IfcBSplineSurfaceForm
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcBSplineSurfaceWithKnots
    a owl:Class ;
    rdfs:subClassOf :IfcBSplineSurface, [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom :IfcParameterValue_List
            ]
        ] ;
        owl:onProperty :vKnots_IfcBSplineSurfaceWithKnots
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue_List ;
        owl:onProperty :uKnots_IfcBSplineSurfaceWithKnots
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcInteger_List ;
        owl:onProperty :vMultiplicities_IfcBSplineSurfaceWithKnots
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcInteger_List ;
        owl:onProperty :uMultiplicities_IfcBSplineSurfaceWithKnots
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom :IfcInteger_List
            ]
        ] ;
        owl:onProperty :uMultiplicities_IfcBSplineSurfaceWithKnots
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom :IfcInteger_List
            ]
        ] ;
        owl:onProperty :vMultiplicities_IfcBSplineSurfaceWithKnots
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom :IfcParameterValue_List
            ]
        ] ;
        owl:onProperty :uKnots_IfcBSplineSurfaceWithKnots
    ], [
        a owl:Restriction ;
        owl:onClass :IfcInteger_List ;
        owl:onProperty :uMultiplicities_IfcBSplineSurfaceWithKnots ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue_List ;
        owl:onProperty :vKnots_IfcBSplineSurfaceWithKnots
    ], [
        a owl:Restriction ;
        owl:onClass :IfcParameterValue_List ;
        owl:onProperty :vKnots_IfcBSplineSurfaceWithKnots ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcKnotType ;
        owl:onProperty :knotSpec_IfcBSplineSurfaceWithKnots ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcKnotType ;
        owl:onProperty :knotSpec_IfcBSplineSurfaceWithKnots
    ], [
        a owl:Restriction ;
        owl:onClass :IfcParameterValue_List ;
        owl:onProperty :uKnots_IfcBSplineSurfaceWithKnots ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcInteger_List ;
        owl:onProperty :vMultiplicities_IfcBSplineSurfaceWithKnots ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] .

:IfcBeam
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBeamTypeEnum ;
        owl:onProperty :predefinedType_IfcBeam
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcBeamTypeEnum ;
        owl:onProperty :predefinedType_IfcBeam
    ] ;
    owl:disjointWith :IfcBuildingElementProxy, :IfcChimney, :IfcColumn, :IfcCovering, :IfcCurtainWall, :IfcDoor, :IfcFooting, :IfcMember, :IfcPile, :IfcPlate, :IfcRailing, :IfcRamp, :IfcRampFlight, :IfcRoof, :IfcShadingDevice, :IfcSlab, :IfcStair, :IfcStairFlight, :IfcWall, :IfcWindow .

:IfcBeamStandardCase
    a owl:Class ;
    rdfs:subClassOf :IfcBeam .

:IfcBeamType
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElementType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBeamTypeEnum ;
        owl:onProperty :predefinedType_IfcBeamType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcBeamTypeEnum ;
        owl:onProperty :predefinedType_IfcBeamType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcBuildingElementProxyType, :IfcChimneyType, :IfcColumnType, :IfcCoveringType, :IfcCurtainWallType, :IfcDoorType, :IfcFootingType, :IfcMemberType, :IfcPileType, :IfcPlateType, :IfcRailingType, :IfcRampFlightType, :IfcRampType, :IfcRoofType, :IfcShadingDeviceType, :IfcSlabType, :IfcStairFlightType, :IfcStairType, :IfcWallType, :IfcWindowType .

:IfcBeamTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcBenchmarkEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcBendingParameterSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcBendingParameterSelect_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcBendingParameterSelect_List, list:EmptyList .

:IfcBendingParameterSelect_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBendingParameterSelect_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBendingParameterSelect ;
        owl:onProperty list:hasContents
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBendingParameterSelect_List ;
        owl:onProperty list:hasNext
    ] .

:IfcBinary
    a owl:Class ;
    rdfs:subClassOf expr:BINARY .

:IfcBinary_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcBinary_List, list:EmptyList .

:IfcBinary_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBinary_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBinary_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBinary ;
        owl:onProperty list:hasContents
    ] .

:IfcBlobTexture
    a owl:Class ;
    rdfs:subClassOf :IfcSurfaceTexture, [
        a owl:Restriction ;
        owl:onClass :IfcBinary ;
        owl:onProperty :rasterCode_IfcBlobTexture ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBinary ;
        owl:onProperty :rasterCode_IfcBlobTexture
    ], [
        a owl:Restriction ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :rasterFormat_IfcBlobTexture ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :rasterFormat_IfcBlobTexture
    ] ;
    owl:disjointWith :IfcImageTexture, :IfcPixelTexture .

:IfcBlock
    a owl:Class ;
    rdfs:subClassOf :IfcCsgPrimitive3D, [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :xLength_IfcBlock ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :xLength_IfcBlock
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :yLength_IfcBlock
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :zLength_IfcBlock
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :zLength_IfcBlock ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :yLength_IfcBlock ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcRectangularPyramid, :IfcRightCircularCone, :IfcRightCircularCylinder, :IfcSphere .

:IfcBoiler
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDevice, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcBoilerTypeEnum ;
        owl:onProperty :predefinedType_IfcBoiler
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoilerTypeEnum ;
        owl:onProperty :predefinedType_IfcBoiler
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecovery, :IfcBurner, :IfcChiller, :IfcCoil, :IfcCondenser, :IfcCooledBeam, :IfcCoolingTower, :IfcElectricGenerator, :IfcElectricMotor, :IfcEngine, :IfcEvaporativeCooler, :IfcEvaporator, :IfcHeatExchanger, :IfcHumidifier, :IfcMotorConnection, :IfcSolarDevice, :IfcTransformer, :IfcTubeBundle, :IfcUnitaryEquipment .

:IfcBoilerType
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDeviceType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoilerTypeEnum ;
        owl:onProperty :predefinedType_IfcBoilerType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcBoilerTypeEnum ;
        owl:onProperty :predefinedType_IfcBoilerType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecoveryType, :IfcBurnerType, :IfcChillerType, :IfcCoilType, :IfcCondenserType, :IfcCooledBeamType, :IfcCoolingTowerType, :IfcElectricGeneratorType, :IfcElectricMotorType, :IfcEngineType, :IfcEvaporativeCoolerType, :IfcEvaporatorType, :IfcHeatExchangerType, :IfcHumidifierType, :IfcMotorConnectionType, :IfcSolarDeviceType, :IfcTransformerType, :IfcTubeBundleType, :IfcUnitaryEquipmentType .

:IfcBoilerTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcBoolean
    a owl:Class ;
    rdfs:subClassOf expr:BOOLEAN, :IfcModulusOfRotationalSubgradeReactionSelect, :IfcModulusOfSubgradeReactionSelect, :IfcModulusOfTranslationalSubgradeReactionSelect, :IfcRotationalStiffnessSelect, :IfcSimpleValue, :IfcTranslationalStiffnessSelect, :IfcWarpingStiffnessSelect .

:IfcBooleanClippingResult
    a owl:Class ;
    rdfs:subClassOf :IfcBooleanResult .

:IfcBooleanOperand
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcBooleanOperator
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcBooleanResult
    a owl:Class ;
    rdfs:subClassOf :IfcBooleanOperand, :IfcCsgSelect, :IfcGeometricRepresentationItem, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBooleanOperand ;
        owl:onProperty :firstOperand_IfcBooleanResult
    ], [
        a owl:Restriction ;
        owl:onClass :IfcBooleanOperand ;
        owl:onProperty :secondOperand_IfcBooleanResult ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBooleanOperator ;
        owl:onProperty :operator_IfcBooleanResult
    ], [
        a owl:Restriction ;
        owl:onClass :IfcBooleanOperator ;
        owl:onProperty :operator_IfcBooleanResult ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcBooleanOperand ;
        owl:onProperty :firstOperand_IfcBooleanResult ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBooleanOperand ;
        owl:onProperty :secondOperand_IfcBooleanResult
    ] ;
    owl:disjointWith :IfcAnnotationFillArea, :IfcBoundingBox, :IfcCartesianPointList, :IfcCartesianTransformationOperator, :IfcCompositeCurveSegment, :IfcCsgPrimitive3D, :IfcCurve, :IfcDirection, :IfcFaceBasedSurfaceModel, :IfcFillAreaStyleHatching, :IfcFillAreaStyleTiles, :IfcGeometricSet, :IfcHalfSpaceSolid, :IfcLightSource, :IfcPlacement, :IfcPlanarExtent, :IfcPoint, :IfcSectionedSpine, :IfcShellBasedSurfaceModel, :IfcSolidModel, :IfcSurface, :IfcTessellatedItem, :IfcTextLiteral, :IfcVector .

:IfcBoundaryCondition
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Class ;
        owl:unionOf (:IfcBoundaryNodeCondition
            :IfcBoundaryFaceCondition
            :IfcBoundaryEdgeCondition
        )
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcBoundaryCondition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcBoundaryCondition
    ] .

:IfcBoundaryCurve
    a owl:Class ;
    rdfs:subClassOf :IfcCompositeCurveOnSurface .

:IfcBoundaryEdgeCondition
    a owl:Class ;
    rdfs:subClassOf :IfcBoundaryCondition, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcModulusOfTranslationalSubgradeReactionSelect ;
        owl:onProperty :translationalStiffnessByLengthX_IfcBoundaryEdgeCondition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcModulusOfRotationalSubgradeReactionSelect ;
        owl:onProperty :rotationalStiffnessByLengthY_IfcBoundaryEdgeCondition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcModulusOfTranslationalSubgradeReactionSelect ;
        owl:onProperty :translationalStiffnessByLengthZ_IfcBoundaryEdgeCondition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcModulusOfTranslationalSubgradeReactionSelect ;
        owl:onProperty :translationalStiffnessByLengthX_IfcBoundaryEdgeCondition
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcModulusOfRotationalSubgradeReactionSelect ;
        owl:onProperty :rotationalStiffnessByLengthY_IfcBoundaryEdgeCondition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcModulusOfTranslationalSubgradeReactionSelect ;
        owl:onProperty :translationalStiffnessByLengthY_IfcBoundaryEdgeCondition
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcModulusOfRotationalSubgradeReactionSelect ;
        owl:onProperty :rotationalStiffnessByLengthZ_IfcBoundaryEdgeCondition
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcModulusOfTranslationalSubgradeReactionSelect ;
        owl:onProperty :translationalStiffnessByLengthY_IfcBoundaryEdgeCondition
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcModulusOfRotationalSubgradeReactionSelect ;
        owl:onProperty :rotationalStiffnessByLengthX_IfcBoundaryEdgeCondition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcModulusOfRotationalSubgradeReactionSelect ;
        owl:onProperty :rotationalStiffnessByLengthZ_IfcBoundaryEdgeCondition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcModulusOfRotationalSubgradeReactionSelect ;
        owl:onProperty :rotationalStiffnessByLengthX_IfcBoundaryEdgeCondition
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcModulusOfTranslationalSubgradeReactionSelect ;
        owl:onProperty :translationalStiffnessByLengthZ_IfcBoundaryEdgeCondition
    ] ;
    owl:disjointWith :IfcBoundaryFaceCondition, :IfcBoundaryNodeCondition .

:IfcBoundaryFaceCondition
    a owl:Class ;
    rdfs:subClassOf :IfcBoundaryCondition, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcModulusOfSubgradeReactionSelect ;
        owl:onProperty :translationalStiffnessByAreaY_IfcBoundaryFaceCondition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcModulusOfSubgradeReactionSelect ;
        owl:onProperty :translationalStiffnessByAreaZ_IfcBoundaryFaceCondition
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcModulusOfSubgradeReactionSelect ;
        owl:onProperty :translationalStiffnessByAreaZ_IfcBoundaryFaceCondition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcModulusOfSubgradeReactionSelect ;
        owl:onProperty :translationalStiffnessByAreaX_IfcBoundaryFaceCondition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcModulusOfSubgradeReactionSelect ;
        owl:onProperty :translationalStiffnessByAreaY_IfcBoundaryFaceCondition
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcModulusOfSubgradeReactionSelect ;
        owl:onProperty :translationalStiffnessByAreaX_IfcBoundaryFaceCondition
    ] ;
    owl:disjointWith :IfcBoundaryEdgeCondition, :IfcBoundaryNodeCondition .

:IfcBoundaryNodeCondition
    a owl:Class ;
    rdfs:subClassOf :IfcBoundaryCondition, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRotationalStiffnessSelect ;
        owl:onProperty :rotationalStiffnessZ_IfcBoundaryNodeCondition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTranslationalStiffnessSelect ;
        owl:onProperty :translationalStiffnessZ_IfcBoundaryNodeCondition
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRotationalStiffnessSelect ;
        owl:onProperty :rotationalStiffnessY_IfcBoundaryNodeCondition
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTranslationalStiffnessSelect ;
        owl:onProperty :translationalStiffnessZ_IfcBoundaryNodeCondition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTranslationalStiffnessSelect ;
        owl:onProperty :translationalStiffnessY_IfcBoundaryNodeCondition
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTranslationalStiffnessSelect ;
        owl:onProperty :translationalStiffnessX_IfcBoundaryNodeCondition
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRotationalStiffnessSelect ;
        owl:onProperty :rotationalStiffnessZ_IfcBoundaryNodeCondition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRotationalStiffnessSelect ;
        owl:onProperty :rotationalStiffnessX_IfcBoundaryNodeCondition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTranslationalStiffnessSelect ;
        owl:onProperty :translationalStiffnessX_IfcBoundaryNodeCondition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRotationalStiffnessSelect ;
        owl:onProperty :rotationalStiffnessY_IfcBoundaryNodeCondition
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTranslationalStiffnessSelect ;
        owl:onProperty :translationalStiffnessY_IfcBoundaryNodeCondition
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRotationalStiffnessSelect ;
        owl:onProperty :rotationalStiffnessX_IfcBoundaryNodeCondition
    ] ;
    owl:disjointWith :IfcBoundaryEdgeCondition, :IfcBoundaryFaceCondition .

:IfcBoundaryNodeConditionWarping
    a owl:Class ;
    rdfs:subClassOf :IfcBoundaryNodeCondition, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcWarpingStiffnessSelect ;
        owl:onProperty :warpingStiffness_IfcBoundaryNodeConditionWarping
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcWarpingStiffnessSelect ;
        owl:onProperty :warpingStiffness_IfcBoundaryNodeConditionWarping
    ] .

:IfcBoundedCurve
    a owl:Class ;
    rdfs:subClassOf :IfcCurve, :IfcCurveOrEdgeCurve, [
        a owl:Class ;
        owl:unionOf (:IfcPolyline
            :IfcIndexedPolyCurve
            :IfcCompositeCurve
            :IfcBSplineCurve
            :IfcTrimmedCurve
        )
    ] ;
    owl:disjointWith :IfcConic, :IfcLine, :IfcOffsetCurve2D, :IfcOffsetCurve3D, :IfcPcurve .

:IfcBoundedSurface
    a owl:Class ;
    rdfs:subClassOf :IfcSurface, [
        a owl:Class ;
        owl:unionOf (:IfcBSplineSurface
            :IfcCurveBoundedSurface
            :IfcRectangularTrimmedSurface
            :IfcCurveBoundedPlane
        )
    ] ;
    owl:disjointWith :IfcElementarySurface, :IfcSweptSurface .

:IfcBoundingBox
    a owl:Class ;
    rdfs:subClassOf :IfcGeometricRepresentationItem, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :xDim_IfcBoundingBox
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :xDim_IfcBoundingBox ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :yDim_IfcBoundingBox ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCartesianPoint ;
        owl:onProperty :corner_IfcBoundingBox
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :zDim_IfcBoundingBox
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :zDim_IfcBoundingBox ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :yDim_IfcBoundingBox
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCartesianPoint ;
        owl:onProperty :corner_IfcBoundingBox ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAnnotationFillArea, :IfcBooleanResult, :IfcCartesianPointList, :IfcCartesianTransformationOperator, :IfcCompositeCurveSegment, :IfcCsgPrimitive3D, :IfcCurve, :IfcDirection, :IfcFaceBasedSurfaceModel, :IfcFillAreaStyleHatching, :IfcFillAreaStyleTiles, :IfcGeometricSet, :IfcHalfSpaceSolid, :IfcLightSource, :IfcPlacement, :IfcPlanarExtent, :IfcPoint, :IfcSectionedSpine, :IfcShellBasedSurfaceModel, :IfcSolidModel, :IfcSurface, :IfcTessellatedItem, :IfcTextLiteral, :IfcVector .

:IfcBoxAlignment
    a owl:Class ;
    rdfs:subClassOf :IfcLabel .

:IfcBoxedHalfSpace
    a owl:Class ;
    rdfs:subClassOf :IfcHalfSpaceSolid, [
        a owl:Restriction ;
        owl:onClass :IfcBoundingBox ;
        owl:onProperty :enclosure_IfcBoxedHalfSpace ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoundingBox ;
        owl:onProperty :enclosure_IfcBoxedHalfSpace
    ] ;
    owl:disjointWith :IfcPolygonalBoundedHalfSpace .

:IfcBuilding
    a owl:Class ;
    rdfs:subClassOf :IfcSpatialStructureElement, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :elevationOfTerrain_IfcBuilding
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :elevationOfRefHeight_IfcBuilding
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPostalAddress ;
        owl:onProperty :buildingAddress_IfcBuilding
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :elevationOfRefHeight_IfcBuilding
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPostalAddress ;
        owl:onProperty :buildingAddress_IfcBuilding
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :elevationOfTerrain_IfcBuilding
    ] ;
    owl:disjointWith :IfcBuildingStorey, :IfcSite, :IfcSpace .

:IfcBuildingElement
    a owl:Class ;
    rdfs:subClassOf :IfcElement, [
        a owl:Class ;
        owl:unionOf (:IfcChimney
            :IfcStairFlight
            :IfcDoor
            :IfcRamp
            :IfcWall
            :IfcFooting
            :IfcRoof
            :IfcRailing
            :IfcSlab
            :IfcStair
            :IfcRampFlight
            :IfcCovering
            :IfcPile
            :IfcPlate
            :IfcShadingDevice
            :IfcBuildingElementProxy
            :IfcMember
            :IfcWindow
            :IfcColumn
            :IfcBeam
            :IfcCurtainWall
        )
    ] ;
    owl:disjointWith :IfcCivilElement, :IfcDistributionElement, :IfcElementAssembly, :IfcElementComponent, :IfcFeatureElement, :IfcFurnishingElement, :IfcGeographicElement, :IfcTransportElement, :IfcVirtualElement .

:IfcBuildingElementPart
    a owl:Class ;
    rdfs:subClassOf :IfcElementComponent, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcBuildingElementPartTypeEnum ;
        owl:onProperty :predefinedType_IfcBuildingElementPart
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBuildingElementPartTypeEnum ;
        owl:onProperty :predefinedType_IfcBuildingElementPart
    ] ;
    owl:disjointWith :IfcDiscreteAccessory, :IfcFastener, :IfcMechanicalFastener, :IfcReinforcingElement, :IfcVibrationIsolator .

:IfcBuildingElementPartType
    a owl:Class ;
    rdfs:subClassOf :IfcElementComponentType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBuildingElementPartTypeEnum ;
        owl:onProperty :predefinedType_IfcBuildingElementPartType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcBuildingElementPartTypeEnum ;
        owl:onProperty :predefinedType_IfcBuildingElementPartType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcDiscreteAccessoryType, :IfcFastenerType, :IfcMechanicalFastenerType, :IfcReinforcingElementType, :IfcVibrationIsolatorType .

:IfcBuildingElementPartTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcBuildingElementProxy
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBuildingElementProxyTypeEnum ;
        owl:onProperty :predefinedType_IfcBuildingElementProxy
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcBuildingElementProxyTypeEnum ;
        owl:onProperty :predefinedType_IfcBuildingElementProxy
    ] ;
    owl:disjointWith :IfcBeam, :IfcChimney, :IfcColumn, :IfcCovering, :IfcCurtainWall, :IfcDoor, :IfcFooting, :IfcMember, :IfcPile, :IfcPlate, :IfcRailing, :IfcRamp, :IfcRampFlight, :IfcRoof, :IfcShadingDevice, :IfcSlab, :IfcStair, :IfcStairFlight, :IfcWall, :IfcWindow .

:IfcBuildingElementProxyType
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElementType, [
        a owl:Restriction ;
        owl:onClass :IfcBuildingElementProxyTypeEnum ;
        owl:onProperty :predefinedType_IfcBuildingElementProxyType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBuildingElementProxyTypeEnum ;
        owl:onProperty :predefinedType_IfcBuildingElementProxyType
    ] ;
    owl:disjointWith :IfcBeamType, :IfcChimneyType, :IfcColumnType, :IfcCoveringType, :IfcCurtainWallType, :IfcDoorType, :IfcFootingType, :IfcMemberType, :IfcPileType, :IfcPlateType, :IfcRailingType, :IfcRampFlightType, :IfcRampType, :IfcRoofType, :IfcShadingDeviceType, :IfcSlabType, :IfcStairFlightType, :IfcStairType, :IfcWallType, :IfcWindowType .

:IfcBuildingElementProxyTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcBuildingElementType
    a owl:Class ;
    rdfs:subClassOf :IfcElementType, [
        a owl:Class ;
        owl:unionOf (:IfcRoofType
            :IfcWindowType
            :IfcChimneyType
            :IfcFootingType
            :IfcRailingType
            :IfcCurtainWallType
            :IfcStairFlightType
            :IfcMemberType
            :IfcWallType
            :IfcRampType
            :IfcBuildingElementProxyType
            :IfcPileType
            :IfcSlabType
            :IfcRampFlightType
            :IfcDoorType
            :IfcStairType
            :IfcBeamType
            :IfcColumnType
            :IfcCoveringType
            :IfcPlateType
            :IfcShadingDeviceType
        )
    ] ;
    owl:disjointWith :IfcCivilElementType, :IfcDistributionElementType, :IfcElementAssemblyType, :IfcElementComponentType, :IfcFurnishingElementType, :IfcGeographicElementType, :IfcTransportElementType .

:IfcBuildingStorey
    a owl:Class ;
    rdfs:subClassOf :IfcSpatialStructureElement, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :elevation_IfcBuildingStorey
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :elevation_IfcBuildingStorey
    ] ;
    owl:disjointWith :IfcBuilding, :IfcSite, :IfcSpace .

:IfcBuildingSystem
    a owl:Class ;
    rdfs:subClassOf :IfcSystem, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :longName_IfcBuildingSystem
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :longName_IfcBuildingSystem
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcBuildingSystemTypeEnum ;
        owl:onProperty :predefinedType_IfcBuildingSystem
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBuildingSystemTypeEnum ;
        owl:onProperty :predefinedType_IfcBuildingSystem
    ] ;
    owl:disjointWith :IfcDistributionSystem, :IfcStructuralAnalysisModel, :IfcZone .

:IfcBuildingSystemTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcBurner
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDevice, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBurnerTypeEnum ;
        owl:onProperty :predefinedType_IfcBurner
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcBurnerTypeEnum ;
        owl:onProperty :predefinedType_IfcBurner
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecovery, :IfcBoiler, :IfcChiller, :IfcCoil, :IfcCondenser, :IfcCooledBeam, :IfcCoolingTower, :IfcElectricGenerator, :IfcElectricMotor, :IfcEngine, :IfcEvaporativeCooler, :IfcEvaporator, :IfcHeatExchanger, :IfcHumidifier, :IfcMotorConnection, :IfcSolarDevice, :IfcTransformer, :IfcTubeBundle, :IfcUnitaryEquipment .

:IfcBurnerType
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDeviceType, [
        a owl:Restriction ;
        owl:onClass :IfcBurnerTypeEnum ;
        owl:onProperty :predefinedType_IfcBurnerType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBurnerTypeEnum ;
        owl:onProperty :predefinedType_IfcBurnerType
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecoveryType, :IfcBoilerType, :IfcChillerType, :IfcCoilType, :IfcCondenserType, :IfcCooledBeamType, :IfcCoolingTowerType, :IfcElectricGeneratorType, :IfcElectricMotorType, :IfcEngineType, :IfcEvaporativeCoolerType, :IfcEvaporatorType, :IfcHeatExchangerType, :IfcHumidifierType, :IfcMotorConnectionType, :IfcSolarDeviceType, :IfcTransformerType, :IfcTubeBundleType, :IfcUnitaryEquipmentType .

:IfcBurnerTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcCShapeProfileDef
    a owl:Class ;
    rdfs:subClassOf :IfcParameterizedProfileDef, [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :girth_IfcCShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :girth_IfcCShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :depth_IfcCShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :wallThickness_IfcCShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNonNegativeLengthMeasure ;
        owl:onProperty :internalFilletRadius_IfcCShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :width_IfcCShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :wallThickness_IfcCShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNonNegativeLengthMeasure ;
        owl:onProperty :internalFilletRadius_IfcCShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :width_IfcCShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :depth_IfcCShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAsymmetricIShapeProfileDef, :IfcCircleProfileDef, :IfcEllipseProfileDef, :IfcIShapeProfileDef, :IfcLShapeProfileDef, :IfcRectangleProfileDef, :IfcTShapeProfileDef, :IfcTrapeziumProfileDef, :IfcUShapeProfileDef, :IfcZShapeProfileDef .

:IfcCableCarrierFitting
    a owl:Class ;
    rdfs:subClassOf :IfcFlowFitting, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCableCarrierFittingTypeEnum ;
        owl:onProperty :predefinedType_IfcCableCarrierFitting
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCableCarrierFittingTypeEnum ;
        owl:onProperty :predefinedType_IfcCableCarrierFitting
    ] ;
    owl:disjointWith :IfcCableFitting, :IfcDuctFitting, :IfcJunctionBox, :IfcPipeFitting .

:IfcCableCarrierFittingType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowFittingType, [
        a owl:Restriction ;
        owl:onClass :IfcCableCarrierFittingTypeEnum ;
        owl:onProperty :predefinedType_IfcCableCarrierFittingType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCableCarrierFittingTypeEnum ;
        owl:onProperty :predefinedType_IfcCableCarrierFittingType
    ] ;
    owl:disjointWith :IfcCableFittingType, :IfcDuctFittingType, :IfcJunctionBoxType, :IfcPipeFittingType .

:IfcCableCarrierFittingTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcCableCarrierSegment
    a owl:Class ;
    rdfs:subClassOf :IfcFlowSegment, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCableCarrierSegmentTypeEnum ;
        owl:onProperty :predefinedType_IfcCableCarrierSegment
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCableCarrierSegmentTypeEnum ;
        owl:onProperty :predefinedType_IfcCableCarrierSegment
    ] ;
    owl:disjointWith :IfcCableSegment, :IfcDuctSegment, :IfcPipeSegment .

:IfcCableCarrierSegmentType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowSegmentType, [
        a owl:Restriction ;
        owl:onClass :IfcCableCarrierSegmentTypeEnum ;
        owl:onProperty :predefinedType_IfcCableCarrierSegmentType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCableCarrierSegmentTypeEnum ;
        owl:onProperty :predefinedType_IfcCableCarrierSegmentType
    ] ;
    owl:disjointWith :IfcCableSegmentType, :IfcDuctSegmentType, :IfcPipeSegmentType .

:IfcCableCarrierSegmentTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcCableFitting
    a owl:Class ;
    rdfs:subClassOf :IfcFlowFitting, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCableFittingTypeEnum ;
        owl:onProperty :predefinedType_IfcCableFitting
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCableFittingTypeEnum ;
        owl:onProperty :predefinedType_IfcCableFitting
    ] ;
    owl:disjointWith :IfcCableCarrierFitting, :IfcDuctFitting, :IfcJunctionBox, :IfcPipeFitting .

:IfcCableFittingType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowFittingType, [
        a owl:Restriction ;
        owl:onClass :IfcCableFittingTypeEnum ;
        owl:onProperty :predefinedType_IfcCableFittingType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCableFittingTypeEnum ;
        owl:onProperty :predefinedType_IfcCableFittingType
    ] ;
    owl:disjointWith :IfcCableCarrierFittingType, :IfcDuctFittingType, :IfcJunctionBoxType, :IfcPipeFittingType .

:IfcCableFittingTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcCableSegment
    a owl:Class ;
    rdfs:subClassOf :IfcFlowSegment, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCableSegmentTypeEnum ;
        owl:onProperty :predefinedType_IfcCableSegment
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCableSegmentTypeEnum ;
        owl:onProperty :predefinedType_IfcCableSegment
    ] ;
    owl:disjointWith :IfcCableCarrierSegment, :IfcDuctSegment, :IfcPipeSegment .

:IfcCableSegmentType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowSegmentType, [
        a owl:Restriction ;
        owl:onClass :IfcCableSegmentTypeEnum ;
        owl:onProperty :predefinedType_IfcCableSegmentType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCableSegmentTypeEnum ;
        owl:onProperty :predefinedType_IfcCableSegmentType
    ] ;
    owl:disjointWith :IfcCableCarrierSegmentType, :IfcDuctSegmentType, :IfcPipeSegmentType .

:IfcCableSegmentTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcCardinalPointReference
    a owl:Class ;
    rdfs:subClassOf expr:INTEGER .

:IfcCartesianPoint
    a owl:Class ;
    rdfs:subClassOf :IfcPoint, :IfcTrimmingSelect, [
        a owl:Restriction ;
        owl:onClass :IfcLengthMeasure_List ;
        owl:onProperty :coordinates_IfcCartesianPoint ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure_List ;
        owl:onProperty :coordinates_IfcCartesianPoint
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcLengthMeasure_List
        ] ;
        owl:onProperty :coordinates_IfcCartesianPoint
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:allValuesFrom [
                a owl:Restriction ;
                owl:allValuesFrom [
                    a owl:Restriction ;
                    owl:onClass :IfcLengthMeasure_EmptyList ;
                    owl:onProperty list:hasNext ;
                    owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
                ] ;
                owl:onProperty list:hasNext
            ] ;
            owl:onProperty list:hasNext
        ] ;
        owl:onProperty :coordinates_IfcCartesianPoint
    ] ;
    owl:disjointWith :IfcPointOnCurve, :IfcPointOnSurface .

:IfcCartesianPointList
    a owl:Class ;
    rdfs:subClassOf :IfcGeometricRepresentationItem, [
        a owl:Class ;
        owl:unionOf (:IfcCartesianPointList3D
            :IfcCartesianPointList2D
        )
    ] ;
    owl:disjointWith :IfcAnnotationFillArea, :IfcBooleanResult, :IfcBoundingBox, :IfcCartesianTransformationOperator, :IfcCompositeCurveSegment, :IfcCsgPrimitive3D, :IfcCurve, :IfcDirection, :IfcFaceBasedSurfaceModel, :IfcFillAreaStyleHatching, :IfcFillAreaStyleTiles, :IfcGeometricSet, :IfcHalfSpaceSolid, :IfcLightSource, :IfcPlacement, :IfcPlanarExtent, :IfcPoint, :IfcSectionedSpine, :IfcShellBasedSurfaceModel, :IfcSolidModel, :IfcSurface, :IfcTessellatedItem, :IfcTextLiteral, :IfcVector .

:IfcCartesianPointList2D
    a owl:Class ;
    rdfs:subClassOf :IfcCartesianPointList, [
        a owl:Restriction ;
        owl:onClass :IfcLengthMeasure_List_List ;
        owl:onProperty :coordList_IfcCartesianPointList2D ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcLengthMeasure_List_List
        ] ;
        owl:onProperty :coordList_IfcCartesianPointList2D
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure_List_List ;
        owl:onProperty :coordList_IfcCartesianPointList2D
    ] ;
    owl:disjointWith :IfcCartesianPointList3D .

:IfcCartesianPointList3D
    a owl:Class ;
    rdfs:subClassOf :IfcCartesianPointList, [
        a owl:Restriction ;
        owl:onClass :IfcLengthMeasure_List_List ;
        owl:onProperty :coordList_IfcCartesianPointList3D ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcLengthMeasure_List_List
        ] ;
        owl:onProperty :coordList_IfcCartesianPointList3D
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure_List_List ;
        owl:onProperty :coordList_IfcCartesianPointList3D
    ] ;
    owl:disjointWith :IfcCartesianPointList2D .

:IfcCartesianPoint_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcCartesianPoint_List, list:EmptyList .

:IfcCartesianPoint_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCartesianPoint_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCartesianPoint_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCartesianPoint ;
        owl:onProperty list:hasContents
    ] .

:IfcCartesianPoint_List_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcCartesianPoint_List_List, list:EmptyList .

:IfcCartesianPoint_List_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCartesianPoint_List_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCartesianPoint_List_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCartesianPoint_List ;
        owl:onProperty list:hasContents
    ] .

:IfcCartesianTransformationOperator
    a owl:Class ;
    rdfs:subClassOf :IfcGeometricRepresentationItem, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDirection ;
        owl:onProperty :axis2_IfcCartesianTransformationOperator
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDirection ;
        owl:onProperty :axis1_IfcCartesianTransformationOperator
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcReal ;
        owl:onProperty :scale_IfcCartesianTransformationOperator
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCartesianPoint ;
        owl:onProperty :localOrigin_IfcCartesianTransformationOperator ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCartesianPoint ;
        owl:onProperty :localOrigin_IfcCartesianTransformationOperator
    ], [
        a owl:Class ;
        owl:unionOf (:IfcCartesianTransformationOperator3D
            :IfcCartesianTransformationOperator2D
        )
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDirection ;
        owl:onProperty :axis1_IfcCartesianTransformationOperator
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDirection ;
        owl:onProperty :axis2_IfcCartesianTransformationOperator
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReal ;
        owl:onProperty :scale_IfcCartesianTransformationOperator
    ] ;
    owl:disjointWith :IfcAnnotationFillArea, :IfcBooleanResult, :IfcBoundingBox, :IfcCartesianPointList, :IfcCompositeCurveSegment, :IfcCsgPrimitive3D, :IfcCurve, :IfcDirection, :IfcFaceBasedSurfaceModel, :IfcFillAreaStyleHatching, :IfcFillAreaStyleTiles, :IfcGeometricSet, :IfcHalfSpaceSolid, :IfcLightSource, :IfcPlacement, :IfcPlanarExtent, :IfcPoint, :IfcSectionedSpine, :IfcShellBasedSurfaceModel, :IfcSolidModel, :IfcSurface, :IfcTessellatedItem, :IfcTextLiteral, :IfcVector .

:IfcCartesianTransformationOperator2D
    a owl:Class ;
    rdfs:subClassOf :IfcCartesianTransformationOperator ;
    owl:disjointWith :IfcCartesianTransformationOperator3D .

:IfcCartesianTransformationOperator2DnonUniform
    a owl:Class ;
    rdfs:subClassOf :IfcCartesianTransformationOperator2D, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcReal ;
        owl:onProperty :scale2_IfcCartesianTransformationOperator2DnonUniform
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReal ;
        owl:onProperty :scale2_IfcCartesianTransformationOperator2DnonUniform
    ] .

:IfcCartesianTransformationOperator3D
    a owl:Class ;
    rdfs:subClassOf :IfcCartesianTransformationOperator, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDirection ;
        owl:onProperty :axis3_IfcCartesianTransformationOperator3D
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDirection ;
        owl:onProperty :axis3_IfcCartesianTransformationOperator3D
    ] ;
    owl:disjointWith :IfcCartesianTransformationOperator2D .

:IfcCartesianTransformationOperator3DnonUniform
    a owl:Class ;
    rdfs:subClassOf :IfcCartesianTransformationOperator3D, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReal ;
        owl:onProperty :scale3_IfcCartesianTransformationOperator3DnonUniform
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcReal ;
        owl:onProperty :scale2_IfcCartesianTransformationOperator3DnonUniform
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReal ;
        owl:onProperty :scale2_IfcCartesianTransformationOperator3DnonUniform
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcReal ;
        owl:onProperty :scale3_IfcCartesianTransformationOperator3DnonUniform
    ] .

:IfcCenterLineProfileDef
    a owl:Class ;
    rdfs:subClassOf :IfcArbitraryOpenProfileDef, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :thickness_IfcCenterLineProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :thickness_IfcCenterLineProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] .

:IfcChangeActionEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcChiller
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDevice, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcChillerTypeEnum ;
        owl:onProperty :predefinedType_IfcChiller
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcChillerTypeEnum ;
        owl:onProperty :predefinedType_IfcChiller
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecovery, :IfcBoiler, :IfcBurner, :IfcCoil, :IfcCondenser, :IfcCooledBeam, :IfcCoolingTower, :IfcElectricGenerator, :IfcElectricMotor, :IfcEngine, :IfcEvaporativeCooler, :IfcEvaporator, :IfcHeatExchanger, :IfcHumidifier, :IfcMotorConnection, :IfcSolarDevice, :IfcTransformer, :IfcTubeBundle, :IfcUnitaryEquipment .

:IfcChillerType
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDeviceType, [
        a owl:Restriction ;
        owl:onClass :IfcChillerTypeEnum ;
        owl:onProperty :predefinedType_IfcChillerType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcChillerTypeEnum ;
        owl:onProperty :predefinedType_IfcChillerType
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecoveryType, :IfcBoilerType, :IfcBurnerType, :IfcCoilType, :IfcCondenserType, :IfcCooledBeamType, :IfcCoolingTowerType, :IfcElectricGeneratorType, :IfcElectricMotorType, :IfcEngineType, :IfcEvaporativeCoolerType, :IfcEvaporatorType, :IfcHeatExchangerType, :IfcHumidifierType, :IfcMotorConnectionType, :IfcSolarDeviceType, :IfcTransformerType, :IfcTubeBundleType, :IfcUnitaryEquipmentType .

:IfcChillerTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcChimney
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcChimneyTypeEnum ;
        owl:onProperty :predefinedType_IfcChimney
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcChimneyTypeEnum ;
        owl:onProperty :predefinedType_IfcChimney
    ] ;
    owl:disjointWith :IfcBeam, :IfcBuildingElementProxy, :IfcColumn, :IfcCovering, :IfcCurtainWall, :IfcDoor, :IfcFooting, :IfcMember, :IfcPile, :IfcPlate, :IfcRailing, :IfcRamp, :IfcRampFlight, :IfcRoof, :IfcShadingDevice, :IfcSlab, :IfcStair, :IfcStairFlight, :IfcWall, :IfcWindow .

:IfcChimneyType
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElementType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcChimneyTypeEnum ;
        owl:onProperty :predefinedType_IfcChimneyType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcChimneyTypeEnum ;
        owl:onProperty :predefinedType_IfcChimneyType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcBeamType, :IfcBuildingElementProxyType, :IfcColumnType, :IfcCoveringType, :IfcCurtainWallType, :IfcDoorType, :IfcFootingType, :IfcMemberType, :IfcPileType, :IfcPlateType, :IfcRailingType, :IfcRampFlightType, :IfcRampType, :IfcRoofType, :IfcShadingDeviceType, :IfcSlabType, :IfcStairFlightType, :IfcStairType, :IfcWallType, :IfcWindowType .

:IfcChimneyTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcCircle
    a owl:Class ;
    rdfs:subClassOf :IfcConic, [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :radius_IfcCircle ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :radius_IfcCircle
    ] ;
    owl:disjointWith :IfcEllipse .

:IfcCircleHollowProfileDef
    a owl:Class ;
    rdfs:subClassOf :IfcCircleProfileDef, [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :wallThickness_IfcCircleHollowProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :wallThickness_IfcCircleHollowProfileDef
    ] .

:IfcCircleProfileDef
    a owl:Class ;
    rdfs:subClassOf :IfcParameterizedProfileDef, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :radius_IfcCircleProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :radius_IfcCircleProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAsymmetricIShapeProfileDef, :IfcCShapeProfileDef, :IfcEllipseProfileDef, :IfcIShapeProfileDef, :IfcLShapeProfileDef, :IfcRectangleProfileDef, :IfcTShapeProfileDef, :IfcTrapeziumProfileDef, :IfcUShapeProfileDef, :IfcZShapeProfileDef .

:IfcCivilElement
    a owl:Class ;
    rdfs:subClassOf :IfcElement ;
    owl:disjointWith :IfcBuildingElement, :IfcDistributionElement, :IfcElementAssembly, :IfcElementComponent, :IfcFeatureElement, :IfcFurnishingElement, :IfcGeographicElement, :IfcTransportElement, :IfcVirtualElement .

:IfcCivilElementType
    a owl:Class ;
    rdfs:subClassOf :IfcElementType ;
    owl:disjointWith :IfcBuildingElementType, :IfcDistributionElementType, :IfcElementAssemblyType, :IfcElementComponentType, :IfcFurnishingElementType, :IfcGeographicElementType, :IfcTransportElementType .

:IfcClassification
    a owl:Class ;
    rdfs:subClassOf :IfcClassificationReferenceSelect, :IfcClassificationSelect, :IfcExternalInformation, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDate ;
        owl:onProperty :editionDate_IfcClassification
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :edition_IfcClassification
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDate ;
        owl:onProperty :editionDate_IfcClassification
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier_List ;
        owl:onProperty :referenceTokens_IfcClassification
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcClassification
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcURIReference ;
        owl:onProperty :location_IfcClassification
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :edition_IfcClassification
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :source_IfcClassification
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcClassification
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcIdentifier_List
        ] ;
        owl:onProperty :referenceTokens_IfcClassification
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcURIReference ;
        owl:onProperty :location_IfcClassification
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcClassification ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcClassification
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier_List ;
        owl:onProperty :referenceTokens_IfcClassification
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :source_IfcClassification
    ] ;
    owl:disjointWith :IfcDocumentInformation, :IfcLibraryInformation .

:IfcClassificationReference
    a owl:Class ;
    rdfs:subClassOf :IfcClassificationReferenceSelect, :IfcClassificationSelect, :IfcExternalReference, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcClassificationReferenceSelect ;
        owl:onProperty :referencedSource_IfcClassificationReference
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcClassificationReference
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcClassificationReference
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :sort_IfcClassificationReference
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :sort_IfcClassificationReference
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcClassificationReferenceSelect ;
        owl:onProperty :referencedSource_IfcClassificationReference
    ] ;
    owl:disjointWith :IfcDocumentReference, :IfcExternallyDefinedHatchStyle, :IfcExternallyDefinedSurfaceStyle, :IfcExternallyDefinedTextFont, :IfcLibraryReference .

:IfcClassificationReferenceSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcClassificationSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcClosedShell
    a owl:Class ;
    rdfs:subClassOf :IfcConnectedFaceSet, :IfcShell, :IfcSolidOrShell ;
    owl:disjointWith :IfcOpenShell .

:IfcCoil
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDevice, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCoilTypeEnum ;
        owl:onProperty :predefinedType_IfcCoil
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCoilTypeEnum ;
        owl:onProperty :predefinedType_IfcCoil
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecovery, :IfcBoiler, :IfcBurner, :IfcChiller, :IfcCondenser, :IfcCooledBeam, :IfcCoolingTower, :IfcElectricGenerator, :IfcElectricMotor, :IfcEngine, :IfcEvaporativeCooler, :IfcEvaporator, :IfcHeatExchanger, :IfcHumidifier, :IfcMotorConnection, :IfcSolarDevice, :IfcTransformer, :IfcTubeBundle, :IfcUnitaryEquipment .

:IfcCoilType
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDeviceType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCoilTypeEnum ;
        owl:onProperty :predefinedType_IfcCoilType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCoilTypeEnum ;
        owl:onProperty :predefinedType_IfcCoilType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecoveryType, :IfcBoilerType, :IfcBurnerType, :IfcChillerType, :IfcCondenserType, :IfcCooledBeamType, :IfcCoolingTowerType, :IfcElectricGeneratorType, :IfcElectricMotorType, :IfcEngineType, :IfcEvaporativeCoolerType, :IfcEvaporatorType, :IfcHeatExchangerType, :IfcHumidifierType, :IfcMotorConnectionType, :IfcSolarDeviceType, :IfcTransformerType, :IfcTubeBundleType, :IfcUnitaryEquipmentType .

:IfcCoilTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcColour
    a owl:Class ;
    rdfs:subClassOf expr:SELECT, :IfcFillStyleSelect .

:IfcColourOrFactor
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcColourRgb
    a owl:Class ;
    rdfs:subClassOf :IfcColourOrFactor, :IfcColourSpecification, [
        a owl:Restriction ;
        owl:onClass :IfcNormalisedRatioMeasure ;
        owl:onProperty :red_IfcColourRgb ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNormalisedRatioMeasure ;
        owl:onProperty :green_IfcColourRgb
    ], [
        a owl:Restriction ;
        owl:onClass :IfcNormalisedRatioMeasure ;
        owl:onProperty :green_IfcColourRgb ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNormalisedRatioMeasure ;
        owl:onProperty :blue_IfcColourRgb
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNormalisedRatioMeasure ;
        owl:onProperty :red_IfcColourRgb
    ], [
        a owl:Restriction ;
        owl:onClass :IfcNormalisedRatioMeasure ;
        owl:onProperty :blue_IfcColourRgb ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] .

:IfcColourRgbList
    a owl:Class ;
    rdfs:subClassOf :IfcPresentationItem, [
        a owl:Restriction ;
        owl:onClass :IfcNormalisedRatioMeasure_List_List ;
        owl:onProperty :colourList_IfcColourRgbList ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNormalisedRatioMeasure_List_List ;
        owl:onProperty :colourList_IfcColourRgbList
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcNormalisedRatioMeasure_List_List
        ] ;
        owl:onProperty :colourList_IfcColourRgbList
    ] ;
    owl:disjointWith :IfcColourSpecification, :IfcCurveStyleFont, :IfcCurveStyleFontAndScaling, :IfcCurveStyleFontPattern, :IfcIndexedColourMap, :IfcPreDefinedItem, :IfcSurfaceStyleLighting, :IfcSurfaceStyleRefraction, :IfcSurfaceStyleShading, :IfcSurfaceStyleWithTextures, :IfcSurfaceTexture, :IfcTextStyleForDefinedFont, :IfcTextStyleTextModel, :IfcTextureCoordinate, :IfcTextureVertex, :IfcTextureVertexList .

:IfcColourSpecification
    a owl:Class ;
    rdfs:subClassOf :IfcColour, :IfcPresentationItem, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcColourSpecification
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcColourSpecification
    ], [
        a owl:Class ;
        owl:unionOf (:IfcColourRgb
        )
    ] ;
    owl:disjointWith :IfcColourRgbList, :IfcCurveStyleFont, :IfcCurveStyleFontAndScaling, :IfcCurveStyleFontPattern, :IfcIndexedColourMap, :IfcPreDefinedItem, :IfcSurfaceStyleLighting, :IfcSurfaceStyleRefraction, :IfcSurfaceStyleShading, :IfcSurfaceStyleWithTextures, :IfcSurfaceTexture, :IfcTextStyleForDefinedFont, :IfcTextStyleTextModel, :IfcTextureCoordinate, :IfcTextureVertex, :IfcTextureVertexList .

:IfcColumn
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcColumnTypeEnum ;
        owl:onProperty :predefinedType_IfcColumn
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcColumnTypeEnum ;
        owl:onProperty :predefinedType_IfcColumn
    ] ;
    owl:disjointWith :IfcBeam, :IfcBuildingElementProxy, :IfcChimney, :IfcCovering, :IfcCurtainWall, :IfcDoor, :IfcFooting, :IfcMember, :IfcPile, :IfcPlate, :IfcRailing, :IfcRamp, :IfcRampFlight, :IfcRoof, :IfcShadingDevice, :IfcSlab, :IfcStair, :IfcStairFlight, :IfcWall, :IfcWindow .

:IfcColumnStandardCase
    a owl:Class ;
    rdfs:subClassOf :IfcColumn .

:IfcColumnType
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElementType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcColumnTypeEnum ;
        owl:onProperty :predefinedType_IfcColumnType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcColumnTypeEnum ;
        owl:onProperty :predefinedType_IfcColumnType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcBeamType, :IfcBuildingElementProxyType, :IfcChimneyType, :IfcCoveringType, :IfcCurtainWallType, :IfcDoorType, :IfcFootingType, :IfcMemberType, :IfcPileType, :IfcPlateType, :IfcRailingType, :IfcRampFlightType, :IfcRampType, :IfcRoofType, :IfcShadingDeviceType, :IfcSlabType, :IfcStairFlightType, :IfcStairType, :IfcWallType, :IfcWindowType .

:IfcColumnTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcCommunicationsAppliance
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminal, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCommunicationsApplianceTypeEnum ;
        owl:onProperty :predefinedType_IfcCommunicationsAppliance
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCommunicationsApplianceTypeEnum ;
        owl:onProperty :predefinedType_IfcCommunicationsAppliance
    ] ;
    owl:disjointWith :IfcAirTerminal, :IfcAudioVisualAppliance, :IfcElectricAppliance, :IfcFireSuppressionTerminal, :IfcLamp, :IfcLightFixture, :IfcMedicalDevice, :IfcOutlet, :IfcSanitaryTerminal, :IfcSpaceHeater, :IfcStackTerminal, :IfcWasteTerminal .

:IfcCommunicationsApplianceType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminalType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCommunicationsApplianceTypeEnum ;
        owl:onProperty :predefinedType_IfcCommunicationsApplianceType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCommunicationsApplianceTypeEnum ;
        owl:onProperty :predefinedType_IfcCommunicationsApplianceType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAirTerminalType, :IfcAudioVisualApplianceType, :IfcElectricApplianceType, :IfcFireSuppressionTerminalType, :IfcLampType, :IfcLightFixtureType, :IfcMedicalDeviceType, :IfcOutletType, :IfcSanitaryTerminalType, :IfcSpaceHeaterType, :IfcStackTerminalType, :IfcWasteTerminalType .

:IfcCommunicationsApplianceTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcComplexNumber
    a owl:Class ;
    rdfs:subClassOf expr:REAL_List, :IfcMeasureValue, [
        a owl:Restriction ;
        owl:onProperty list:hasNext ;
        owl:someValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom expr:REAL_List
        ]
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onClass expr:REAL_EmptyList ;
            owl:onProperty list:hasNext ;
            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
        ] ;
        owl:onProperty list:hasNext
    ] .

:IfcComplexProperty
    a owl:Class ;
    rdfs:subClassOf :IfcProperty, [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcProperty ;
        owl:onProperty :hasProperties_IfcComplexProperty
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :usageName_IfcComplexProperty
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProperty ;
        owl:onProperty :hasProperties_IfcComplexProperty
    ], [
        a owl:Restriction ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :usageName_IfcComplexProperty ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcSimpleProperty .

:IfcComplexPropertyTemplate
    a owl:Class ;
    rdfs:subClassOf :IfcPropertyTemplate, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :usageName_IfcComplexPropertyTemplate
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPropertyTemplate ;
        owl:onProperty :hasPropertyTemplates_IfcComplexPropertyTemplate
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcComplexPropertyTemplateTypeEnum ;
        owl:onProperty :templateType_IfcComplexPropertyTemplate
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcComplexPropertyTemplateTypeEnum ;
        owl:onProperty :templateType_IfcComplexPropertyTemplate
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :usageName_IfcComplexPropertyTemplate
    ] ;
    owl:disjointWith :IfcSimplePropertyTemplate .

:IfcComplexPropertyTemplateTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcCompositeCurve
    a owl:Class ;
    rdfs:subClassOf :IfcBoundedCurve, [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcCompositeCurveSegment_List
        ] ;
        owl:onProperty :segments_IfcCompositeCurve
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCompositeCurveSegment_List ;
        owl:onProperty :segments_IfcCompositeCurve
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLogical ;
        owl:onProperty :selfIntersect_IfcCompositeCurve
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLogical ;
        owl:onProperty :selfIntersect_IfcCompositeCurve ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCompositeCurveSegment_List ;
        owl:onProperty :segments_IfcCompositeCurve ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcBSplineCurve, :IfcIndexedPolyCurve, :IfcPolyline, :IfcTrimmedCurve .

:IfcCompositeCurveOnSurface
    a owl:Class ;
    rdfs:subClassOf :IfcCompositeCurve, :IfcCurveOnSurface .

:IfcCompositeCurveSegment
    a owl:Class ;
    rdfs:subClassOf :IfcGeometricRepresentationItem, [
        a owl:Restriction ;
        owl:onClass :IfcTransitionCode ;
        owl:onProperty :transition_IfcCompositeCurveSegment ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :sameSense_IfcCompositeCurveSegment ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCurve ;
        owl:onProperty :parentCurve_IfcCompositeCurveSegment ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :sameSense_IfcCompositeCurveSegment
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurve ;
        owl:onProperty :parentCurve_IfcCompositeCurveSegment
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTransitionCode ;
        owl:onProperty :transition_IfcCompositeCurveSegment
    ] ;
    owl:disjointWith :IfcAnnotationFillArea, :IfcBooleanResult, :IfcBoundingBox, :IfcCartesianPointList, :IfcCartesianTransformationOperator, :IfcCsgPrimitive3D, :IfcCurve, :IfcDirection, :IfcFaceBasedSurfaceModel, :IfcFillAreaStyleHatching, :IfcFillAreaStyleTiles, :IfcGeometricSet, :IfcHalfSpaceSolid, :IfcLightSource, :IfcPlacement, :IfcPlanarExtent, :IfcPoint, :IfcSectionedSpine, :IfcShellBasedSurfaceModel, :IfcSolidModel, :IfcSurface, :IfcTessellatedItem, :IfcTextLiteral, :IfcVector .

:IfcCompositeCurveSegment_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcCompositeCurveSegment_List, list:EmptyList .

:IfcCompositeCurveSegment_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCompositeCurveSegment_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCompositeCurveSegment_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCompositeCurveSegment ;
        owl:onProperty list:hasContents
    ] .

:IfcCompositeProfileDef
    a owl:Class ;
    rdfs:subClassOf :IfcProfileDef, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProfileDef ;
        owl:onProperty :profiles_IfcCompositeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :label_IfcCompositeProfileDef
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "2"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcProfileDef ;
        owl:onProperty :profiles_IfcCompositeProfileDef
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :label_IfcCompositeProfileDef
    ] ;
    owl:disjointWith :IfcArbitraryClosedProfileDef, :IfcArbitraryOpenProfileDef, :IfcDerivedProfileDef, :IfcParameterizedProfileDef .

:IfcCompoundPlaneAngleMeasure
    a owl:Class ;
    rdfs:subClassOf expr:INTEGER_List, :IfcDerivedMeasureValue, [
        a owl:Restriction ;
        owl:onProperty list:hasNext ;
        owl:someValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom expr:INTEGER_List
            ]
        ]
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:allValuesFrom [
                a owl:Restriction ;
                owl:allValuesFrom [
                    a owl:Restriction ;
                    owl:onClass expr:INTEGER_EmptyList ;
                    owl:onProperty list:hasNext ;
                    owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
                ] ;
                owl:onProperty list:hasNext
            ] ;
            owl:onProperty list:hasNext
        ] ;
        owl:onProperty list:hasNext
    ] .

:IfcCompressor
    a owl:Class ;
    rdfs:subClassOf :IfcFlowMovingDevice, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCompressorTypeEnum ;
        owl:onProperty :predefinedType_IfcCompressor
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCompressorTypeEnum ;
        owl:onProperty :predefinedType_IfcCompressor
    ] ;
    owl:disjointWith :IfcFan, :IfcPump .

:IfcCompressorType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowMovingDeviceType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCompressorTypeEnum ;
        owl:onProperty :predefinedType_IfcCompressorType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCompressorTypeEnum ;
        owl:onProperty :predefinedType_IfcCompressorType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcFanType, :IfcPumpType .

:IfcCompressorTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcCondenser
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDevice, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCondenserTypeEnum ;
        owl:onProperty :predefinedType_IfcCondenser
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCondenserTypeEnum ;
        owl:onProperty :predefinedType_IfcCondenser
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecovery, :IfcBoiler, :IfcBurner, :IfcChiller, :IfcCoil, :IfcCooledBeam, :IfcCoolingTower, :IfcElectricGenerator, :IfcElectricMotor, :IfcEngine, :IfcEvaporativeCooler, :IfcEvaporator, :IfcHeatExchanger, :IfcHumidifier, :IfcMotorConnection, :IfcSolarDevice, :IfcTransformer, :IfcTubeBundle, :IfcUnitaryEquipment .

:IfcCondenserType
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDeviceType, [
        a owl:Restriction ;
        owl:onClass :IfcCondenserTypeEnum ;
        owl:onProperty :predefinedType_IfcCondenserType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCondenserTypeEnum ;
        owl:onProperty :predefinedType_IfcCondenserType
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecoveryType, :IfcBoilerType, :IfcBurnerType, :IfcChillerType, :IfcCoilType, :IfcCooledBeamType, :IfcCoolingTowerType, :IfcElectricGeneratorType, :IfcElectricMotorType, :IfcEngineType, :IfcEvaporativeCoolerType, :IfcEvaporatorType, :IfcHeatExchangerType, :IfcHumidifierType, :IfcMotorConnectionType, :IfcSolarDeviceType, :IfcTransformerType, :IfcTubeBundleType, :IfcUnitaryEquipmentType .

:IfcCondenserTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcConic
    a owl:Class ;
    rdfs:subClassOf :IfcCurve, [
        a owl:Class ;
        owl:unionOf (:IfcEllipse
            :IfcCircle
        )
    ], [
        a owl:Restriction ;
        owl:onClass :IfcAxis2Placement ;
        owl:onProperty :position_IfcConic ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAxis2Placement ;
        owl:onProperty :position_IfcConic
    ] ;
    owl:disjointWith :IfcBoundedCurve, :IfcLine, :IfcOffsetCurve2D, :IfcOffsetCurve3D, :IfcPcurve .

:IfcConnectedFaceSet
    a owl:Class ;
    rdfs:subClassOf :IfcTopologicalRepresentationItem, [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcFace ;
        owl:onProperty :cfsFaces_IfcConnectedFaceSet
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFace ;
        owl:onProperty :cfsFaces_IfcConnectedFaceSet
    ] ;
    owl:disjointWith :IfcEdge, :IfcFace, :IfcFaceBound, :IfcLoop, :IfcPath, :IfcVertex .

:IfcConnectionCurveGeometry
    a owl:Class ;
    rdfs:subClassOf :IfcConnectionGeometry, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCurveOrEdgeCurve ;
        owl:onProperty :curveOnRelatedElement_IfcConnectionCurveGeometry
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurveOrEdgeCurve ;
        owl:onProperty :curveOnRelatedElement_IfcConnectionCurveGeometry
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCurveOrEdgeCurve ;
        owl:onProperty :curveOnRelatingElement_IfcConnectionCurveGeometry ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurveOrEdgeCurve ;
        owl:onProperty :curveOnRelatingElement_IfcConnectionCurveGeometry
    ] ;
    owl:disjointWith :IfcConnectionPointGeometry, :IfcConnectionSurfaceGeometry, :IfcConnectionVolumeGeometry .

:IfcConnectionGeometry
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Class ;
        owl:unionOf (:IfcConnectionCurveGeometry
            :IfcConnectionPointGeometry
            :IfcConnectionVolumeGeometry
            :IfcConnectionSurfaceGeometry
        )
    ] .

:IfcConnectionPointEccentricity
    a owl:Class ;
    rdfs:subClassOf :IfcConnectionPointGeometry, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :eccentricityInY_IfcConnectionPointEccentricity
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :eccentricityInX_IfcConnectionPointEccentricity
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :eccentricityInY_IfcConnectionPointEccentricity
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :eccentricityInZ_IfcConnectionPointEccentricity
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :eccentricityInZ_IfcConnectionPointEccentricity
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :eccentricityInX_IfcConnectionPointEccentricity
    ] .

:IfcConnectionPointGeometry
    a owl:Class ;
    rdfs:subClassOf :IfcConnectionGeometry, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPointOrVertexPoint ;
        owl:onProperty :pointOnRelatedElement_IfcConnectionPointGeometry
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPointOrVertexPoint ;
        owl:onProperty :pointOnRelatedElement_IfcConnectionPointGeometry
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPointOrVertexPoint ;
        owl:onProperty :pointOnRelatingElement_IfcConnectionPointGeometry ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPointOrVertexPoint ;
        owl:onProperty :pointOnRelatingElement_IfcConnectionPointGeometry
    ] ;
    owl:disjointWith :IfcConnectionCurveGeometry, :IfcConnectionSurfaceGeometry, :IfcConnectionVolumeGeometry .

:IfcConnectionSurfaceGeometry
    a owl:Class ;
    rdfs:subClassOf :IfcConnectionGeometry, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSurfaceOrFaceSurface ;
        owl:onProperty :surfaceOnRelatedElement_IfcConnectionSurfaceGeometry
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSurfaceOrFaceSurface ;
        owl:onProperty :surfaceOnRelatingElement_IfcConnectionSurfaceGeometry
    ], [
        a owl:Restriction ;
        owl:onClass :IfcSurfaceOrFaceSurface ;
        owl:onProperty :surfaceOnRelatingElement_IfcConnectionSurfaceGeometry ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSurfaceOrFaceSurface ;
        owl:onProperty :surfaceOnRelatedElement_IfcConnectionSurfaceGeometry
    ] ;
    owl:disjointWith :IfcConnectionCurveGeometry, :IfcConnectionPointGeometry, :IfcConnectionVolumeGeometry .

:IfcConnectionTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcConnectionVolumeGeometry
    a owl:Class ;
    rdfs:subClassOf :IfcConnectionGeometry, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSolidOrShell ;
        owl:onProperty :volumeOnRelatedElement_IfcConnectionVolumeGeometry
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSolidOrShell ;
        owl:onProperty :volumeOnRelatedElement_IfcConnectionVolumeGeometry
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSolidOrShell ;
        owl:onProperty :volumeOnRelatingElement_IfcConnectionVolumeGeometry
    ], [
        a owl:Restriction ;
        owl:onClass :IfcSolidOrShell ;
        owl:onProperty :volumeOnRelatingElement_IfcConnectionVolumeGeometry ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcConnectionCurveGeometry, :IfcConnectionPointGeometry, :IfcConnectionSurfaceGeometry .

:IfcConstraint
    a owl:Class ;
    rdfs:subClassOf :IfcResourceObjectSelect, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :creationTime_IfcConstraint
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcConstraintEnum ;
        owl:onProperty :constraintGrade_IfcConstraint
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcConstraint
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcActorSelect ;
        owl:onProperty :creatingActor_IfcConstraint
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcConstraint ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcConstraintEnum ;
        owl:onProperty :constraintGrade_IfcConstraint ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :userDefinedGrade_IfcConstraint
    ], [
        a owl:Class ;
        owl:unionOf (:IfcMetric
            :IfcObjective
        )
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcConstraint
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :userDefinedGrade_IfcConstraint
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcActorSelect ;
        owl:onProperty :creatingActor_IfcConstraint
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :creationTime_IfcConstraint
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcResourceConstraintRelationship ;
        owl:onProperty :propertiesForConstraint_IfcConstraint
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :constraintSource_IfcConstraint
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcConstraint
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :constraintSource_IfcConstraint
    ] .

:IfcConstraintEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcConstraint_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcConstraint_List, list:EmptyList .

:IfcConstraint_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcConstraint_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcConstraint ;
        owl:onProperty list:hasContents
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcConstraint_List ;
        owl:onProperty list:hasNext
    ] .

:IfcConstructionEquipmentResource
    a owl:Class ;
    rdfs:subClassOf :IfcConstructionResource, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcConstructionEquipmentResourceTypeEnum ;
        owl:onProperty :predefinedType_IfcConstructionEquipmentResource
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcConstructionEquipmentResourceTypeEnum ;
        owl:onProperty :predefinedType_IfcConstructionEquipmentResource
    ] ;
    owl:disjointWith :IfcConstructionMaterialResource, :IfcConstructionProductResource, :IfcCrewResource, :IfcLaborResource, :IfcSubContractResource .

:IfcConstructionEquipmentResourceType
    a owl:Class ;
    rdfs:subClassOf :IfcConstructionResourceType, [
        a owl:Restriction ;
        owl:onClass :IfcConstructionEquipmentResourceTypeEnum ;
        owl:onProperty :predefinedType_IfcConstructionEquipmentResourceType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcConstructionEquipmentResourceTypeEnum ;
        owl:onProperty :predefinedType_IfcConstructionEquipmentResourceType
    ] ;
    owl:disjointWith :IfcConstructionMaterialResourceType, :IfcConstructionProductResourceType, :IfcCrewResourceType, :IfcLaborResourceType, :IfcSubContractResourceType .

:IfcConstructionEquipmentResourceTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcConstructionMaterialResource
    a owl:Class ;
    rdfs:subClassOf :IfcConstructionResource, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcConstructionMaterialResourceTypeEnum ;
        owl:onProperty :predefinedType_IfcConstructionMaterialResource
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcConstructionMaterialResourceTypeEnum ;
        owl:onProperty :predefinedType_IfcConstructionMaterialResource
    ] ;
    owl:disjointWith :IfcConstructionEquipmentResource, :IfcConstructionProductResource, :IfcCrewResource, :IfcLaborResource, :IfcSubContractResource .

:IfcConstructionMaterialResourceType
    a owl:Class ;
    rdfs:subClassOf :IfcConstructionResourceType, [
        a owl:Restriction ;
        owl:onClass :IfcConstructionMaterialResourceTypeEnum ;
        owl:onProperty :predefinedType_IfcConstructionMaterialResourceType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcConstructionMaterialResourceTypeEnum ;
        owl:onProperty :predefinedType_IfcConstructionMaterialResourceType
    ] ;
    owl:disjointWith :IfcConstructionEquipmentResourceType, :IfcConstructionProductResourceType, :IfcCrewResourceType, :IfcLaborResourceType, :IfcSubContractResourceType .

:IfcConstructionMaterialResourceTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcConstructionProductResource
    a owl:Class ;
    rdfs:subClassOf :IfcConstructionResource, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcConstructionProductResourceTypeEnum ;
        owl:onProperty :predefinedType_IfcConstructionProductResource
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcConstructionProductResourceTypeEnum ;
        owl:onProperty :predefinedType_IfcConstructionProductResource
    ] ;
    owl:disjointWith :IfcConstructionEquipmentResource, :IfcConstructionMaterialResource, :IfcCrewResource, :IfcLaborResource, :IfcSubContractResource .

:IfcConstructionProductResourceType
    a owl:Class ;
    rdfs:subClassOf :IfcConstructionResourceType, [
        a owl:Restriction ;
        owl:onClass :IfcConstructionProductResourceTypeEnum ;
        owl:onProperty :predefinedType_IfcConstructionProductResourceType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcConstructionProductResourceTypeEnum ;
        owl:onProperty :predefinedType_IfcConstructionProductResourceType
    ] ;
    owl:disjointWith :IfcConstructionEquipmentResourceType, :IfcConstructionMaterialResourceType, :IfcCrewResourceType, :IfcLaborResourceType, :IfcSubContractResourceType .

:IfcConstructionProductResourceTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcConstructionResource
    a owl:Class ;
    rdfs:subClassOf :IfcResource, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcResourceTime ;
        owl:onProperty :usage_IfcConstructionResource
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPhysicalQuantity ;
        owl:onProperty :baseQuantity_IfcConstructionResource
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcAppliedValue_List
        ] ;
        owl:onProperty :baseCosts_IfcConstructionResource
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPhysicalQuantity ;
        owl:onProperty :baseQuantity_IfcConstructionResource
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAppliedValue_List ;
        owl:onProperty :baseCosts_IfcConstructionResource
    ], [
        a owl:Class ;
        owl:unionOf (:IfcSubContractResource
            :IfcLaborResource
            :IfcConstructionMaterialResource
            :IfcCrewResource
            :IfcConstructionEquipmentResource
            :IfcConstructionProductResource
        )
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAppliedValue_List ;
        owl:onProperty :baseCosts_IfcConstructionResource
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcResourceTime ;
        owl:onProperty :usage_IfcConstructionResource
    ] .

:IfcConstructionResourceType
    a owl:Class ;
    rdfs:subClassOf :IfcTypeResource, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPhysicalQuantity ;
        owl:onProperty :baseQuantity_IfcConstructionResourceType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPhysicalQuantity ;
        owl:onProperty :baseQuantity_IfcConstructionResourceType
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAppliedValue_List ;
        owl:onProperty :baseCosts_IfcConstructionResourceType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcAppliedValue_List
        ] ;
        owl:onProperty :baseCosts_IfcConstructionResourceType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAppliedValue_List ;
        owl:onProperty :baseCosts_IfcConstructionResourceType
    ], [
        a owl:Class ;
        owl:unionOf (:IfcCrewResourceType
            :IfcLaborResourceType
            :IfcConstructionMaterialResourceType
            :IfcConstructionEquipmentResourceType
            :IfcConstructionProductResourceType
            :IfcSubContractResourceType
        )
    ] .

:IfcContext
    a owl:Class ;
    rdfs:subClassOf :IfcObjectDefinition, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :objectType_IfcContext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :longName_IfcContext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelDeclares ;
        owl:onProperty :declares_IfcContext
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :objectType_IfcContext
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :phase_IfcContext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRepresentationContext ;
        owl:onProperty :representationContexts_IfcContext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :phase_IfcContext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcUnitAssignment ;
        owl:onProperty :unitsInContext_IfcContext
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcUnitAssignment ;
        owl:onProperty :unitsInContext_IfcContext
    ], [
        a owl:Class ;
        owl:unionOf (:IfcProject
            :IfcProjectLibrary
        )
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :longName_IfcContext
    ] ;
    owl:disjointWith :IfcObject, :IfcTypeObject .

:IfcContextDependentMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcMeasureValue .

:IfcContextDependentUnit
    a owl:Class ;
    rdfs:subClassOf :IfcNamedUnit, :IfcResourceObjectSelect, [
        a owl:Restriction ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcContextDependentUnit ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcContextDependentUnit
    ] ;
    owl:disjointWith :IfcConversionBasedUnit, :IfcSIUnit .

:IfcControl
    a owl:Class ;
    rdfs:subClassOf :IfcObject, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelAssignsToControl ;
        owl:onProperty :controls_IfcControl
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :identification_IfcControl
    ], [
        a owl:Class ;
        owl:unionOf (:IfcProjectOrder
            :IfcCostSchedule
            :IfcPerformanceHistory
            :IfcActionRequest
            :IfcCostItem
            :IfcWorkControl
            :IfcWorkCalendar
            :IfcPermit
        )
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :identification_IfcControl
    ] ;
    owl:disjointWith :IfcActor, :IfcGroup, :IfcProcess, :IfcProduct, :IfcResource .

:IfcController
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionControlElement, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcControllerTypeEnum ;
        owl:onProperty :predefinedType_IfcController
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcControllerTypeEnum ;
        owl:onProperty :predefinedType_IfcController
    ] ;
    owl:disjointWith :IfcActuator, :IfcAlarm, :IfcFlowInstrument, :IfcProtectiveDeviceTrippingUnit, :IfcSensor, :IfcUnitaryControlElement .

:IfcControllerType
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionControlElementType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcControllerTypeEnum ;
        owl:onProperty :predefinedType_IfcControllerType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcControllerTypeEnum ;
        owl:onProperty :predefinedType_IfcControllerType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcActuatorType, :IfcAlarmType, :IfcFlowInstrumentType, :IfcProtectiveDeviceTrippingUnitType, :IfcSensorType, :IfcUnitaryControlElementType .

:IfcControllerTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcConversionBasedUnit
    a owl:Class ;
    rdfs:subClassOf :IfcNamedUnit, :IfcResourceObjectSelect, [
        a owl:Restriction ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcConversionBasedUnit ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcMeasureWithUnit ;
        owl:onProperty :conversionFactor_IfcConversionBasedUnit ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMeasureWithUnit ;
        owl:onProperty :conversionFactor_IfcConversionBasedUnit
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcConversionBasedUnit
    ] ;
    owl:disjointWith :IfcContextDependentUnit, :IfcSIUnit .

:IfcConversionBasedUnitWithOffset
    a owl:Class ;
    rdfs:subClassOf :IfcConversionBasedUnit, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReal ;
        owl:onProperty :conversionOffset_IfcConversionBasedUnitWithOffset
    ], [
        a owl:Restriction ;
        owl:onClass :IfcReal ;
        owl:onProperty :conversionOffset_IfcConversionBasedUnitWithOffset ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] .

:IfcCooledBeam
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDevice, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCooledBeamTypeEnum ;
        owl:onProperty :predefinedType_IfcCooledBeam
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCooledBeamTypeEnum ;
        owl:onProperty :predefinedType_IfcCooledBeam
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecovery, :IfcBoiler, :IfcBurner, :IfcChiller, :IfcCoil, :IfcCondenser, :IfcCoolingTower, :IfcElectricGenerator, :IfcElectricMotor, :IfcEngine, :IfcEvaporativeCooler, :IfcEvaporator, :IfcHeatExchanger, :IfcHumidifier, :IfcMotorConnection, :IfcSolarDevice, :IfcTransformer, :IfcTubeBundle, :IfcUnitaryEquipment .

:IfcCooledBeamType
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDeviceType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCooledBeamTypeEnum ;
        owl:onProperty :predefinedType_IfcCooledBeamType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCooledBeamTypeEnum ;
        owl:onProperty :predefinedType_IfcCooledBeamType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecoveryType, :IfcBoilerType, :IfcBurnerType, :IfcChillerType, :IfcCoilType, :IfcCondenserType, :IfcCoolingTowerType, :IfcElectricGeneratorType, :IfcElectricMotorType, :IfcEngineType, :IfcEvaporativeCoolerType, :IfcEvaporatorType, :IfcHeatExchangerType, :IfcHumidifierType, :IfcMotorConnectionType, :IfcSolarDeviceType, :IfcTransformerType, :IfcTubeBundleType, :IfcUnitaryEquipmentType .

:IfcCooledBeamTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcCoolingTower
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDevice, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCoolingTowerTypeEnum ;
        owl:onProperty :predefinedType_IfcCoolingTower
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCoolingTowerTypeEnum ;
        owl:onProperty :predefinedType_IfcCoolingTower
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecovery, :IfcBoiler, :IfcBurner, :IfcChiller, :IfcCoil, :IfcCondenser, :IfcCooledBeam, :IfcElectricGenerator, :IfcElectricMotor, :IfcEngine, :IfcEvaporativeCooler, :IfcEvaporator, :IfcHeatExchanger, :IfcHumidifier, :IfcMotorConnection, :IfcSolarDevice, :IfcTransformer, :IfcTubeBundle, :IfcUnitaryEquipment .

:IfcCoolingTowerType
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDeviceType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCoolingTowerTypeEnum ;
        owl:onProperty :predefinedType_IfcCoolingTowerType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCoolingTowerTypeEnum ;
        owl:onProperty :predefinedType_IfcCoolingTowerType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecoveryType, :IfcBoilerType, :IfcBurnerType, :IfcChillerType, :IfcCoilType, :IfcCondenserType, :IfcCooledBeamType, :IfcElectricGeneratorType, :IfcElectricMotorType, :IfcEngineType, :IfcEvaporativeCoolerType, :IfcEvaporatorType, :IfcHeatExchangerType, :IfcHumidifierType, :IfcMotorConnectionType, :IfcSolarDeviceType, :IfcTransformerType, :IfcTubeBundleType, :IfcUnitaryEquipmentType .

:IfcCoolingTowerTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcCoordinateOperation
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:onClass :IfcCoordinateReferenceSystemSelect ;
        owl:onProperty :sourceCRS_IfcCoordinateOperation ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Class ;
        owl:unionOf (:IfcMapConversion
        )
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCoordinateReferenceSystemSelect ;
        owl:onProperty :sourceCRS_IfcCoordinateOperation
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCoordinateReferenceSystem ;
        owl:onProperty :targetCRS_IfcCoordinateOperation ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCoordinateReferenceSystem ;
        owl:onProperty :targetCRS_IfcCoordinateOperation
    ] .

:IfcCoordinateReferenceSystem
    a owl:Class ;
    rdfs:subClassOf :IfcCoordinateReferenceSystemSelect, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :verticalDatum_IfcCoordinateReferenceSystem
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcCoordinateReferenceSystem
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcCoordinateReferenceSystem ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcCoordinateReferenceSystem
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :geodeticDatum_IfcCoordinateReferenceSystem
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :verticalDatum_IfcCoordinateReferenceSystem
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :geodeticDatum_IfcCoordinateReferenceSystem
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcCoordinateReferenceSystem
    ], [
        a owl:Class ;
        owl:unionOf (:IfcProjectedCRS
        )
    ] .

:IfcCoordinateReferenceSystemSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcCostItem
    a owl:Class ;
    rdfs:subClassOf :IfcControl, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCostValue_List ;
        owl:onProperty :costValues_IfcCostItem
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcCostValue_List
        ] ;
        owl:onProperty :costValues_IfcCostItem
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcPhysicalQuantity_List
        ] ;
        owl:onProperty :costQuantities_IfcCostItem
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCostItemTypeEnum ;
        owl:onProperty :predefinedType_IfcCostItem
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPhysicalQuantity_List ;
        owl:onProperty :costQuantities_IfcCostItem
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPhysicalQuantity_List ;
        owl:onProperty :costQuantities_IfcCostItem
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCostItemTypeEnum ;
        owl:onProperty :predefinedType_IfcCostItem
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCostValue_List ;
        owl:onProperty :costValues_IfcCostItem
    ] ;
    owl:disjointWith :IfcActionRequest, :IfcCostSchedule, :IfcPerformanceHistory, :IfcPermit, :IfcProjectOrder, :IfcWorkCalendar, :IfcWorkControl .

:IfcCostItemTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcCostSchedule
    a owl:Class ;
    rdfs:subClassOf :IfcControl, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :status_IfcCostSchedule
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :updateDate_IfcCostSchedule
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :updateDate_IfcCostSchedule
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :submittedOn_IfcCostSchedule
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :submittedOn_IfcCostSchedule
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :status_IfcCostSchedule
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCostScheduleTypeEnum ;
        owl:onProperty :predefinedType_IfcCostSchedule
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCostScheduleTypeEnum ;
        owl:onProperty :predefinedType_IfcCostSchedule
    ] ;
    owl:disjointWith :IfcActionRequest, :IfcCostItem, :IfcPerformanceHistory, :IfcPermit, :IfcProjectOrder, :IfcWorkCalendar, :IfcWorkControl .

:IfcCostScheduleTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcCostValue
    a owl:Class ;
    rdfs:subClassOf :IfcAppliedValue .

:IfcCostValue_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcCostValue_List, list:EmptyList .

:IfcCostValue_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCostValue_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCostValue_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCostValue ;
        owl:onProperty list:hasContents
    ] .

:IfcCountMeasure
    a owl:Class ;
    rdfs:subClassOf expr:NUMBER, :IfcMeasureValue .

:IfcCovering
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelCoversBldgElements ;
        owl:onProperty :coversElements_IfcCovering
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRelCoversSpaces ;
        owl:onProperty :coversSpaces_IfcCovering
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelCoversSpaces ;
        owl:onProperty :coversSpaces_IfcCovering
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCoveringTypeEnum ;
        owl:onProperty :predefinedType_IfcCovering
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRelCoversBldgElements ;
        owl:onProperty :coversElements_IfcCovering
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCoveringTypeEnum ;
        owl:onProperty :predefinedType_IfcCovering
    ] ;
    owl:disjointWith :IfcBeam, :IfcBuildingElementProxy, :IfcChimney, :IfcColumn, :IfcCurtainWall, :IfcDoor, :IfcFooting, :IfcMember, :IfcPile, :IfcPlate, :IfcRailing, :IfcRamp, :IfcRampFlight, :IfcRoof, :IfcShadingDevice, :IfcSlab, :IfcStair, :IfcStairFlight, :IfcWall, :IfcWindow .

:IfcCoveringType
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElementType, [
        a owl:Restriction ;
        owl:onClass :IfcCoveringTypeEnum ;
        owl:onProperty :predefinedType_IfcCoveringType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCoveringTypeEnum ;
        owl:onProperty :predefinedType_IfcCoveringType
    ] ;
    owl:disjointWith :IfcBeamType, :IfcBuildingElementProxyType, :IfcChimneyType, :IfcColumnType, :IfcCurtainWallType, :IfcDoorType, :IfcFootingType, :IfcMemberType, :IfcPileType, :IfcPlateType, :IfcRailingType, :IfcRampFlightType, :IfcRampType, :IfcRoofType, :IfcShadingDeviceType, :IfcSlabType, :IfcStairFlightType, :IfcStairType, :IfcWallType, :IfcWindowType .

:IfcCoveringTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcCrewResource
    a owl:Class ;
    rdfs:subClassOf :IfcConstructionResource, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCrewResourceTypeEnum ;
        owl:onProperty :predefinedType_IfcCrewResource
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCrewResourceTypeEnum ;
        owl:onProperty :predefinedType_IfcCrewResource
    ] ;
    owl:disjointWith :IfcConstructionEquipmentResource, :IfcConstructionMaterialResource, :IfcConstructionProductResource, :IfcLaborResource, :IfcSubContractResource .

:IfcCrewResourceType
    a owl:Class ;
    rdfs:subClassOf :IfcConstructionResourceType, [
        a owl:Restriction ;
        owl:onClass :IfcCrewResourceTypeEnum ;
        owl:onProperty :predefinedType_IfcCrewResourceType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCrewResourceTypeEnum ;
        owl:onProperty :predefinedType_IfcCrewResourceType
    ] ;
    owl:disjointWith :IfcConstructionEquipmentResourceType, :IfcConstructionMaterialResourceType, :IfcConstructionProductResourceType, :IfcLaborResourceType, :IfcSubContractResourceType .

:IfcCrewResourceTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcCsgPrimitive3D
    a owl:Class ;
    rdfs:subClassOf :IfcBooleanOperand, :IfcCsgSelect, :IfcGeometricRepresentationItem, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAxis2Placement3D ;
        owl:onProperty :position_IfcCsgPrimitive3D
    ], [
        a owl:Class ;
        owl:unionOf (:IfcRightCircularCylinder
            :IfcRectangularPyramid
            :IfcBlock
            :IfcRightCircularCone
            :IfcSphere
        )
    ], [
        a owl:Restriction ;
        owl:onClass :IfcAxis2Placement3D ;
        owl:onProperty :position_IfcCsgPrimitive3D ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAnnotationFillArea, :IfcBooleanResult, :IfcBoundingBox, :IfcCartesianPointList, :IfcCartesianTransformationOperator, :IfcCompositeCurveSegment, :IfcCurve, :IfcDirection, :IfcFaceBasedSurfaceModel, :IfcFillAreaStyleHatching, :IfcFillAreaStyleTiles, :IfcGeometricSet, :IfcHalfSpaceSolid, :IfcLightSource, :IfcPlacement, :IfcPlanarExtent, :IfcPoint, :IfcSectionedSpine, :IfcShellBasedSurfaceModel, :IfcSolidModel, :IfcSurface, :IfcTessellatedItem, :IfcTextLiteral, :IfcVector .

:IfcCsgSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcCsgSolid
    a owl:Class ;
    rdfs:subClassOf :IfcSolidModel, [
        a owl:Restriction ;
        owl:onClass :IfcCsgSelect ;
        owl:onProperty :treeRootExpression_IfcCsgSolid ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCsgSelect ;
        owl:onProperty :treeRootExpression_IfcCsgSolid
    ] ;
    owl:disjointWith :IfcManifoldSolidBrep, :IfcSweptAreaSolid, :IfcSweptDiskSolid .

:IfcCurrencyRelationship
    a owl:Class ;
    rdfs:subClassOf :IfcResourceLevelRelationship, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveRatioMeasure ;
        owl:onProperty :exchangeRate_IfcCurrencyRelationship
    ], [
        a owl:Restriction ;
        owl:onClass :IfcMonetaryUnit ;
        owl:onProperty :relatedMonetaryUnit_IfcCurrencyRelationship ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :rateDateTime_IfcCurrencyRelationship
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMonetaryUnit ;
        owl:onProperty :relatedMonetaryUnit_IfcCurrencyRelationship
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLibraryInformation ;
        owl:onProperty :rateSource_IfcCurrencyRelationship
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMonetaryUnit ;
        owl:onProperty :relatingMonetaryUnit_IfcCurrencyRelationship
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveRatioMeasure ;
        owl:onProperty :exchangeRate_IfcCurrencyRelationship ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcMonetaryUnit ;
        owl:onProperty :relatingMonetaryUnit_IfcCurrencyRelationship ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLibraryInformation ;
        owl:onProperty :rateSource_IfcCurrencyRelationship
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :rateDateTime_IfcCurrencyRelationship
    ] ;
    owl:disjointWith :IfcApprovalRelationship, :IfcDocumentInformationRelationship, :IfcExternalReferenceRelationship, :IfcMaterialRelationship, :IfcOrganizationRelationship, :IfcPropertyDependencyRelationship, :IfcResourceApprovalRelationship, :IfcResourceConstraintRelationship .

:IfcCurtainWall
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurtainWallTypeEnum ;
        owl:onProperty :predefinedType_IfcCurtainWall
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCurtainWallTypeEnum ;
        owl:onProperty :predefinedType_IfcCurtainWall
    ] ;
    owl:disjointWith :IfcBeam, :IfcBuildingElementProxy, :IfcChimney, :IfcColumn, :IfcCovering, :IfcDoor, :IfcFooting, :IfcMember, :IfcPile, :IfcPlate, :IfcRailing, :IfcRamp, :IfcRampFlight, :IfcRoof, :IfcShadingDevice, :IfcSlab, :IfcStair, :IfcStairFlight, :IfcWall, :IfcWindow .

:IfcCurtainWallType
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElementType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurtainWallTypeEnum ;
        owl:onProperty :predefinedType_IfcCurtainWallType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCurtainWallTypeEnum ;
        owl:onProperty :predefinedType_IfcCurtainWallType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcBeamType, :IfcBuildingElementProxyType, :IfcChimneyType, :IfcColumnType, :IfcCoveringType, :IfcDoorType, :IfcFootingType, :IfcMemberType, :IfcPileType, :IfcPlateType, :IfcRailingType, :IfcRampFlightType, :IfcRampType, :IfcRoofType, :IfcShadingDeviceType, :IfcSlabType, :IfcStairFlightType, :IfcStairType, :IfcWallType, :IfcWindowType .

:IfcCurtainWallTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcCurvatureMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcCurve
    a owl:Class ;
    rdfs:subClassOf :IfcGeometricRepresentationItem, :IfcGeometricSetSelect, [
        a owl:Class ;
        owl:unionOf (:IfcPcurve
            :IfcOffsetCurve2D
            :IfcBoundedCurve
            :IfcOffsetCurve3D
            :IfcConic
            :IfcLine
        )
    ] ;
    owl:disjointWith :IfcAnnotationFillArea, :IfcBooleanResult, :IfcBoundingBox, :IfcCartesianPointList, :IfcCartesianTransformationOperator, :IfcCompositeCurveSegment, :IfcCsgPrimitive3D, :IfcDirection, :IfcFaceBasedSurfaceModel, :IfcFillAreaStyleHatching, :IfcFillAreaStyleTiles, :IfcGeometricSet, :IfcHalfSpaceSolid, :IfcLightSource, :IfcPlacement, :IfcPlanarExtent, :IfcPoint, :IfcSectionedSpine, :IfcShellBasedSurfaceModel, :IfcSolidModel, :IfcSurface, :IfcTessellatedItem, :IfcTextLiteral, :IfcVector .

:IfcCurveBoundedPlane
    a owl:Class ;
    rdfs:subClassOf :IfcBoundedSurface, [
        a owl:Restriction ;
        owl:onClass :IfcCurve ;
        owl:onProperty :outerBoundary_IfcCurveBoundedPlane ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPlane ;
        owl:onProperty :basisSurface_IfcCurveBoundedPlane ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurve ;
        owl:onProperty :outerBoundary_IfcCurveBoundedPlane
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurve ;
        owl:onProperty :innerBoundaries_IfcCurveBoundedPlane
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPlane ;
        owl:onProperty :basisSurface_IfcCurveBoundedPlane
    ] ;
    owl:disjointWith :IfcBSplineSurface, :IfcCurveBoundedSurface, :IfcRectangularTrimmedSurface .

:IfcCurveBoundedSurface
    a owl:Class ;
    rdfs:subClassOf :IfcBoundedSurface, [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcBoundaryCurve ;
        owl:onProperty :boundaries_IfcCurveBoundedSurface
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :implicitOuter_IfcCurveBoundedSurface
    ], [
        a owl:Restriction ;
        owl:onClass :IfcSurface ;
        owl:onProperty :basisSurface_IfcCurveBoundedSurface ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSurface ;
        owl:onProperty :basisSurface_IfcCurveBoundedSurface
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoundaryCurve ;
        owl:onProperty :boundaries_IfcCurveBoundedSurface
    ], [
        a owl:Restriction ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :implicitOuter_IfcCurveBoundedSurface ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcBSplineSurface, :IfcCurveBoundedPlane, :IfcRectangularTrimmedSurface .

:IfcCurveFontOrScaledCurveFontSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcCurveInterpolationEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcCurveOnSurface
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcCurveOrEdgeCurve
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcCurveStyle
    a owl:Class ;
    rdfs:subClassOf :IfcPresentationStyle, :IfcPresentationStyleSelect, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :modelOrDraughting_IfcCurveStyle
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcColour ;
        owl:onProperty :curveColour_IfcCurveStyle
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCurveFontOrScaledCurveFontSelect ;
        owl:onProperty :curveFont_IfcCurveStyle
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSizeSelect ;
        owl:onProperty :curveWidth_IfcCurveStyle
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurveFontOrScaledCurveFontSelect ;
        owl:onProperty :curveFont_IfcCurveStyle
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSizeSelect ;
        owl:onProperty :curveWidth_IfcCurveStyle
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcColour ;
        owl:onProperty :curveColour_IfcCurveStyle
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :modelOrDraughting_IfcCurveStyle
    ] ;
    owl:disjointWith :IfcFillAreaStyle, :IfcSurfaceStyle, :IfcTextStyle .

:IfcCurveStyleFont
    a owl:Class ;
    rdfs:subClassOf :IfcCurveStyleFontSelect, :IfcPresentationItem, [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcCurveStyleFontPattern_List
        ] ;
        owl:onProperty :patternList_IfcCurveStyleFont
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcCurveStyleFont
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCurveStyleFontPattern_List ;
        owl:onProperty :patternList_IfcCurveStyleFont ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurveStyleFontPattern_List ;
        owl:onProperty :patternList_IfcCurveStyleFont
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcCurveStyleFont
    ] ;
    owl:disjointWith :IfcColourRgbList, :IfcColourSpecification, :IfcCurveStyleFontAndScaling, :IfcCurveStyleFontPattern, :IfcIndexedColourMap, :IfcPreDefinedItem, :IfcSurfaceStyleLighting, :IfcSurfaceStyleRefraction, :IfcSurfaceStyleShading, :IfcSurfaceStyleWithTextures, :IfcSurfaceTexture, :IfcTextStyleForDefinedFont, :IfcTextStyleTextModel, :IfcTextureCoordinate, :IfcTextureVertex, :IfcTextureVertexList .

:IfcCurveStyleFontAndScaling
    a owl:Class ;
    rdfs:subClassOf :IfcCurveFontOrScaledCurveFontSelect, :IfcPresentationItem, [
        a owl:Restriction ;
        owl:onClass :IfcPositiveRatioMeasure ;
        owl:onProperty :curveFontScaling_IfcCurveStyleFontAndScaling ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurveStyleFontSelect ;
        owl:onProperty :curveFont_IfcCurveStyleFontAndScaling
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCurveStyleFontSelect ;
        owl:onProperty :curveFont_IfcCurveStyleFontAndScaling ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcCurveStyleFontAndScaling
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveRatioMeasure ;
        owl:onProperty :curveFontScaling_IfcCurveStyleFontAndScaling
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcCurveStyleFontAndScaling
    ] ;
    owl:disjointWith :IfcColourRgbList, :IfcColourSpecification, :IfcCurveStyleFont, :IfcCurveStyleFontPattern, :IfcIndexedColourMap, :IfcPreDefinedItem, :IfcSurfaceStyleLighting, :IfcSurfaceStyleRefraction, :IfcSurfaceStyleShading, :IfcSurfaceStyleWithTextures, :IfcSurfaceTexture, :IfcTextStyleForDefinedFont, :IfcTextStyleTextModel, :IfcTextureCoordinate, :IfcTextureVertex, :IfcTextureVertexList .

:IfcCurveStyleFontPattern
    a owl:Class ;
    rdfs:subClassOf :IfcPresentationItem, [
        a owl:Restriction ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :visibleSegmentLength_IfcCurveStyleFontPattern ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :invisibleSegmentLength_IfcCurveStyleFontPattern ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :invisibleSegmentLength_IfcCurveStyleFontPattern
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :visibleSegmentLength_IfcCurveStyleFontPattern
    ] ;
    owl:disjointWith :IfcColourRgbList, :IfcColourSpecification, :IfcCurveStyleFont, :IfcCurveStyleFontAndScaling, :IfcIndexedColourMap, :IfcPreDefinedItem, :IfcSurfaceStyleLighting, :IfcSurfaceStyleRefraction, :IfcSurfaceStyleShading, :IfcSurfaceStyleWithTextures, :IfcSurfaceTexture, :IfcTextStyleForDefinedFont, :IfcTextStyleTextModel, :IfcTextureCoordinate, :IfcTextureVertex, :IfcTextureVertexList .

:IfcCurveStyleFontPattern_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcCurveStyleFontPattern_List, list:EmptyList .

:IfcCurveStyleFontPattern_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurveStyleFontPattern ;
        owl:onProperty list:hasContents
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurveStyleFontPattern_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurveStyleFontPattern_List ;
        owl:onProperty list:isFollowedBy
    ] .

:IfcCurveStyleFontSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT, :IfcCurveFontOrScaledCurveFontSelect .

:IfcCylindricalSurface
    a owl:Class ;
    rdfs:subClassOf :IfcElementarySurface, [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :radius_IfcCylindricalSurface ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :radius_IfcCylindricalSurface
    ] ;
    owl:disjointWith :IfcPlane .

:IfcDamper
    a owl:Class ;
    rdfs:subClassOf :IfcFlowController, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDamperTypeEnum ;
        owl:onProperty :predefinedType_IfcDamper
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDamperTypeEnum ;
        owl:onProperty :predefinedType_IfcDamper
    ] ;
    owl:disjointWith :IfcAirTerminalBox, :IfcElectricDistributionBoard, :IfcElectricTimeControl, :IfcFlowMeter, :IfcProtectiveDevice, :IfcSwitchingDevice, :IfcValve .

:IfcDamperType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowControllerType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDamperTypeEnum ;
        owl:onProperty :predefinedType_IfcDamperType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDamperTypeEnum ;
        owl:onProperty :predefinedType_IfcDamperType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAirTerminalBoxType, :IfcElectricDistributionBoardType, :IfcElectricTimeControlType, :IfcFlowMeterType, :IfcProtectiveDeviceType, :IfcSwitchingDeviceType, :IfcValveType .

:IfcDamperTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcDataOriginEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcDate
    a owl:Class ;
    rdfs:subClassOf expr:STRING, :IfcSimpleValue .

:IfcDateTime
    a owl:Class ;
    rdfs:subClassOf expr:STRING, :IfcSimpleValue .

:IfcDayInMonthNumber
    a owl:Class ;
    rdfs:subClassOf expr:INTEGER .

:IfcDayInWeekNumber
    a owl:Class ;
    rdfs:subClassOf expr:INTEGER .

:IfcDefinitionSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcDerivedMeasureValue
    a owl:Class ;
    rdfs:subClassOf expr:SELECT, :IfcValue .

:IfcDerivedProfileDef
    a owl:Class ;
    rdfs:subClassOf :IfcProfileDef, [
        a owl:Restriction ;
        owl:onClass :IfcProfileDef ;
        owl:onProperty :parentProfile_IfcDerivedProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCartesianTransformationOperator2D ;
        owl:onProperty :operator_IfcDerivedProfileDef
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :label_IfcDerivedProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProfileDef ;
        owl:onProperty :parentProfile_IfcDerivedProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :label_IfcDerivedProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCartesianTransformationOperator2D ;
        owl:onProperty :operator_IfcDerivedProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcArbitraryClosedProfileDef, :IfcArbitraryOpenProfileDef, :IfcCompositeProfileDef, :IfcParameterizedProfileDef .

:IfcDerivedUnit
    a owl:Class ;
    rdfs:subClassOf :IfcUnit, [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDerivedUnitElement ;
        owl:onProperty :elements_IfcDerivedUnit
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDerivedUnitEnum ;
        owl:onProperty :unitType_IfcDerivedUnit ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :userDefinedType_IfcDerivedUnit
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :userDefinedType_IfcDerivedUnit
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDerivedUnitEnum ;
        owl:onProperty :unitType_IfcDerivedUnit
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDerivedUnitElement ;
        owl:onProperty :elements_IfcDerivedUnit
    ] .

:IfcDerivedUnitElement
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNamedUnit ;
        owl:onProperty :unit_IfcDerivedUnitElement
    ], [
        a owl:Restriction ;
        owl:onClass expr:INTEGER ;
        owl:onProperty :exponent_IfcDerivedUnitElement ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcNamedUnit ;
        owl:onProperty :unit_IfcDerivedUnitElement ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom expr:INTEGER ;
        owl:onProperty :exponent_IfcDerivedUnitElement
    ] .

:IfcDerivedUnitEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcDescriptiveMeasure
    a owl:Class ;
    rdfs:subClassOf expr:STRING, :IfcMeasureValue, :IfcSizeSelect .

:IfcDimensionCount
    a owl:Class ;
    rdfs:subClassOf expr:INTEGER .

:IfcDimensionalExponents
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:allValuesFrom expr:INTEGER ;
        owl:onProperty :massExponent_IfcDimensionalExponents
    ], [
        a owl:Restriction ;
        owl:onClass expr:INTEGER ;
        owl:onProperty :thermodynamicTemperatureExponent_IfcDimensionalExponents ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass expr:INTEGER ;
        owl:onProperty :electricCurrentExponent_IfcDimensionalExponents ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom expr:INTEGER ;
        owl:onProperty :lengthExponent_IfcDimensionalExponents
    ], [
        a owl:Restriction ;
        owl:allValuesFrom expr:INTEGER ;
        owl:onProperty :amountOfSubstanceExponent_IfcDimensionalExponents
    ], [
        a owl:Restriction ;
        owl:onClass expr:INTEGER ;
        owl:onProperty :luminousIntensityExponent_IfcDimensionalExponents ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom expr:INTEGER ;
        owl:onProperty :electricCurrentExponent_IfcDimensionalExponents
    ], [
        a owl:Restriction ;
        owl:allValuesFrom expr:INTEGER ;
        owl:onProperty :luminousIntensityExponent_IfcDimensionalExponents
    ], [
        a owl:Restriction ;
        owl:onClass expr:INTEGER ;
        owl:onProperty :lengthExponent_IfcDimensionalExponents ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass expr:INTEGER ;
        owl:onProperty :timeExponent_IfcDimensionalExponents ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom expr:INTEGER ;
        owl:onProperty :thermodynamicTemperatureExponent_IfcDimensionalExponents
    ], [
        a owl:Restriction ;
        owl:allValuesFrom expr:INTEGER ;
        owl:onProperty :timeExponent_IfcDimensionalExponents
    ], [
        a owl:Restriction ;
        owl:onClass expr:INTEGER ;
        owl:onProperty :amountOfSubstanceExponent_IfcDimensionalExponents ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass expr:INTEGER ;
        owl:onProperty :massExponent_IfcDimensionalExponents ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] .

:IfcDirection
    a owl:Class ;
    rdfs:subClassOf :IfcGeometricRepresentationItem, :IfcGridPlacementDirectionSelect, :IfcVectorOrDirection, [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom :IfcReal_List
            ]
        ] ;
        owl:onProperty :directionRatios_IfcDirection
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReal_List ;
        owl:onProperty :directionRatios_IfcDirection
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:allValuesFrom [
                a owl:Restriction ;
                owl:allValuesFrom [
                    a owl:Restriction ;
                    owl:onClass :IfcReal_EmptyList ;
                    owl:onProperty list:hasNext ;
                    owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
                ] ;
                owl:onProperty list:hasNext
            ] ;
            owl:onProperty list:hasNext
        ] ;
        owl:onProperty :directionRatios_IfcDirection
    ], [
        a owl:Restriction ;
        owl:onClass :IfcReal_List ;
        owl:onProperty :directionRatios_IfcDirection ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAnnotationFillArea, :IfcBooleanResult, :IfcBoundingBox, :IfcCartesianPointList, :IfcCartesianTransformationOperator, :IfcCompositeCurveSegment, :IfcCsgPrimitive3D, :IfcCurve, :IfcFaceBasedSurfaceModel, :IfcFillAreaStyleHatching, :IfcFillAreaStyleTiles, :IfcGeometricSet, :IfcHalfSpaceSolid, :IfcLightSource, :IfcPlacement, :IfcPlanarExtent, :IfcPoint, :IfcSectionedSpine, :IfcShellBasedSurfaceModel, :IfcSolidModel, :IfcSurface, :IfcTessellatedItem, :IfcTextLiteral, :IfcVector .

:IfcDirectionSenseEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcDiscreteAccessory
    a owl:Class ;
    rdfs:subClassOf :IfcElementComponent, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDiscreteAccessoryTypeEnum ;
        owl:onProperty :predefinedType_IfcDiscreteAccessory
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDiscreteAccessoryTypeEnum ;
        owl:onProperty :predefinedType_IfcDiscreteAccessory
    ] ;
    owl:disjointWith :IfcBuildingElementPart, :IfcFastener, :IfcMechanicalFastener, :IfcReinforcingElement, :IfcVibrationIsolator .

:IfcDiscreteAccessoryType
    a owl:Class ;
    rdfs:subClassOf :IfcElementComponentType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDiscreteAccessoryTypeEnum ;
        owl:onProperty :predefinedType_IfcDiscreteAccessoryType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDiscreteAccessoryTypeEnum ;
        owl:onProperty :predefinedType_IfcDiscreteAccessoryType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcBuildingElementPartType, :IfcFastenerType, :IfcMechanicalFastenerType, :IfcReinforcingElementType, :IfcVibrationIsolatorType .

:IfcDiscreteAccessoryTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcDistributionChamberElement
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionFlowElement, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDistributionChamberElementTypeEnum ;
        owl:onProperty :predefinedType_IfcDistributionChamberElement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDistributionChamberElementTypeEnum ;
        owl:onProperty :predefinedType_IfcDistributionChamberElement
    ] ;
    owl:disjointWith :IfcEnergyConversionDevice, :IfcFlowController, :IfcFlowFitting, :IfcFlowMovingDevice, :IfcFlowSegment, :IfcFlowStorageDevice, :IfcFlowTerminal, :IfcFlowTreatmentDevice .

:IfcDistributionChamberElementType
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionFlowElementType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDistributionChamberElementTypeEnum ;
        owl:onProperty :predefinedType_IfcDistributionChamberElementType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDistributionChamberElementTypeEnum ;
        owl:onProperty :predefinedType_IfcDistributionChamberElementType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcEnergyConversionDeviceType, :IfcFlowControllerType, :IfcFlowFittingType, :IfcFlowMovingDeviceType, :IfcFlowSegmentType, :IfcFlowStorageDeviceType, :IfcFlowTerminalType, :IfcFlowTreatmentDeviceType .

:IfcDistributionChamberElementTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcDistributionCircuit
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionSystem .

:IfcDistributionControlElement
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelFlowControlElements ;
        owl:onProperty :assignedToFlowElement_IfcDistributionControlElement
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRelFlowControlElements ;
        owl:onProperty :assignedToFlowElement_IfcDistributionControlElement
    ] ;
    owl:disjointWith :IfcDistributionFlowElement .

:IfcDistributionControlElementType
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionElementType, [
        a owl:Class ;
        owl:unionOf (:IfcControllerType
            :IfcUnitaryControlElementType
            :IfcProtectiveDeviceTrippingUnitType
            :IfcActuatorType
            :IfcSensorType
            :IfcFlowInstrumentType
            :IfcAlarmType
        )
    ] ;
    owl:disjointWith :IfcDistributionFlowElementType .

:IfcDistributionElement
    a owl:Class ;
    rdfs:subClassOf :IfcElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelConnectsPortToElement ;
        owl:onProperty :hasPorts_IfcDistributionElement
    ] ;
    owl:disjointWith :IfcBuildingElement, :IfcCivilElement, :IfcElementAssembly, :IfcElementComponent, :IfcFeatureElement, :IfcFurnishingElement, :IfcGeographicElement, :IfcTransportElement, :IfcVirtualElement .

:IfcDistributionElementType
    a owl:Class ;
    rdfs:subClassOf :IfcElementType ;
    owl:disjointWith :IfcBuildingElementType, :IfcCivilElementType, :IfcElementAssemblyType, :IfcElementComponentType, :IfcFurnishingElementType, :IfcGeographicElementType, :IfcTransportElementType .

:IfcDistributionFlowElement
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelFlowControlElements ;
        owl:onProperty :hasControlElements_IfcDistributionFlowElement
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRelFlowControlElements ;
        owl:onProperty :hasControlElements_IfcDistributionFlowElement
    ] ;
    owl:disjointWith :IfcDistributionControlElement .

:IfcDistributionFlowElementType
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionElementType, [
        a owl:Class ;
        owl:unionOf (:IfcFlowMovingDeviceType
            :IfcEnergyConversionDeviceType
            :IfcFlowTreatmentDeviceType
            :IfcFlowControllerType
            :IfcFlowFittingType
            :IfcFlowTerminalType
            :IfcFlowSegmentType
            :IfcFlowStorageDeviceType
            :IfcDistributionChamberElementType
        )
    ] ;
    owl:disjointWith :IfcDistributionControlElementType .

:IfcDistributionPort
    a owl:Class ;
    rdfs:subClassOf :IfcPort, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcFlowDirectionEnum ;
        owl:onProperty :flowDirection_IfcDistributionPort
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDistributionSystemEnum ;
        owl:onProperty :systemType_IfcDistributionPort
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDistributionPortTypeEnum ;
        owl:onProperty :predefinedType_IfcDistributionPort
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDistributionSystemEnum ;
        owl:onProperty :systemType_IfcDistributionPort
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDistributionPortTypeEnum ;
        owl:onProperty :predefinedType_IfcDistributionPort
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFlowDirectionEnum ;
        owl:onProperty :flowDirection_IfcDistributionPort
    ] .

:IfcDistributionPortTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcDistributionSystem
    a owl:Class ;
    rdfs:subClassOf :IfcSystem, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDistributionSystemEnum ;
        owl:onProperty :predefinedType_IfcDistributionSystem
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :longName_IfcDistributionSystem
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :longName_IfcDistributionSystem
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDistributionSystemEnum ;
        owl:onProperty :predefinedType_IfcDistributionSystem
    ] ;
    owl:disjointWith :IfcBuildingSystem, :IfcStructuralAnalysisModel, :IfcZone .

:IfcDistributionSystemEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcDocumentConfidentialityEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcDocumentInformation
    a owl:Class ;
    rdfs:subClassOf :IfcDocumentSelect, :IfcExternalInformation, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcActorSelect ;
        owl:onProperty :documentOwner_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDocumentInformationRelationship ;
        owl:onProperty :isPointer_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :revision_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDate ;
        owl:onProperty :validUntil_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDate ;
        owl:onProperty :validFrom_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :revision_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDocumentStatusEnum ;
        owl:onProperty :status_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDocumentStatusEnum ;
        owl:onProperty :status_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDocumentConfidentialityEnum ;
        owl:onProperty :confidentiality_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :purpose_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :purpose_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :identification_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcActorSelect ;
        owl:onProperty :documentOwner_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :lastRevisionTime_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :scope_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDocumentConfidentialityEnum ;
        owl:onProperty :confidentiality_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcURIReference ;
        owl:onProperty :location_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :creationTime_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :lastRevisionTime_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDate ;
        owl:onProperty :validFrom_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDate ;
        owl:onProperty :validUntil_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcURIReference ;
        owl:onProperty :location_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDocumentReference ;
        owl:onProperty :hasDocumentReferences_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDocumentInformationRelationship ;
        owl:onProperty :isPointedTo_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :electronicFormat_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDocumentInformationRelationship ;
        owl:onProperty :isPointer_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :identification_IfcDocumentInformation ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :intendedUse_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :creationTime_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcActorSelect ;
        owl:onProperty :editors_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :scope_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :electronicFormat_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :intendedUse_IfcDocumentInformation
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcDocumentInformation ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcClassification, :IfcLibraryInformation .

:IfcDocumentInformationRelationship
    a owl:Class ;
    rdfs:subClassOf :IfcResourceLevelRelationship, [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDocumentInformation ;
        owl:onProperty :relatedDocuments_IfcDocumentInformationRelationship
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :relationshipType_IfcDocumentInformationRelationship
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDocumentInformation ;
        owl:onProperty :relatedDocuments_IfcDocumentInformationRelationship
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDocumentInformation ;
        owl:onProperty :relatingDocument_IfcDocumentInformationRelationship
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :relationshipType_IfcDocumentInformationRelationship
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDocumentInformation ;
        owl:onProperty :relatingDocument_IfcDocumentInformationRelationship ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcApprovalRelationship, :IfcCurrencyRelationship, :IfcExternalReferenceRelationship, :IfcMaterialRelationship, :IfcOrganizationRelationship, :IfcPropertyDependencyRelationship, :IfcResourceApprovalRelationship, :IfcResourceConstraintRelationship .

:IfcDocumentReference
    a owl:Class ;
    rdfs:subClassOf :IfcDocumentSelect, :IfcExternalReference, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDocumentInformation ;
        owl:onProperty :referencedDocument_IfcDocumentReference
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDocumentInformation ;
        owl:onProperty :referencedDocument_IfcDocumentReference
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcDocumentReference
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcDocumentReference
    ] ;
    owl:disjointWith :IfcClassificationReference, :IfcExternallyDefinedHatchStyle, :IfcExternallyDefinedSurfaceStyle, :IfcExternallyDefinedTextFont, :IfcLibraryReference .

:IfcDocumentSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcDocumentStatusEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcDoor
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :overallHeight_IfcDoor
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :overallWidth_IfcDoor
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDoorTypeOperationEnum ;
        owl:onProperty :operationType_IfcDoor
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDoorTypeEnum ;
        owl:onProperty :predefinedType_IfcDoor
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDoorTypeEnum ;
        owl:onProperty :predefinedType_IfcDoor
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :userDefinedOperationType_IfcDoor
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDoorTypeOperationEnum ;
        owl:onProperty :operationType_IfcDoor
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :userDefinedOperationType_IfcDoor
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :overallHeight_IfcDoor
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :overallWidth_IfcDoor
    ] ;
    owl:disjointWith :IfcBeam, :IfcBuildingElementProxy, :IfcChimney, :IfcColumn, :IfcCovering, :IfcCurtainWall, :IfcFooting, :IfcMember, :IfcPile, :IfcPlate, :IfcRailing, :IfcRamp, :IfcRampFlight, :IfcRoof, :IfcShadingDevice, :IfcSlab, :IfcStair, :IfcStairFlight, :IfcWall, :IfcWindow .

:IfcDoorLiningProperties
    a owl:Class ;
    rdfs:subClassOf :IfcPreDefinedPropertySet, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNonNegativeLengthMeasure ;
        owl:onProperty :transomThickness_IfcDoorLiningProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :liningOffset_IfcDoorLiningProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :liningToPanelOffsetX_IfcDoorLiningProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :thresholdDepth_IfcDoorLiningProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :thresholdOffset_IfcDoorLiningProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :thresholdOffset_IfcDoorLiningProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :casingDepth_IfcDoorLiningProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNonNegativeLengthMeasure ;
        owl:onProperty :transomThickness_IfcDoorLiningProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcShapeAspect ;
        owl:onProperty :shapeAspectStyle_IfcDoorLiningProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNonNegativeLengthMeasure ;
        owl:onProperty :thresholdThickness_IfcDoorLiningProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :liningToPanelOffsetY_IfcDoorLiningProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :liningDepth_IfcDoorLiningProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNonNegativeLengthMeasure ;
        owl:onProperty :liningThickness_IfcDoorLiningProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :transomOffset_IfcDoorLiningProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :liningDepth_IfcDoorLiningProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :transomOffset_IfcDoorLiningProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :liningOffset_IfcDoorLiningProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :liningToPanelOffsetX_IfcDoorLiningProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNonNegativeLengthMeasure ;
        owl:onProperty :liningThickness_IfcDoorLiningProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :casingThickness_IfcDoorLiningProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :casingThickness_IfcDoorLiningProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNonNegativeLengthMeasure ;
        owl:onProperty :thresholdThickness_IfcDoorLiningProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcShapeAspect ;
        owl:onProperty :shapeAspectStyle_IfcDoorLiningProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :casingDepth_IfcDoorLiningProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :thresholdDepth_IfcDoorLiningProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :liningToPanelOffsetY_IfcDoorLiningProperties
    ] ;
    owl:disjointWith :IfcDoorPanelProperties, :IfcPermeableCoveringProperties, :IfcReinforcementDefinitionProperties, :IfcWindowLiningProperties, :IfcWindowPanelProperties .

:IfcDoorPanelOperationEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcDoorPanelPositionEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcDoorPanelProperties
    a owl:Class ;
    rdfs:subClassOf :IfcPreDefinedPropertySet, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDoorPanelOperationEnum ;
        owl:onProperty :panelOperation_IfcDoorPanelProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcShapeAspect ;
        owl:onProperty :shapeAspectStyle_IfcDoorPanelProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDoorPanelPositionEnum ;
        owl:onProperty :panelPosition_IfcDoorPanelProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :panelDepth_IfcDoorPanelProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNormalisedRatioMeasure ;
        owl:onProperty :panelWidth_IfcDoorPanelProperties
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDoorPanelOperationEnum ;
        owl:onProperty :panelOperation_IfcDoorPanelProperties ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDoorPanelPositionEnum ;
        owl:onProperty :panelPosition_IfcDoorPanelProperties ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :panelDepth_IfcDoorPanelProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcShapeAspect ;
        owl:onProperty :shapeAspectStyle_IfcDoorPanelProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNormalisedRatioMeasure ;
        owl:onProperty :panelWidth_IfcDoorPanelProperties
    ] ;
    owl:disjointWith :IfcDoorLiningProperties, :IfcPermeableCoveringProperties, :IfcReinforcementDefinitionProperties, :IfcWindowLiningProperties, :IfcWindowPanelProperties .

:IfcDoorStandardCase
    a owl:Class ;
    rdfs:subClassOf :IfcDoor .

:IfcDoorStyle
    a owl:Class ;
    rdfs:subClassOf :IfcTypeProduct, [
        a owl:Restriction ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :sizeable_IfcDoorStyle ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDoorStyleOperationEnum ;
        owl:onProperty :operationType_IfcDoorStyle
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :parameterTakesPrecedence_IfcDoorStyle
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDoorStyleConstructionEnum ;
        owl:onProperty :constructionType_IfcDoorStyle ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDoorStyleConstructionEnum ;
        owl:onProperty :constructionType_IfcDoorStyle
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDoorStyleOperationEnum ;
        owl:onProperty :operationType_IfcDoorStyle ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :sizeable_IfcDoorStyle
    ], [
        a owl:Restriction ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :parameterTakesPrecedence_IfcDoorStyle ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcElementType, :IfcSpatialElementType, :IfcWindowStyle .

:IfcDoorStyleConstructionEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcDoorStyleOperationEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcDoorType
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElementType, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :parameterTakesPrecedence_IfcDoorType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDoorTypeOperationEnum ;
        owl:onProperty :operationType_IfcDoorType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :parameterTakesPrecedence_IfcDoorType
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :userDefinedOperationType_IfcDoorType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :userDefinedOperationType_IfcDoorType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDoorTypeEnum ;
        owl:onProperty :predefinedType_IfcDoorType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDoorTypeEnum ;
        owl:onProperty :predefinedType_IfcDoorType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDoorTypeOperationEnum ;
        owl:onProperty :operationType_IfcDoorType
    ] ;
    owl:disjointWith :IfcBeamType, :IfcBuildingElementProxyType, :IfcChimneyType, :IfcColumnType, :IfcCoveringType, :IfcCurtainWallType, :IfcFootingType, :IfcMemberType, :IfcPileType, :IfcPlateType, :IfcRailingType, :IfcRampFlightType, :IfcRampType, :IfcRoofType, :IfcShadingDeviceType, :IfcSlabType, :IfcStairFlightType, :IfcStairType, :IfcWallType, :IfcWindowType .

:IfcDoorTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcDoorTypeOperationEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcDoseEquivalentMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcDraughtingPreDefinedColour
    a owl:Class ;
    rdfs:subClassOf :IfcPreDefinedColour .

:IfcDraughtingPreDefinedCurveFont
    a owl:Class ;
    rdfs:subClassOf :IfcPreDefinedCurveFont .

:IfcDuctFitting
    a owl:Class ;
    rdfs:subClassOf :IfcFlowFitting, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDuctFittingTypeEnum ;
        owl:onProperty :predefinedType_IfcDuctFitting
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDuctFittingTypeEnum ;
        owl:onProperty :predefinedType_IfcDuctFitting
    ] ;
    owl:disjointWith :IfcCableCarrierFitting, :IfcCableFitting, :IfcJunctionBox, :IfcPipeFitting .

:IfcDuctFittingType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowFittingType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDuctFittingTypeEnum ;
        owl:onProperty :predefinedType_IfcDuctFittingType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDuctFittingTypeEnum ;
        owl:onProperty :predefinedType_IfcDuctFittingType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcCableCarrierFittingType, :IfcCableFittingType, :IfcJunctionBoxType, :IfcPipeFittingType .

:IfcDuctFittingTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcDuctSegment
    a owl:Class ;
    rdfs:subClassOf :IfcFlowSegment, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDuctSegmentTypeEnum ;
        owl:onProperty :predefinedType_IfcDuctSegment
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDuctSegmentTypeEnum ;
        owl:onProperty :predefinedType_IfcDuctSegment
    ] ;
    owl:disjointWith :IfcCableCarrierSegment, :IfcCableSegment, :IfcPipeSegment .

:IfcDuctSegmentType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowSegmentType, [
        a owl:Restriction ;
        owl:onClass :IfcDuctSegmentTypeEnum ;
        owl:onProperty :predefinedType_IfcDuctSegmentType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDuctSegmentTypeEnum ;
        owl:onProperty :predefinedType_IfcDuctSegmentType
    ] ;
    owl:disjointWith :IfcCableCarrierSegmentType, :IfcCableSegmentType, :IfcPipeSegmentType .

:IfcDuctSegmentTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcDuctSilencer
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTreatmentDevice, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDuctSilencerTypeEnum ;
        owl:onProperty :predefinedType_IfcDuctSilencer
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDuctSilencerTypeEnum ;
        owl:onProperty :predefinedType_IfcDuctSilencer
    ] ;
    owl:disjointWith :IfcFilter, :IfcInterceptor .

:IfcDuctSilencerType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTreatmentDeviceType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDuctSilencerTypeEnum ;
        owl:onProperty :predefinedType_IfcDuctSilencerType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDuctSilencerTypeEnum ;
        owl:onProperty :predefinedType_IfcDuctSilencerType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcFilterType, :IfcInterceptorType .

:IfcDuctSilencerTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcDuration
    a owl:Class ;
    rdfs:subClassOf expr:STRING, :IfcSimpleValue, :IfcTimeOrRatioSelect .

:IfcDynamicViscosityMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcEdge
    a owl:Class ;
    rdfs:subClassOf :IfcTopologicalRepresentationItem, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcVertex ;
        owl:onProperty :edgeStart_IfcEdge
    ], [
        a owl:Restriction ;
        owl:onClass :IfcVertex ;
        owl:onProperty :edgeEnd_IfcEdge ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcVertex ;
        owl:onProperty :edgeStart_IfcEdge ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcVertex ;
        owl:onProperty :edgeEnd_IfcEdge
    ] ;
    owl:disjointWith :IfcConnectedFaceSet, :IfcFace, :IfcFaceBound, :IfcLoop, :IfcPath, :IfcVertex .

:IfcEdgeCurve
    a owl:Class ;
    rdfs:subClassOf :IfcCurveOrEdgeCurve, :IfcEdge, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurve ;
        owl:onProperty :edgeGeometry_IfcEdgeCurve
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCurve ;
        owl:onProperty :edgeGeometry_IfcEdgeCurve ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :sameSense_IfcEdgeCurve ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :sameSense_IfcEdgeCurve
    ] ;
    owl:disjointWith :IfcOrientedEdge, :IfcSubedge .

:IfcEdgeLoop
    a owl:Class ;
    rdfs:subClassOf :IfcLoop, [
        a owl:Restriction ;
        owl:onClass :IfcOrientedEdge_List ;
        owl:onProperty :edgeList_IfcEdgeLoop ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcOrientedEdge_List
        ] ;
        owl:onProperty :edgeList_IfcEdgeLoop
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcOrientedEdge_List ;
        owl:onProperty :edgeList_IfcEdgeLoop
    ] ;
    owl:disjointWith :IfcPolyLoop, :IfcVertexLoop .

:IfcElectricAppliance
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminal, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElectricApplianceTypeEnum ;
        owl:onProperty :predefinedType_IfcElectricAppliance
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcElectricApplianceTypeEnum ;
        owl:onProperty :predefinedType_IfcElectricAppliance
    ] ;
    owl:disjointWith :IfcAirTerminal, :IfcAudioVisualAppliance, :IfcCommunicationsAppliance, :IfcFireSuppressionTerminal, :IfcLamp, :IfcLightFixture, :IfcMedicalDevice, :IfcOutlet, :IfcSanitaryTerminal, :IfcSpaceHeater, :IfcStackTerminal, :IfcWasteTerminal .

:IfcElectricApplianceType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminalType, [
        a owl:Restriction ;
        owl:onClass :IfcElectricApplianceTypeEnum ;
        owl:onProperty :predefinedType_IfcElectricApplianceType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElectricApplianceTypeEnum ;
        owl:onProperty :predefinedType_IfcElectricApplianceType
    ] ;
    owl:disjointWith :IfcAirTerminalType, :IfcAudioVisualApplianceType, :IfcCommunicationsApplianceType, :IfcFireSuppressionTerminalType, :IfcLampType, :IfcLightFixtureType, :IfcMedicalDeviceType, :IfcOutletType, :IfcSanitaryTerminalType, :IfcSpaceHeaterType, :IfcStackTerminalType, :IfcWasteTerminalType .

:IfcElectricApplianceTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcElectricCapacitanceMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcElectricChargeMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcElectricConductanceMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcElectricCurrentMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcMeasureValue .

:IfcElectricDistributionBoard
    a owl:Class ;
    rdfs:subClassOf :IfcFlowController, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElectricDistributionBoardTypeEnum ;
        owl:onProperty :predefinedType_IfcElectricDistributionBoard
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcElectricDistributionBoardTypeEnum ;
        owl:onProperty :predefinedType_IfcElectricDistributionBoard
    ] ;
    owl:disjointWith :IfcAirTerminalBox, :IfcDamper, :IfcElectricTimeControl, :IfcFlowMeter, :IfcProtectiveDevice, :IfcSwitchingDevice, :IfcValve .

:IfcElectricDistributionBoardType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowControllerType, [
        a owl:Restriction ;
        owl:onClass :IfcElectricDistributionBoardTypeEnum ;
        owl:onProperty :predefinedType_IfcElectricDistributionBoardType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElectricDistributionBoardTypeEnum ;
        owl:onProperty :predefinedType_IfcElectricDistributionBoardType
    ] ;
    owl:disjointWith :IfcAirTerminalBoxType, :IfcDamperType, :IfcElectricTimeControlType, :IfcFlowMeterType, :IfcProtectiveDeviceType, :IfcSwitchingDeviceType, :IfcValveType .

:IfcElectricDistributionBoardTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcElectricFlowStorageDevice
    a owl:Class ;
    rdfs:subClassOf :IfcFlowStorageDevice, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElectricFlowStorageDeviceTypeEnum ;
        owl:onProperty :predefinedType_IfcElectricFlowStorageDevice
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcElectricFlowStorageDeviceTypeEnum ;
        owl:onProperty :predefinedType_IfcElectricFlowStorageDevice
    ] ;
    owl:disjointWith :IfcTank .

:IfcElectricFlowStorageDeviceType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowStorageDeviceType, [
        a owl:Restriction ;
        owl:onClass :IfcElectricFlowStorageDeviceTypeEnum ;
        owl:onProperty :predefinedType_IfcElectricFlowStorageDeviceType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElectricFlowStorageDeviceTypeEnum ;
        owl:onProperty :predefinedType_IfcElectricFlowStorageDeviceType
    ] ;
    owl:disjointWith :IfcTankType .

:IfcElectricFlowStorageDeviceTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcElectricGenerator
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDevice, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcElectricGeneratorTypeEnum ;
        owl:onProperty :predefinedType_IfcElectricGenerator
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElectricGeneratorTypeEnum ;
        owl:onProperty :predefinedType_IfcElectricGenerator
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecovery, :IfcBoiler, :IfcBurner, :IfcChiller, :IfcCoil, :IfcCondenser, :IfcCooledBeam, :IfcCoolingTower, :IfcElectricMotor, :IfcEngine, :IfcEvaporativeCooler, :IfcEvaporator, :IfcHeatExchanger, :IfcHumidifier, :IfcMotorConnection, :IfcSolarDevice, :IfcTransformer, :IfcTubeBundle, :IfcUnitaryEquipment .

:IfcElectricGeneratorType
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDeviceType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElectricGeneratorTypeEnum ;
        owl:onProperty :predefinedType_IfcElectricGeneratorType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcElectricGeneratorTypeEnum ;
        owl:onProperty :predefinedType_IfcElectricGeneratorType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecoveryType, :IfcBoilerType, :IfcBurnerType, :IfcChillerType, :IfcCoilType, :IfcCondenserType, :IfcCooledBeamType, :IfcCoolingTowerType, :IfcElectricMotorType, :IfcEngineType, :IfcEvaporativeCoolerType, :IfcEvaporatorType, :IfcHeatExchangerType, :IfcHumidifierType, :IfcMotorConnectionType, :IfcSolarDeviceType, :IfcTransformerType, :IfcTubeBundleType, :IfcUnitaryEquipmentType .

:IfcElectricGeneratorTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcElectricMotor
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDevice, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcElectricMotorTypeEnum ;
        owl:onProperty :predefinedType_IfcElectricMotor
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElectricMotorTypeEnum ;
        owl:onProperty :predefinedType_IfcElectricMotor
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecovery, :IfcBoiler, :IfcBurner, :IfcChiller, :IfcCoil, :IfcCondenser, :IfcCooledBeam, :IfcCoolingTower, :IfcElectricGenerator, :IfcEngine, :IfcEvaporativeCooler, :IfcEvaporator, :IfcHeatExchanger, :IfcHumidifier, :IfcMotorConnection, :IfcSolarDevice, :IfcTransformer, :IfcTubeBundle, :IfcUnitaryEquipment .

:IfcElectricMotorType
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDeviceType, [
        a owl:Restriction ;
        owl:onClass :IfcElectricMotorTypeEnum ;
        owl:onProperty :predefinedType_IfcElectricMotorType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElectricMotorTypeEnum ;
        owl:onProperty :predefinedType_IfcElectricMotorType
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecoveryType, :IfcBoilerType, :IfcBurnerType, :IfcChillerType, :IfcCoilType, :IfcCondenserType, :IfcCooledBeamType, :IfcCoolingTowerType, :IfcElectricGeneratorType, :IfcEngineType, :IfcEvaporativeCoolerType, :IfcEvaporatorType, :IfcHeatExchangerType, :IfcHumidifierType, :IfcMotorConnectionType, :IfcSolarDeviceType, :IfcTransformerType, :IfcTubeBundleType, :IfcUnitaryEquipmentType .

:IfcElectricMotorTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcElectricResistanceMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcElectricTimeControl
    a owl:Class ;
    rdfs:subClassOf :IfcFlowController, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcElectricTimeControlTypeEnum ;
        owl:onProperty :predefinedType_IfcElectricTimeControl
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElectricTimeControlTypeEnum ;
        owl:onProperty :predefinedType_IfcElectricTimeControl
    ] ;
    owl:disjointWith :IfcAirTerminalBox, :IfcDamper, :IfcElectricDistributionBoard, :IfcFlowMeter, :IfcProtectiveDevice, :IfcSwitchingDevice, :IfcValve .

:IfcElectricTimeControlType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowControllerType, [
        a owl:Restriction ;
        owl:onClass :IfcElectricTimeControlTypeEnum ;
        owl:onProperty :predefinedType_IfcElectricTimeControlType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElectricTimeControlTypeEnum ;
        owl:onProperty :predefinedType_IfcElectricTimeControlType
    ] ;
    owl:disjointWith :IfcAirTerminalBoxType, :IfcDamperType, :IfcElectricDistributionBoardType, :IfcFlowMeterType, :IfcProtectiveDeviceType, :IfcSwitchingDeviceType, :IfcValveType .

:IfcElectricTimeControlTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcElectricVoltageMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcElement
    a owl:Class ;
    rdfs:subClassOf :IfcProduct, :IfcStructuralActivityAssignmentSelect, [
        a owl:Class ;
        owl:unionOf (:IfcDistributionElement
            :IfcCivilElement
            :IfcBuildingElement
            :IfcElementAssembly
            :IfcFurnishingElement
            :IfcVirtualElement
            :IfcElementComponent
            :IfcTransportElement
            :IfcGeographicElement
            :IfcFeatureElement
        )
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelCoversBldgElements ;
        owl:onProperty :hasCoverings_IfcElement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelConnectsElements ;
        owl:onProperty :connectedFrom_IfcElement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelReferencedInSpatialStructure ;
        owl:onProperty :referencedInStructures_IfcElement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelFillsElement ;
        owl:onProperty :fillsVoids_IfcElement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelConnectsWithRealizingElements ;
        owl:onProperty :isConnectionRealization_IfcElement
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :tag_IfcElement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelVoidsElement ;
        owl:onProperty :hasOpenings_IfcElement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :tag_IfcElement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelSpaceBoundary ;
        owl:onProperty :providesBoundaries_IfcElement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelInterferesElements ;
        owl:onProperty :interferesElements_IfcElement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelProjectsElement ;
        owl:onProperty :hasProjections_IfcElement
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRelFillsElement ;
        owl:onProperty :fillsVoids_IfcElement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelConnectsElements ;
        owl:onProperty :connectedTo_IfcElement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelInterferesElements ;
        owl:onProperty :isInterferedByElements_IfcElement
    ] ;
    owl:disjointWith :IfcAnnotation, :IfcGrid, :IfcPort, :IfcProxy, :IfcSpatialElement, :IfcStructuralActivity, :IfcStructuralItem .

:IfcElementAssembly
    a owl:Class ;
    rdfs:subClassOf :IfcElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElementAssemblyTypeEnum ;
        owl:onProperty :predefinedType_IfcElementAssembly
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcElementAssemblyTypeEnum ;
        owl:onProperty :predefinedType_IfcElementAssembly
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAssemblyPlaceEnum ;
        owl:onProperty :assemblyPlace_IfcElementAssembly
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAssemblyPlaceEnum ;
        owl:onProperty :assemblyPlace_IfcElementAssembly
    ] ;
    owl:disjointWith :IfcBuildingElement, :IfcCivilElement, :IfcDistributionElement, :IfcElementComponent, :IfcFeatureElement, :IfcFurnishingElement, :IfcGeographicElement, :IfcTransportElement, :IfcVirtualElement .

:IfcElementAssemblyType
    a owl:Class ;
    rdfs:subClassOf :IfcElementType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElementAssemblyTypeEnum ;
        owl:onProperty :predefinedType_IfcElementAssemblyType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcElementAssemblyTypeEnum ;
        owl:onProperty :predefinedType_IfcElementAssemblyType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcBuildingElementType, :IfcCivilElementType, :IfcDistributionElementType, :IfcElementComponentType, :IfcFurnishingElementType, :IfcGeographicElementType, :IfcTransportElementType .

:IfcElementAssemblyTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcElementComponent
    a owl:Class ;
    rdfs:subClassOf :IfcElement, [
        a owl:Class ;
        owl:unionOf (:IfcMechanicalFastener
            :IfcFastener
            :IfcDiscreteAccessory
            :IfcReinforcingElement
            :IfcBuildingElementPart
            :IfcVibrationIsolator
        )
    ] ;
    owl:disjointWith :IfcBuildingElement, :IfcCivilElement, :IfcDistributionElement, :IfcElementAssembly, :IfcFeatureElement, :IfcFurnishingElement, :IfcGeographicElement, :IfcTransportElement, :IfcVirtualElement .

:IfcElementComponentType
    a owl:Class ;
    rdfs:subClassOf :IfcElementType, [
        a owl:Class ;
        owl:unionOf (:IfcVibrationIsolatorType
            :IfcDiscreteAccessoryType
            :IfcBuildingElementPartType
            :IfcFastenerType
            :IfcReinforcingElementType
            :IfcMechanicalFastenerType
        )
    ] ;
    owl:disjointWith :IfcBuildingElementType, :IfcCivilElementType, :IfcDistributionElementType, :IfcElementAssemblyType, :IfcFurnishingElementType, :IfcGeographicElementType, :IfcTransportElementType .

:IfcElementCompositionEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcElementQuantity
    a owl:Class ;
    rdfs:subClassOf :IfcQuantitySet, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :methodOfMeasurement_IfcElementQuantity
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPhysicalQuantity ;
        owl:onProperty :quantities_IfcElementQuantity
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPhysicalQuantity ;
        owl:onProperty :quantities_IfcElementQuantity
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :methodOfMeasurement_IfcElementQuantity
    ] .

:IfcElementType
    a owl:Class ;
    rdfs:subClassOf :IfcTypeProduct, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :elementType_IfcElementType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :elementType_IfcElementType
    ], [
        a owl:Class ;
        owl:unionOf (:IfcDistributionElementType
            :IfcElementComponentType
            :IfcCivilElementType
            :IfcBuildingElementType
            :IfcGeographicElementType
            :IfcTransportElementType
            :IfcFurnishingElementType
            :IfcElementAssemblyType
        )
    ] ;
    owl:disjointWith :IfcDoorStyle, :IfcSpatialElementType, :IfcWindowStyle .

:IfcElementarySurface
    a owl:Class ;
    rdfs:subClassOf :IfcSurface, [
        a owl:Restriction ;
        owl:onClass :IfcAxis2Placement3D ;
        owl:onProperty :position_IfcElementarySurface ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Class ;
        owl:unionOf (:IfcPlane
            :IfcCylindricalSurface
        )
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAxis2Placement3D ;
        owl:onProperty :position_IfcElementarySurface
    ] ;
    owl:disjointWith :IfcBoundedSurface, :IfcSweptSurface .

:IfcEllipse
    a owl:Class ;
    rdfs:subClassOf :IfcConic, [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :semiAxis2_IfcEllipse ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :semiAxis2_IfcEllipse
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :semiAxis1_IfcEllipse
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :semiAxis1_IfcEllipse ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcCircle .

:IfcEllipseProfileDef
    a owl:Class ;
    rdfs:subClassOf :IfcParameterizedProfileDef, [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :semiAxis1_IfcEllipseProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :semiAxis2_IfcEllipseProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :semiAxis1_IfcEllipseProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :semiAxis2_IfcEllipseProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAsymmetricIShapeProfileDef, :IfcCShapeProfileDef, :IfcCircleProfileDef, :IfcIShapeProfileDef, :IfcLShapeProfileDef, :IfcRectangleProfileDef, :IfcTShapeProfileDef, :IfcTrapeziumProfileDef, :IfcUShapeProfileDef, :IfcZShapeProfileDef .

:IfcEnergyConversionDevice
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionFlowElement ;
    owl:disjointWith :IfcDistributionChamberElement, :IfcFlowController, :IfcFlowFitting, :IfcFlowMovingDevice, :IfcFlowSegment, :IfcFlowStorageDevice, :IfcFlowTerminal, :IfcFlowTreatmentDevice .

:IfcEnergyConversionDeviceType
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionFlowElementType, [
        a owl:Class ;
        owl:unionOf (:IfcTransformerType
            :IfcChillerType
            :IfcElectricGeneratorType
            :IfcHumidifierType
            :IfcMotorConnectionType
            :IfcEngineType
            :IfcEvaporatorType
            :IfcAirToAirHeatRecoveryType
            :IfcBurnerType
            :IfcBoilerType
            :IfcHeatExchangerType
            :IfcUnitaryEquipmentType
            :IfcCoolingTowerType
            :IfcEvaporativeCoolerType
            :IfcSolarDeviceType
            :IfcElectricMotorType
            :IfcTubeBundleType
            :IfcCooledBeamType
            :IfcCoilType
            :IfcCondenserType
        )
    ] ;
    owl:disjointWith :IfcDistributionChamberElementType, :IfcFlowControllerType, :IfcFlowFittingType, :IfcFlowMovingDeviceType, :IfcFlowSegmentType, :IfcFlowStorageDeviceType, :IfcFlowTerminalType, :IfcFlowTreatmentDeviceType .

:IfcEnergyMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcEngine
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDevice, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcEngineTypeEnum ;
        owl:onProperty :predefinedType_IfcEngine
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcEngineTypeEnum ;
        owl:onProperty :predefinedType_IfcEngine
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecovery, :IfcBoiler, :IfcBurner, :IfcChiller, :IfcCoil, :IfcCondenser, :IfcCooledBeam, :IfcCoolingTower, :IfcElectricGenerator, :IfcElectricMotor, :IfcEvaporativeCooler, :IfcEvaporator, :IfcHeatExchanger, :IfcHumidifier, :IfcMotorConnection, :IfcSolarDevice, :IfcTransformer, :IfcTubeBundle, :IfcUnitaryEquipment .

:IfcEngineType
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDeviceType, [
        a owl:Restriction ;
        owl:onClass :IfcEngineTypeEnum ;
        owl:onProperty :predefinedType_IfcEngineType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcEngineTypeEnum ;
        owl:onProperty :predefinedType_IfcEngineType
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecoveryType, :IfcBoilerType, :IfcBurnerType, :IfcChillerType, :IfcCoilType, :IfcCondenserType, :IfcCooledBeamType, :IfcCoolingTowerType, :IfcElectricGeneratorType, :IfcElectricMotorType, :IfcEvaporativeCoolerType, :IfcEvaporatorType, :IfcHeatExchangerType, :IfcHumidifierType, :IfcMotorConnectionType, :IfcSolarDeviceType, :IfcTransformerType, :IfcTubeBundleType, :IfcUnitaryEquipmentType .

:IfcEngineTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcEvaporativeCooler
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDevice, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcEvaporativeCoolerTypeEnum ;
        owl:onProperty :predefinedType_IfcEvaporativeCooler
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcEvaporativeCoolerTypeEnum ;
        owl:onProperty :predefinedType_IfcEvaporativeCooler
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecovery, :IfcBoiler, :IfcBurner, :IfcChiller, :IfcCoil, :IfcCondenser, :IfcCooledBeam, :IfcCoolingTower, :IfcElectricGenerator, :IfcElectricMotor, :IfcEngine, :IfcEvaporator, :IfcHeatExchanger, :IfcHumidifier, :IfcMotorConnection, :IfcSolarDevice, :IfcTransformer, :IfcTubeBundle, :IfcUnitaryEquipment .

:IfcEvaporativeCoolerType
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDeviceType, [
        a owl:Restriction ;
        owl:onClass :IfcEvaporativeCoolerTypeEnum ;
        owl:onProperty :predefinedType_IfcEvaporativeCoolerType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcEvaporativeCoolerTypeEnum ;
        owl:onProperty :predefinedType_IfcEvaporativeCoolerType
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecoveryType, :IfcBoilerType, :IfcBurnerType, :IfcChillerType, :IfcCoilType, :IfcCondenserType, :IfcCooledBeamType, :IfcCoolingTowerType, :IfcElectricGeneratorType, :IfcElectricMotorType, :IfcEngineType, :IfcEvaporatorType, :IfcHeatExchangerType, :IfcHumidifierType, :IfcMotorConnectionType, :IfcSolarDeviceType, :IfcTransformerType, :IfcTubeBundleType, :IfcUnitaryEquipmentType .

:IfcEvaporativeCoolerTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcEvaporator
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDevice, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcEvaporatorTypeEnum ;
        owl:onProperty :predefinedType_IfcEvaporator
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcEvaporatorTypeEnum ;
        owl:onProperty :predefinedType_IfcEvaporator
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecovery, :IfcBoiler, :IfcBurner, :IfcChiller, :IfcCoil, :IfcCondenser, :IfcCooledBeam, :IfcCoolingTower, :IfcElectricGenerator, :IfcElectricMotor, :IfcEngine, :IfcEvaporativeCooler, :IfcHeatExchanger, :IfcHumidifier, :IfcMotorConnection, :IfcSolarDevice, :IfcTransformer, :IfcTubeBundle, :IfcUnitaryEquipment .

:IfcEvaporatorType
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDeviceType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcEvaporatorTypeEnum ;
        owl:onProperty :predefinedType_IfcEvaporatorType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcEvaporatorTypeEnum ;
        owl:onProperty :predefinedType_IfcEvaporatorType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecoveryType, :IfcBoilerType, :IfcBurnerType, :IfcChillerType, :IfcCoilType, :IfcCondenserType, :IfcCooledBeamType, :IfcCoolingTowerType, :IfcElectricGeneratorType, :IfcElectricMotorType, :IfcEngineType, :IfcEvaporativeCoolerType, :IfcHeatExchangerType, :IfcHumidifierType, :IfcMotorConnectionType, :IfcSolarDeviceType, :IfcTransformerType, :IfcTubeBundleType, :IfcUnitaryEquipmentType .

:IfcEvaporatorTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcEvent
    a owl:Class ;
    rdfs:subClassOf :IfcProcess, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcEventTime ;
        owl:onProperty :eventOccurenceTime_IfcEvent
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcEventTypeEnum ;
        owl:onProperty :predefinedType_IfcEvent
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcEventTriggerTypeEnum ;
        owl:onProperty :eventTriggerType_IfcEvent
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcEventTime ;
        owl:onProperty :eventOccurenceTime_IfcEvent
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcEventTriggerTypeEnum ;
        owl:onProperty :eventTriggerType_IfcEvent
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcEventTypeEnum ;
        owl:onProperty :predefinedType_IfcEvent
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :userDefinedEventTriggerType_IfcEvent
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :userDefinedEventTriggerType_IfcEvent
    ] ;
    owl:disjointWith :IfcProcedure, :IfcTask .

:IfcEventTime
    a owl:Class ;
    rdfs:subClassOf :IfcSchedulingTime, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :lateDate_IfcEventTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :actualDate_IfcEventTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :earlyDate_IfcEventTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :scheduleDate_IfcEventTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :earlyDate_IfcEventTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :scheduleDate_IfcEventTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :actualDate_IfcEventTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :lateDate_IfcEventTime
    ] ;
    owl:disjointWith :IfcLagTime, :IfcResourceTime, :IfcTaskTime, :IfcWorkTime .

:IfcEventTriggerTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcEventType
    a owl:Class ;
    rdfs:subClassOf :IfcTypeProcess, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :userDefinedEventTriggerType_IfcEventType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcEventTypeEnum ;
        owl:onProperty :predefinedType_IfcEventType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :userDefinedEventTriggerType_IfcEventType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcEventTypeEnum ;
        owl:onProperty :predefinedType_IfcEventType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcEventTriggerTypeEnum ;
        owl:onProperty :eventTriggerType_IfcEventType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcEventTriggerTypeEnum ;
        owl:onProperty :eventTriggerType_IfcEventType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcProcedureType, :IfcTaskType .

:IfcEventTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcExtendedProperties
    a owl:Class ;
    rdfs:subClassOf :IfcPropertyAbstraction, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcExtendedProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :name_IfcExtendedProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcExtendedProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProperty ;
        owl:onProperty :properties_IfcExtendedProperties
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcProperty ;
        owl:onProperty :properties_IfcExtendedProperties
    ], [
        a owl:Class ;
        owl:unionOf (:IfcMaterialProperties
            :IfcProfileProperties
        )
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :name_IfcExtendedProperties
    ] ;
    owl:disjointWith :IfcPreDefinedProperties, :IfcProperty, :IfcPropertyEnumeration .

:IfcExternalInformation
    a owl:Class ;
    rdfs:subClassOf :IfcResourceObjectSelect, [
        a owl:Class ;
        owl:unionOf (:IfcLibraryInformation
            :IfcClassification
            :IfcDocumentInformation
        )
    ] .

:IfcExternalReference
    a owl:Class ;
    rdfs:subClassOf :IfcLightDistributionDataSourceSelect, :IfcObjectReferenceSelect, :IfcResourceObjectSelect, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :identification_IfcExternalReference
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcExternalReference
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcExternalReferenceRelationship ;
        owl:onProperty :externalReferenceForResources_IfcExternalReference
    ], [
        a owl:Class ;
        owl:unionOf (:IfcExternallyDefinedSurfaceStyle
            :IfcDocumentReference
            :IfcClassificationReference
            :IfcLibraryReference
            :IfcExternallyDefinedHatchStyle
            :IfcExternallyDefinedTextFont
        )
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :identification_IfcExternalReference
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcURIReference ;
        owl:onProperty :location_IfcExternalReference
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcExternalReference
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcURIReference ;
        owl:onProperty :location_IfcExternalReference
    ] .

:IfcExternalReferenceRelationship
    a owl:Class ;
    rdfs:subClassOf :IfcResourceLevelRelationship, [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcResourceObjectSelect ;
        owl:onProperty :relatedResourceObjects_IfcExternalReferenceRelationship
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcResourceObjectSelect ;
        owl:onProperty :relatedResourceObjects_IfcExternalReferenceRelationship
    ], [
        a owl:Restriction ;
        owl:onClass :IfcExternalReference ;
        owl:onProperty :relatingReference_IfcExternalReferenceRelationship ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcExternalReference ;
        owl:onProperty :relatingReference_IfcExternalReferenceRelationship
    ] ;
    owl:disjointWith :IfcApprovalRelationship, :IfcCurrencyRelationship, :IfcDocumentInformationRelationship, :IfcMaterialRelationship, :IfcOrganizationRelationship, :IfcPropertyDependencyRelationship, :IfcResourceApprovalRelationship, :IfcResourceConstraintRelationship .

:IfcExternalSpatialElement
    a owl:Class ;
    rdfs:subClassOf :IfcExternalSpatialStructureElement, :IfcSpaceBoundarySelect, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcExternalSpatialElementTypeEnum ;
        owl:onProperty :predefinedType_IfcExternalSpatialElement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcExternalSpatialElementTypeEnum ;
        owl:onProperty :predefinedType_IfcExternalSpatialElement
    ] .

:IfcExternalSpatialElementTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcExternalSpatialStructureElement
    a owl:Class ;
    rdfs:subClassOf :IfcSpatialElement, [
        a owl:Class ;
        owl:unionOf (:IfcExternalSpatialElement
        )
    ] ;
    owl:disjointWith :IfcSpatialStructureElement, :IfcSpatialZone .

:IfcExternallyDefinedHatchStyle
    a owl:Class ;
    rdfs:subClassOf :IfcExternalReference, :IfcFillStyleSelect ;
    owl:disjointWith :IfcClassificationReference, :IfcDocumentReference, :IfcExternallyDefinedSurfaceStyle, :IfcExternallyDefinedTextFont, :IfcLibraryReference .

:IfcExternallyDefinedSurfaceStyle
    a owl:Class ;
    rdfs:subClassOf :IfcExternalReference, :IfcSurfaceStyleElementSelect ;
    owl:disjointWith :IfcClassificationReference, :IfcDocumentReference, :IfcExternallyDefinedHatchStyle, :IfcExternallyDefinedTextFont, :IfcLibraryReference .

:IfcExternallyDefinedTextFont
    a owl:Class ;
    rdfs:subClassOf :IfcExternalReference, :IfcTextFontSelect ;
    owl:disjointWith :IfcClassificationReference, :IfcDocumentReference, :IfcExternallyDefinedHatchStyle, :IfcExternallyDefinedSurfaceStyle, :IfcLibraryReference .

:IfcExtrudedAreaSolid
    a owl:Class ;
    rdfs:subClassOf :IfcSweptAreaSolid, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :depth_IfcExtrudedAreaSolid
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDirection ;
        owl:onProperty :extrudedDirection_IfcExtrudedAreaSolid ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDirection ;
        owl:onProperty :extrudedDirection_IfcExtrudedAreaSolid
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :depth_IfcExtrudedAreaSolid ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcFixedReferenceSweptAreaSolid, :IfcRevolvedAreaSolid, :IfcSurfaceCurveSweptAreaSolid .

:IfcExtrudedAreaSolidTapered
    a owl:Class ;
    rdfs:subClassOf :IfcExtrudedAreaSolid, [
        a owl:Restriction ;
        owl:onClass :IfcProfileDef ;
        owl:onProperty :endSweptArea_IfcExtrudedAreaSolidTapered ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProfileDef ;
        owl:onProperty :endSweptArea_IfcExtrudedAreaSolidTapered
    ] .

:IfcFace
    a owl:Class ;
    rdfs:subClassOf :IfcTopologicalRepresentationItem, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFaceBound ;
        owl:onProperty :bounds_IfcFace
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTextureMap ;
        owl:onProperty :hasTextureMaps_IfcFace
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcFaceBound ;
        owl:onProperty :bounds_IfcFace
    ] ;
    owl:disjointWith :IfcConnectedFaceSet, :IfcEdge, :IfcFaceBound, :IfcLoop, :IfcPath, :IfcVertex .

:IfcFaceBasedSurfaceModel
    a owl:Class ;
    rdfs:subClassOf :IfcGeometricRepresentationItem, :IfcSurfaceOrFaceSurface, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcConnectedFaceSet ;
        owl:onProperty :fbsmFaces_IfcFaceBasedSurfaceModel
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcConnectedFaceSet ;
        owl:onProperty :fbsmFaces_IfcFaceBasedSurfaceModel
    ] ;
    owl:disjointWith :IfcAnnotationFillArea, :IfcBooleanResult, :IfcBoundingBox, :IfcCartesianPointList, :IfcCartesianTransformationOperator, :IfcCompositeCurveSegment, :IfcCsgPrimitive3D, :IfcCurve, :IfcDirection, :IfcFillAreaStyleHatching, :IfcFillAreaStyleTiles, :IfcGeometricSet, :IfcHalfSpaceSolid, :IfcLightSource, :IfcPlacement, :IfcPlanarExtent, :IfcPoint, :IfcSectionedSpine, :IfcShellBasedSurfaceModel, :IfcSolidModel, :IfcSurface, :IfcTessellatedItem, :IfcTextLiteral, :IfcVector .

:IfcFaceBound
    a owl:Class ;
    rdfs:subClassOf :IfcTopologicalRepresentationItem, [
        a owl:Restriction ;
        owl:onClass :IfcLoop ;
        owl:onProperty :bound_IfcFaceBound ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :orientation_IfcFaceBound
    ], [
        a owl:Restriction ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :orientation_IfcFaceBound ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLoop ;
        owl:onProperty :bound_IfcFaceBound
    ] ;
    owl:disjointWith :IfcConnectedFaceSet, :IfcEdge, :IfcFace, :IfcLoop, :IfcPath, :IfcVertex .

:IfcFaceOuterBound
    a owl:Class ;
    rdfs:subClassOf :IfcFaceBound .

:IfcFaceSurface
    a owl:Class ;
    rdfs:subClassOf :IfcFace, :IfcSurfaceOrFaceSurface, [
        a owl:Restriction ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :sameSense_IfcFaceSurface ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :sameSense_IfcFaceSurface
    ], [
        a owl:Restriction ;
        owl:onClass :IfcSurface ;
        owl:onProperty :faceSurface_IfcFaceSurface ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSurface ;
        owl:onProperty :faceSurface_IfcFaceSurface
    ] .

:IfcFacetedBrep
    a owl:Class ;
    rdfs:subClassOf :IfcManifoldSolidBrep ;
    owl:disjointWith :IfcAdvancedBrep .

:IfcFacetedBrepWithVoids
    a owl:Class ;
    rdfs:subClassOf :IfcFacetedBrep, [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcClosedShell ;
        owl:onProperty :voids_IfcFacetedBrepWithVoids
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcClosedShell ;
        owl:onProperty :voids_IfcFacetedBrepWithVoids
    ] .

:IfcFailureConnectionCondition
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralConnectionCondition, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcForceMeasure ;
        owl:onProperty :compressionFailureX_IfcFailureConnectionCondition
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcForceMeasure ;
        owl:onProperty :compressionFailureX_IfcFailureConnectionCondition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcForceMeasure ;
        owl:onProperty :tensionFailureX_IfcFailureConnectionCondition
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcForceMeasure ;
        owl:onProperty :tensionFailureZ_IfcFailureConnectionCondition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcForceMeasure ;
        owl:onProperty :compressionFailureZ_IfcFailureConnectionCondition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcForceMeasure ;
        owl:onProperty :compressionFailureY_IfcFailureConnectionCondition
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcForceMeasure ;
        owl:onProperty :tensionFailureX_IfcFailureConnectionCondition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcForceMeasure ;
        owl:onProperty :tensionFailureY_IfcFailureConnectionCondition
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcForceMeasure ;
        owl:onProperty :compressionFailureZ_IfcFailureConnectionCondition
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcForceMeasure ;
        owl:onProperty :tensionFailureY_IfcFailureConnectionCondition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcForceMeasure ;
        owl:onProperty :tensionFailureZ_IfcFailureConnectionCondition
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcForceMeasure ;
        owl:onProperty :compressionFailureY_IfcFailureConnectionCondition
    ] ;
    owl:disjointWith :IfcSlippageConnectionCondition .

:IfcFan
    a owl:Class ;
    rdfs:subClassOf :IfcFlowMovingDevice, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcFanTypeEnum ;
        owl:onProperty :predefinedType_IfcFan
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFanTypeEnum ;
        owl:onProperty :predefinedType_IfcFan
    ] ;
    owl:disjointWith :IfcCompressor, :IfcPump .

:IfcFanType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowMovingDeviceType, [
        a owl:Restriction ;
        owl:onClass :IfcFanTypeEnum ;
        owl:onProperty :predefinedType_IfcFanType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFanTypeEnum ;
        owl:onProperty :predefinedType_IfcFanType
    ] ;
    owl:disjointWith :IfcCompressorType, :IfcPumpType .

:IfcFanTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcFastener
    a owl:Class ;
    rdfs:subClassOf :IfcElementComponent, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFastenerTypeEnum ;
        owl:onProperty :predefinedType_IfcFastener
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcFastenerTypeEnum ;
        owl:onProperty :predefinedType_IfcFastener
    ] ;
    owl:disjointWith :IfcBuildingElementPart, :IfcDiscreteAccessory, :IfcMechanicalFastener, :IfcReinforcingElement, :IfcVibrationIsolator .

:IfcFastenerType
    a owl:Class ;
    rdfs:subClassOf :IfcElementComponentType, [
        a owl:Restriction ;
        owl:onClass :IfcFastenerTypeEnum ;
        owl:onProperty :predefinedType_IfcFastenerType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFastenerTypeEnum ;
        owl:onProperty :predefinedType_IfcFastenerType
    ] ;
    owl:disjointWith :IfcBuildingElementPartType, :IfcDiscreteAccessoryType, :IfcMechanicalFastenerType, :IfcReinforcingElementType, :IfcVibrationIsolatorType .

:IfcFastenerTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcFeatureElement
    a owl:Class ;
    rdfs:subClassOf :IfcElement, [
        a owl:Class ;
        owl:unionOf (:IfcFeatureElementAddition
            :IfcSurfaceFeature
            :IfcFeatureElementSubtraction
        )
    ] ;
    owl:disjointWith :IfcBuildingElement, :IfcCivilElement, :IfcDistributionElement, :IfcElementAssembly, :IfcElementComponent, :IfcFurnishingElement, :IfcGeographicElement, :IfcTransportElement, :IfcVirtualElement .

:IfcFeatureElementAddition
    a owl:Class ;
    rdfs:subClassOf :IfcFeatureElement, [
        a owl:Restriction ;
        owl:onClass :IfcRelProjectsElement ;
        owl:onProperty :projectsElements_IfcFeatureElementAddition ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelProjectsElement ;
        owl:onProperty :projectsElements_IfcFeatureElementAddition
    ], [
        a owl:Class ;
        owl:unionOf (:IfcProjectionElement
        )
    ] ;
    owl:disjointWith :IfcFeatureElementSubtraction, :IfcSurfaceFeature .

:IfcFeatureElementSubtraction
    a owl:Class ;
    rdfs:subClassOf :IfcFeatureElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelVoidsElement ;
        owl:onProperty :voidsElements_IfcFeatureElementSubtraction
    ], [
        a owl:Class ;
        owl:unionOf (:IfcVoidingFeature
            :IfcOpeningElement
        )
    ], [
        a owl:Restriction ;
        owl:onClass :IfcRelVoidsElement ;
        owl:onProperty :voidsElements_IfcFeatureElementSubtraction ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcFeatureElementAddition, :IfcSurfaceFeature .

:IfcFillAreaStyle
    a owl:Class ;
    rdfs:subClassOf :IfcPresentationStyle, :IfcPresentationStyleSelect, [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcFillStyleSelect ;
        owl:onProperty :fillStyles_IfcFillAreaStyle
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :modelorDraughting_IfcFillAreaStyle
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :modelorDraughting_IfcFillAreaStyle
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFillStyleSelect ;
        owl:onProperty :fillStyles_IfcFillAreaStyle
    ] ;
    owl:disjointWith :IfcCurveStyle, :IfcSurfaceStyle, :IfcTextStyle .

:IfcFillAreaStyleHatching
    a owl:Class ;
    rdfs:subClassOf :IfcFillStyleSelect, :IfcGeometricRepresentationItem, [
        a owl:Restriction ;
        owl:onClass :IfcCurveStyle ;
        owl:onProperty :hatchLineAppearance_IfcFillAreaStyleHatching ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCartesianPoint ;
        owl:onProperty :pointOfReferenceHatchLine_IfcFillAreaStyleHatching
    ], [
        a owl:Restriction ;
        owl:onClass :IfcHatchLineDistanceSelect ;
        owl:onProperty :startOfNextHatchLine_IfcFillAreaStyleHatching ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCartesianPoint ;
        owl:onProperty :patternStart_IfcFillAreaStyleHatching
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurveStyle ;
        owl:onProperty :hatchLineAppearance_IfcFillAreaStyleHatching
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCartesianPoint ;
        owl:onProperty :pointOfReferenceHatchLine_IfcFillAreaStyleHatching
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPlaneAngleMeasure ;
        owl:onProperty :hatchLineAngle_IfcFillAreaStyleHatching ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPlaneAngleMeasure ;
        owl:onProperty :hatchLineAngle_IfcFillAreaStyleHatching
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcHatchLineDistanceSelect ;
        owl:onProperty :startOfNextHatchLine_IfcFillAreaStyleHatching
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCartesianPoint ;
        owl:onProperty :patternStart_IfcFillAreaStyleHatching
    ] ;
    owl:disjointWith :IfcAnnotationFillArea, :IfcBooleanResult, :IfcBoundingBox, :IfcCartesianPointList, :IfcCartesianTransformationOperator, :IfcCompositeCurveSegment, :IfcCsgPrimitive3D, :IfcCurve, :IfcDirection, :IfcFaceBasedSurfaceModel, :IfcFillAreaStyleTiles, :IfcGeometricSet, :IfcHalfSpaceSolid, :IfcLightSource, :IfcPlacement, :IfcPlanarExtent, :IfcPoint, :IfcSectionedSpine, :IfcShellBasedSurfaceModel, :IfcSolidModel, :IfcSurface, :IfcTessellatedItem, :IfcTextLiteral, :IfcVector .

:IfcFillAreaStyleTiles
    a owl:Class ;
    rdfs:subClassOf :IfcFillStyleSelect, :IfcGeometricRepresentationItem, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveRatioMeasure ;
        owl:onProperty :tilingScale_IfcFillAreaStyleTiles
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:allValuesFrom [
                a owl:Restriction ;
                owl:onClass :IfcVector_EmptyList ;
                owl:onProperty list:hasNext ;
                owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
            ] ;
            owl:onProperty list:hasNext
        ] ;
        owl:onProperty :tilingPattern_IfcFillAreaStyleTiles
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom :IfcVector_List
            ]
        ] ;
        owl:onProperty :tilingPattern_IfcFillAreaStyleTiles
    ], [
        a owl:Restriction ;
        owl:onClass :IfcVector_List ;
        owl:onProperty :tilingPattern_IfcFillAreaStyleTiles ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcStyledItem ;
        owl:onProperty :tiles_IfcFillAreaStyleTiles
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveRatioMeasure ;
        owl:onProperty :tilingScale_IfcFillAreaStyleTiles ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcVector_List ;
        owl:onProperty :tilingPattern_IfcFillAreaStyleTiles
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStyledItem ;
        owl:onProperty :tiles_IfcFillAreaStyleTiles
    ] ;
    owl:disjointWith :IfcAnnotationFillArea, :IfcBooleanResult, :IfcBoundingBox, :IfcCartesianPointList, :IfcCartesianTransformationOperator, :IfcCompositeCurveSegment, :IfcCsgPrimitive3D, :IfcCurve, :IfcDirection, :IfcFaceBasedSurfaceModel, :IfcFillAreaStyleHatching, :IfcGeometricSet, :IfcHalfSpaceSolid, :IfcLightSource, :IfcPlacement, :IfcPlanarExtent, :IfcPoint, :IfcSectionedSpine, :IfcShellBasedSurfaceModel, :IfcSolidModel, :IfcSurface, :IfcTessellatedItem, :IfcTextLiteral, :IfcVector .

:IfcFillStyleSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcFilter
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTreatmentDevice, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcFilterTypeEnum ;
        owl:onProperty :predefinedType_IfcFilter
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFilterTypeEnum ;
        owl:onProperty :predefinedType_IfcFilter
    ] ;
    owl:disjointWith :IfcDuctSilencer, :IfcInterceptor .

:IfcFilterType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTreatmentDeviceType, [
        a owl:Restriction ;
        owl:onClass :IfcFilterTypeEnum ;
        owl:onProperty :predefinedType_IfcFilterType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFilterTypeEnum ;
        owl:onProperty :predefinedType_IfcFilterType
    ] ;
    owl:disjointWith :IfcDuctSilencerType, :IfcInterceptorType .

:IfcFilterTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcFireSuppressionTerminal
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminal, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFireSuppressionTerminalTypeEnum ;
        owl:onProperty :predefinedType_IfcFireSuppressionTerminal
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcFireSuppressionTerminalTypeEnum ;
        owl:onProperty :predefinedType_IfcFireSuppressionTerminal
    ] ;
    owl:disjointWith :IfcAirTerminal, :IfcAudioVisualAppliance, :IfcCommunicationsAppliance, :IfcElectricAppliance, :IfcLamp, :IfcLightFixture, :IfcMedicalDevice, :IfcOutlet, :IfcSanitaryTerminal, :IfcSpaceHeater, :IfcStackTerminal, :IfcWasteTerminal .

:IfcFireSuppressionTerminalType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminalType, [
        a owl:Restriction ;
        owl:onClass :IfcFireSuppressionTerminalTypeEnum ;
        owl:onProperty :predefinedType_IfcFireSuppressionTerminalType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFireSuppressionTerminalTypeEnum ;
        owl:onProperty :predefinedType_IfcFireSuppressionTerminalType
    ] ;
    owl:disjointWith :IfcAirTerminalType, :IfcAudioVisualApplianceType, :IfcCommunicationsApplianceType, :IfcElectricApplianceType, :IfcLampType, :IfcLightFixtureType, :IfcMedicalDeviceType, :IfcOutletType, :IfcSanitaryTerminalType, :IfcSpaceHeaterType, :IfcStackTerminalType, :IfcWasteTerminalType .

:IfcFireSuppressionTerminalTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcFixedReferenceSweptAreaSolid
    a owl:Class ;
    rdfs:subClassOf :IfcSweptAreaSolid, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue ;
        owl:onProperty :endParam_IfcFixedReferenceSweptAreaSolid
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcParameterValue ;
        owl:onProperty :startParam_IfcFixedReferenceSweptAreaSolid
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCurve ;
        owl:onProperty :directrix_IfcFixedReferenceSweptAreaSolid ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurve ;
        owl:onProperty :directrix_IfcFixedReferenceSweptAreaSolid
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDirection ;
        owl:onProperty :fixedReference_IfcFixedReferenceSweptAreaSolid
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcParameterValue ;
        owl:onProperty :endParam_IfcFixedReferenceSweptAreaSolid
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue ;
        owl:onProperty :startParam_IfcFixedReferenceSweptAreaSolid
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDirection ;
        owl:onProperty :fixedReference_IfcFixedReferenceSweptAreaSolid ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcExtrudedAreaSolid, :IfcRevolvedAreaSolid, :IfcSurfaceCurveSweptAreaSolid .

:IfcFlowController
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionFlowElement ;
    owl:disjointWith :IfcDistributionChamberElement, :IfcEnergyConversionDevice, :IfcFlowFitting, :IfcFlowMovingDevice, :IfcFlowSegment, :IfcFlowStorageDevice, :IfcFlowTerminal, :IfcFlowTreatmentDevice .

:IfcFlowControllerType
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionFlowElementType, [
        a owl:Class ;
        owl:unionOf (:IfcElectricDistributionBoardType
            :IfcDamperType
            :IfcValveType
            :IfcElectricTimeControlType
            :IfcFlowMeterType
            :IfcAirTerminalBoxType
            :IfcSwitchingDeviceType
            :IfcProtectiveDeviceType
        )
    ] ;
    owl:disjointWith :IfcDistributionChamberElementType, :IfcEnergyConversionDeviceType, :IfcFlowFittingType, :IfcFlowMovingDeviceType, :IfcFlowSegmentType, :IfcFlowStorageDeviceType, :IfcFlowTerminalType, :IfcFlowTreatmentDeviceType .

:IfcFlowDirectionEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcFlowFitting
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionFlowElement ;
    owl:disjointWith :IfcDistributionChamberElement, :IfcEnergyConversionDevice, :IfcFlowController, :IfcFlowMovingDevice, :IfcFlowSegment, :IfcFlowStorageDevice, :IfcFlowTerminal, :IfcFlowTreatmentDevice .

:IfcFlowFittingType
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionFlowElementType, [
        a owl:Class ;
        owl:unionOf (:IfcDuctFittingType
            :IfcPipeFittingType
            :IfcCableFittingType
            :IfcJunctionBoxType
            :IfcCableCarrierFittingType
        )
    ] ;
    owl:disjointWith :IfcDistributionChamberElementType, :IfcEnergyConversionDeviceType, :IfcFlowControllerType, :IfcFlowMovingDeviceType, :IfcFlowSegmentType, :IfcFlowStorageDeviceType, :IfcFlowTerminalType, :IfcFlowTreatmentDeviceType .

:IfcFlowInstrument
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionControlElement, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcFlowInstrumentTypeEnum ;
        owl:onProperty :predefinedType_IfcFlowInstrument
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFlowInstrumentTypeEnum ;
        owl:onProperty :predefinedType_IfcFlowInstrument
    ] ;
    owl:disjointWith :IfcActuator, :IfcAlarm, :IfcController, :IfcProtectiveDeviceTrippingUnit, :IfcSensor, :IfcUnitaryControlElement .

:IfcFlowInstrumentType
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionControlElementType, [
        a owl:Restriction ;
        owl:onClass :IfcFlowInstrumentTypeEnum ;
        owl:onProperty :predefinedType_IfcFlowInstrumentType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFlowInstrumentTypeEnum ;
        owl:onProperty :predefinedType_IfcFlowInstrumentType
    ] ;
    owl:disjointWith :IfcActuatorType, :IfcAlarmType, :IfcControllerType, :IfcProtectiveDeviceTrippingUnitType, :IfcSensorType, :IfcUnitaryControlElementType .

:IfcFlowInstrumentTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcFlowMeter
    a owl:Class ;
    rdfs:subClassOf :IfcFlowController, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcFlowMeterTypeEnum ;
        owl:onProperty :predefinedType_IfcFlowMeter
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFlowMeterTypeEnum ;
        owl:onProperty :predefinedType_IfcFlowMeter
    ] ;
    owl:disjointWith :IfcAirTerminalBox, :IfcDamper, :IfcElectricDistributionBoard, :IfcElectricTimeControl, :IfcProtectiveDevice, :IfcSwitchingDevice, :IfcValve .

:IfcFlowMeterType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowControllerType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFlowMeterTypeEnum ;
        owl:onProperty :predefinedType_IfcFlowMeterType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcFlowMeterTypeEnum ;
        owl:onProperty :predefinedType_IfcFlowMeterType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAirTerminalBoxType, :IfcDamperType, :IfcElectricDistributionBoardType, :IfcElectricTimeControlType, :IfcProtectiveDeviceType, :IfcSwitchingDeviceType, :IfcValveType .

:IfcFlowMeterTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcFlowMovingDevice
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionFlowElement ;
    owl:disjointWith :IfcDistributionChamberElement, :IfcEnergyConversionDevice, :IfcFlowController, :IfcFlowFitting, :IfcFlowSegment, :IfcFlowStorageDevice, :IfcFlowTerminal, :IfcFlowTreatmentDevice .

:IfcFlowMovingDeviceType
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionFlowElementType, [
        a owl:Class ;
        owl:unionOf (:IfcPumpType
            :IfcFanType
            :IfcCompressorType
        )
    ] ;
    owl:disjointWith :IfcDistributionChamberElementType, :IfcEnergyConversionDeviceType, :IfcFlowControllerType, :IfcFlowFittingType, :IfcFlowSegmentType, :IfcFlowStorageDeviceType, :IfcFlowTerminalType, :IfcFlowTreatmentDeviceType .

:IfcFlowSegment
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionFlowElement ;
    owl:disjointWith :IfcDistributionChamberElement, :IfcEnergyConversionDevice, :IfcFlowController, :IfcFlowFitting, :IfcFlowMovingDevice, :IfcFlowStorageDevice, :IfcFlowTerminal, :IfcFlowTreatmentDevice .

:IfcFlowSegmentType
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionFlowElementType, [
        a owl:Class ;
        owl:unionOf (:IfcCableSegmentType
            :IfcDuctSegmentType
            :IfcCableCarrierSegmentType
            :IfcPipeSegmentType
        )
    ] ;
    owl:disjointWith :IfcDistributionChamberElementType, :IfcEnergyConversionDeviceType, :IfcFlowControllerType, :IfcFlowFittingType, :IfcFlowMovingDeviceType, :IfcFlowStorageDeviceType, :IfcFlowTerminalType, :IfcFlowTreatmentDeviceType .

:IfcFlowStorageDevice
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionFlowElement ;
    owl:disjointWith :IfcDistributionChamberElement, :IfcEnergyConversionDevice, :IfcFlowController, :IfcFlowFitting, :IfcFlowMovingDevice, :IfcFlowSegment, :IfcFlowTerminal, :IfcFlowTreatmentDevice .

:IfcFlowStorageDeviceType
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionFlowElementType, [
        a owl:Class ;
        owl:unionOf (:IfcTankType
            :IfcElectricFlowStorageDeviceType
        )
    ] ;
    owl:disjointWith :IfcDistributionChamberElementType, :IfcEnergyConversionDeviceType, :IfcFlowControllerType, :IfcFlowFittingType, :IfcFlowMovingDeviceType, :IfcFlowSegmentType, :IfcFlowTerminalType, :IfcFlowTreatmentDeviceType .

:IfcFlowTerminal
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionFlowElement ;
    owl:disjointWith :IfcDistributionChamberElement, :IfcEnergyConversionDevice, :IfcFlowController, :IfcFlowFitting, :IfcFlowMovingDevice, :IfcFlowSegment, :IfcFlowStorageDevice, :IfcFlowTreatmentDevice .

:IfcFlowTerminalType
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionFlowElementType, [
        a owl:Class ;
        owl:unionOf (:IfcStackTerminalType
            :IfcSanitaryTerminalType
            :IfcMedicalDeviceType
            :IfcLightFixtureType
            :IfcElectricApplianceType
            :IfcAudioVisualApplianceType
            :IfcOutletType
            :IfcWasteTerminalType
            :IfcFireSuppressionTerminalType
            :IfcAirTerminalType
            :IfcLampType
            :IfcSpaceHeaterType
            :IfcCommunicationsApplianceType
        )
    ] ;
    owl:disjointWith :IfcDistributionChamberElementType, :IfcEnergyConversionDeviceType, :IfcFlowControllerType, :IfcFlowFittingType, :IfcFlowMovingDeviceType, :IfcFlowSegmentType, :IfcFlowStorageDeviceType, :IfcFlowTreatmentDeviceType .

:IfcFlowTreatmentDevice
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionFlowElement ;
    owl:disjointWith :IfcDistributionChamberElement, :IfcEnergyConversionDevice, :IfcFlowController, :IfcFlowFitting, :IfcFlowMovingDevice, :IfcFlowSegment, :IfcFlowStorageDevice, :IfcFlowTerminal .

:IfcFlowTreatmentDeviceType
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionFlowElementType, [
        a owl:Class ;
        owl:unionOf (:IfcInterceptorType
            :IfcDuctSilencerType
            :IfcFilterType
        )
    ] ;
    owl:disjointWith :IfcDistributionChamberElementType, :IfcEnergyConversionDeviceType, :IfcFlowControllerType, :IfcFlowFittingType, :IfcFlowMovingDeviceType, :IfcFlowSegmentType, :IfcFlowStorageDeviceType, :IfcFlowTerminalType .

:IfcFontStyle
    a owl:Class ;
    rdfs:subClassOf expr:STRING .

:IfcFontVariant
    a owl:Class ;
    rdfs:subClassOf expr:STRING .

:IfcFontWeight
    a owl:Class ;
    rdfs:subClassOf expr:STRING .

:IfcFooting
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFootingTypeEnum ;
        owl:onProperty :predefinedType_IfcFooting
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcFootingTypeEnum ;
        owl:onProperty :predefinedType_IfcFooting
    ] ;
    owl:disjointWith :IfcBeam, :IfcBuildingElementProxy, :IfcChimney, :IfcColumn, :IfcCovering, :IfcCurtainWall, :IfcDoor, :IfcMember, :IfcPile, :IfcPlate, :IfcRailing, :IfcRamp, :IfcRampFlight, :IfcRoof, :IfcShadingDevice, :IfcSlab, :IfcStair, :IfcStairFlight, :IfcWall, :IfcWindow .

:IfcFootingType
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElementType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFootingTypeEnum ;
        owl:onProperty :predefinedType_IfcFootingType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcFootingTypeEnum ;
        owl:onProperty :predefinedType_IfcFootingType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcBeamType, :IfcBuildingElementProxyType, :IfcChimneyType, :IfcColumnType, :IfcCoveringType, :IfcCurtainWallType, :IfcDoorType, :IfcMemberType, :IfcPileType, :IfcPlateType, :IfcRailingType, :IfcRampFlightType, :IfcRampType, :IfcRoofType, :IfcShadingDeviceType, :IfcSlabType, :IfcStairFlightType, :IfcStairType, :IfcWallType, :IfcWindowType .

:IfcFootingTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcForceMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcFrequencyMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcFurnishingElement
    a owl:Class ;
    rdfs:subClassOf :IfcElement ;
    owl:disjointWith :IfcBuildingElement, :IfcCivilElement, :IfcDistributionElement, :IfcElementAssembly, :IfcElementComponent, :IfcFeatureElement, :IfcGeographicElement, :IfcTransportElement, :IfcVirtualElement .

:IfcFurnishingElementType
    a owl:Class ;
    rdfs:subClassOf :IfcElementType ;
    owl:disjointWith :IfcBuildingElementType, :IfcCivilElementType, :IfcDistributionElementType, :IfcElementAssemblyType, :IfcElementComponentType, :IfcGeographicElementType, :IfcTransportElementType .

:IfcFurniture
    a owl:Class ;
    rdfs:subClassOf :IfcFurnishingElement, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcFurnitureTypeEnum ;
        owl:onProperty :predefinedType_IfcFurniture
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFurnitureTypeEnum ;
        owl:onProperty :predefinedType_IfcFurniture
    ] ;
    owl:disjointWith :IfcSystemFurnitureElement .

:IfcFurnitureType
    a owl:Class ;
    rdfs:subClassOf :IfcFurnishingElementType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAssemblyPlaceEnum ;
        owl:onProperty :assemblyPlace_IfcFurnitureType
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcFurnitureTypeEnum ;
        owl:onProperty :predefinedType_IfcFurnitureType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFurnitureTypeEnum ;
        owl:onProperty :predefinedType_IfcFurnitureType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcAssemblyPlaceEnum ;
        owl:onProperty :assemblyPlace_IfcFurnitureType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcSystemFurnitureElementType .

:IfcFurnitureTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcGeographicElement
    a owl:Class ;
    rdfs:subClassOf :IfcElement, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcGeographicElementTypeEnum ;
        owl:onProperty :predefinedType_IfcGeographicElement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcGeographicElementTypeEnum ;
        owl:onProperty :predefinedType_IfcGeographicElement
    ] ;
    owl:disjointWith :IfcBuildingElement, :IfcCivilElement, :IfcDistributionElement, :IfcElementAssembly, :IfcElementComponent, :IfcFeatureElement, :IfcFurnishingElement, :IfcTransportElement, :IfcVirtualElement .

:IfcGeographicElementType
    a owl:Class ;
    rdfs:subClassOf :IfcElementType, [
        a owl:Restriction ;
        owl:onClass :IfcGeographicElementTypeEnum ;
        owl:onProperty :predefinedType_IfcGeographicElementType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcGeographicElementTypeEnum ;
        owl:onProperty :predefinedType_IfcGeographicElementType
    ] ;
    owl:disjointWith :IfcBuildingElementType, :IfcCivilElementType, :IfcDistributionElementType, :IfcElementAssemblyType, :IfcElementComponentType, :IfcFurnishingElementType, :IfcTransportElementType .

:IfcGeographicElementTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcGeometricCurveSet
    a owl:Class ;
    rdfs:subClassOf :IfcGeometricSet .

:IfcGeometricProjectionEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcGeometricRepresentationContext
    a owl:Class ;
    rdfs:subClassOf :IfcCoordinateReferenceSystemSelect, :IfcRepresentationContext, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDirection ;
        owl:onProperty :trueNorth_IfcGeometricRepresentationContext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReal ;
        owl:onProperty :precision_IfcGeometricRepresentationContext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDimensionCount ;
        owl:onProperty :coordinateSpaceDimension_IfcGeometricRepresentationContext
    ], [
        a owl:Restriction ;
        owl:onClass :IfcAxis2Placement ;
        owl:onProperty :worldCoordinateSystem_IfcGeometricRepresentationContext ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDimensionCount ;
        owl:onProperty :coordinateSpaceDimension_IfcGeometricRepresentationContext ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDirection ;
        owl:onProperty :trueNorth_IfcGeometricRepresentationContext
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcReal ;
        owl:onProperty :precision_IfcGeometricRepresentationContext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAxis2Placement ;
        owl:onProperty :worldCoordinateSystem_IfcGeometricRepresentationContext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcGeometricRepresentationSubContext ;
        owl:onProperty :hasSubContexts_IfcGeometricRepresentationContext
    ] .

:IfcGeometricRepresentationItem
    a owl:Class ;
    rdfs:subClassOf :IfcRepresentationItem, [
        a owl:Class ;
        owl:unionOf (:IfcGeometricSet
            :IfcDirection
            :IfcVector
            :IfcLightSource
            :IfcCartesianPointList
            :IfcFaceBasedSurfaceModel
            :IfcFillAreaStyleTiles
            :IfcTessellatedItem
            :IfcSectionedSpine
            :IfcPlanarExtent
            :IfcCsgPrimitive3D
            :IfcHalfSpaceSolid
            :IfcFillAreaStyleHatching
            :IfcShellBasedSurfaceModel
            :IfcAnnotationFillArea
            :IfcBooleanResult
            :IfcCurve
            :IfcPlacement
            :IfcTextLiteral
            :IfcBoundingBox
            :IfcPoint
            :IfcCompositeCurveSegment
            :IfcCartesianTransformationOperator
            :IfcSolidModel
            :IfcSurface
        )
    ] ;
    owl:disjointWith :IfcMappedItem, :IfcStyledItem, :IfcTopologicalRepresentationItem .

:IfcGeometricRepresentationSubContext
    a owl:Class ;
    rdfs:subClassOf :IfcGeometricRepresentationContext, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveRatioMeasure ;
        owl:onProperty :targetScale_IfcGeometricRepresentationSubContext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcGeometricRepresentationContext ;
        owl:onProperty :parentContext_IfcGeometricRepresentationSubContext
    ], [
        a owl:Restriction ;
        owl:onClass :IfcGeometricRepresentationContext ;
        owl:onProperty :parentContext_IfcGeometricRepresentationSubContext ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcGeometricProjectionEnum ;
        owl:onProperty :targetView_IfcGeometricRepresentationSubContext ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :userDefinedTargetView_IfcGeometricRepresentationSubContext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :userDefinedTargetView_IfcGeometricRepresentationSubContext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcGeometricProjectionEnum ;
        owl:onProperty :targetView_IfcGeometricRepresentationSubContext
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveRatioMeasure ;
        owl:onProperty :targetScale_IfcGeometricRepresentationSubContext
    ] .

:IfcGeometricSet
    a owl:Class ;
    rdfs:subClassOf :IfcGeometricRepresentationItem, [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcGeometricSetSelect ;
        owl:onProperty :elements_IfcGeometricSet
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcGeometricSetSelect ;
        owl:onProperty :elements_IfcGeometricSet
    ] ;
    owl:disjointWith :IfcAnnotationFillArea, :IfcBooleanResult, :IfcBoundingBox, :IfcCartesianPointList, :IfcCartesianTransformationOperator, :IfcCompositeCurveSegment, :IfcCsgPrimitive3D, :IfcCurve, :IfcDirection, :IfcFaceBasedSurfaceModel, :IfcFillAreaStyleHatching, :IfcFillAreaStyleTiles, :IfcHalfSpaceSolid, :IfcLightSource, :IfcPlacement, :IfcPlanarExtent, :IfcPoint, :IfcSectionedSpine, :IfcShellBasedSurfaceModel, :IfcSolidModel, :IfcSurface, :IfcTessellatedItem, :IfcTextLiteral, :IfcVector .

:IfcGeometricSetSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcGlobalOrLocalEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcGloballyUniqueId
    a owl:Class ;
    rdfs:subClassOf expr:STRING .

:IfcGrid
    a owl:Class ;
    rdfs:subClassOf :IfcProduct, [
        a owl:Restriction ;
        owl:onClass :IfcGridAxis_List ;
        owl:onProperty :uAxes_IfcGrid ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcGridTypeEnum ;
        owl:onProperty :predefinedType_IfcGrid
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcGridAxis_List
        ] ;
        owl:onProperty :vAxes_IfcGrid
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcGridAxis_List ;
        owl:onProperty :wAxes_IfcGrid
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcGridTypeEnum ;
        owl:onProperty :predefinedType_IfcGrid
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcGridAxis_List
        ] ;
        owl:onProperty :wAxes_IfcGrid
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcGridAxis_List ;
        owl:onProperty :vAxes_IfcGrid
    ], [
        a owl:Restriction ;
        owl:onClass :IfcGridAxis_List ;
        owl:onProperty :vAxes_IfcGrid ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcGridAxis_List ;
        owl:onProperty :wAxes_IfcGrid
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcGridAxis_List
        ] ;
        owl:onProperty :uAxes_IfcGrid
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcGridAxis_List ;
        owl:onProperty :uAxes_IfcGrid
    ] ;
    owl:disjointWith :IfcAnnotation, :IfcElement, :IfcPort, :IfcProxy, :IfcSpatialElement, :IfcStructuralActivity, :IfcStructuralItem .

:IfcGridAxis
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :axisTag_IfcGridAxis
    ], [
        a owl:Restriction ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :sameSense_IfcGridAxis ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :sameSense_IfcGridAxis
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCurve ;
        owl:onProperty :axisCurve_IfcGridAxis ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurve ;
        owl:onProperty :axisCurve_IfcGridAxis
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :axisTag_IfcGridAxis
    ] .

:IfcGridAxis_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcGridAxis_List, list:EmptyList .

:IfcGridAxis_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcGridAxis ;
        owl:onProperty list:hasContents
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcGridAxis_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcGridAxis_List ;
        owl:onProperty list:isFollowedBy
    ] .

:IfcGridPlacement
    a owl:Class ;
    rdfs:subClassOf :IfcObjectPlacement, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcGridPlacementDirectionSelect ;
        owl:onProperty :placementRefDirection_IfcGridPlacement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcGridPlacementDirectionSelect ;
        owl:onProperty :placementRefDirection_IfcGridPlacement
    ], [
        a owl:Restriction ;
        owl:onClass :IfcVirtualGridIntersection ;
        owl:onProperty :placementLocation_IfcGridPlacement ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcVirtualGridIntersection ;
        owl:onProperty :placementLocation_IfcGridPlacement
    ] ;
    owl:disjointWith :IfcLocalPlacement .

:IfcGridPlacementDirectionSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcGridTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcGroup
    a owl:Class ;
    rdfs:subClassOf :IfcObject, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelAssignsToGroup ;
        owl:onProperty :isGroupedBy_IfcGroup
    ] ;
    owl:disjointWith :IfcActor, :IfcControl, :IfcProcess, :IfcProduct, :IfcResource .

:IfcHalfSpaceSolid
    a owl:Class ;
    rdfs:subClassOf :IfcBooleanOperand, :IfcGeometricRepresentationItem, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSurface ;
        owl:onProperty :baseSurface_IfcHalfSpaceSolid
    ], [
        a owl:Restriction ;
        owl:onClass :IfcSurface ;
        owl:onProperty :baseSurface_IfcHalfSpaceSolid ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :agreementFlag_IfcHalfSpaceSolid
    ], [
        a owl:Restriction ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :agreementFlag_IfcHalfSpaceSolid ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAnnotationFillArea, :IfcBooleanResult, :IfcBoundingBox, :IfcCartesianPointList, :IfcCartesianTransformationOperator, :IfcCompositeCurveSegment, :IfcCsgPrimitive3D, :IfcCurve, :IfcDirection, :IfcFaceBasedSurfaceModel, :IfcFillAreaStyleHatching, :IfcFillAreaStyleTiles, :IfcGeometricSet, :IfcLightSource, :IfcPlacement, :IfcPlanarExtent, :IfcPoint, :IfcSectionedSpine, :IfcShellBasedSurfaceModel, :IfcSolidModel, :IfcSurface, :IfcTessellatedItem, :IfcTextLiteral, :IfcVector .

:IfcHatchLineDistanceSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcHeatExchanger
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDevice, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcHeatExchangerTypeEnum ;
        owl:onProperty :predefinedType_IfcHeatExchanger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcHeatExchangerTypeEnum ;
        owl:onProperty :predefinedType_IfcHeatExchanger
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecovery, :IfcBoiler, :IfcBurner, :IfcChiller, :IfcCoil, :IfcCondenser, :IfcCooledBeam, :IfcCoolingTower, :IfcElectricGenerator, :IfcElectricMotor, :IfcEngine, :IfcEvaporativeCooler, :IfcEvaporator, :IfcHumidifier, :IfcMotorConnection, :IfcSolarDevice, :IfcTransformer, :IfcTubeBundle, :IfcUnitaryEquipment .

:IfcHeatExchangerType
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDeviceType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcHeatExchangerTypeEnum ;
        owl:onProperty :predefinedType_IfcHeatExchangerType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcHeatExchangerTypeEnum ;
        owl:onProperty :predefinedType_IfcHeatExchangerType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecoveryType, :IfcBoilerType, :IfcBurnerType, :IfcChillerType, :IfcCoilType, :IfcCondenserType, :IfcCooledBeamType, :IfcCoolingTowerType, :IfcElectricGeneratorType, :IfcElectricMotorType, :IfcEngineType, :IfcEvaporativeCoolerType, :IfcEvaporatorType, :IfcHumidifierType, :IfcMotorConnectionType, :IfcSolarDeviceType, :IfcTransformerType, :IfcTubeBundleType, :IfcUnitaryEquipmentType .

:IfcHeatExchangerTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcHeatFluxDensityMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcHeatingValueMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcHumidifier
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDevice, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcHumidifierTypeEnum ;
        owl:onProperty :predefinedType_IfcHumidifier
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcHumidifierTypeEnum ;
        owl:onProperty :predefinedType_IfcHumidifier
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecovery, :IfcBoiler, :IfcBurner, :IfcChiller, :IfcCoil, :IfcCondenser, :IfcCooledBeam, :IfcCoolingTower, :IfcElectricGenerator, :IfcElectricMotor, :IfcEngine, :IfcEvaporativeCooler, :IfcEvaporator, :IfcHeatExchanger, :IfcMotorConnection, :IfcSolarDevice, :IfcTransformer, :IfcTubeBundle, :IfcUnitaryEquipment .

:IfcHumidifierType
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDeviceType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcHumidifierTypeEnum ;
        owl:onProperty :predefinedType_IfcHumidifierType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcHumidifierTypeEnum ;
        owl:onProperty :predefinedType_IfcHumidifierType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecoveryType, :IfcBoilerType, :IfcBurnerType, :IfcChillerType, :IfcCoilType, :IfcCondenserType, :IfcCooledBeamType, :IfcCoolingTowerType, :IfcElectricGeneratorType, :IfcElectricMotorType, :IfcEngineType, :IfcEvaporativeCoolerType, :IfcEvaporatorType, :IfcHeatExchangerType, :IfcMotorConnectionType, :IfcSolarDeviceType, :IfcTransformerType, :IfcTubeBundleType, :IfcUnitaryEquipmentType .

:IfcHumidifierTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcIShapeProfileDef
    a owl:Class ;
    rdfs:subClassOf :IfcParameterizedProfileDef, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNonNegativeLengthMeasure ;
        owl:onProperty :filletRadius_IfcIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :flangeThickness_IfcIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :overallDepth_IfcIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :overallWidth_IfcIShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNonNegativeLengthMeasure ;
        owl:onProperty :flangeEdgeRadius_IfcIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPlaneAngleMeasure ;
        owl:onProperty :flangeSlope_IfcIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :overallWidth_IfcIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNonNegativeLengthMeasure ;
        owl:onProperty :filletRadius_IfcIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :webThickness_IfcIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :flangeThickness_IfcIShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :overallDepth_IfcIShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPlaneAngleMeasure ;
        owl:onProperty :flangeSlope_IfcIShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :webThickness_IfcIShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNonNegativeLengthMeasure ;
        owl:onProperty :flangeEdgeRadius_IfcIShapeProfileDef
    ] ;
    owl:disjointWith :IfcAsymmetricIShapeProfileDef, :IfcCShapeProfileDef, :IfcCircleProfileDef, :IfcEllipseProfileDef, :IfcLShapeProfileDef, :IfcRectangleProfileDef, :IfcTShapeProfileDef, :IfcTrapeziumProfileDef, :IfcUShapeProfileDef, :IfcZShapeProfileDef .

:IfcIdentifier
    a owl:Class ;
    rdfs:subClassOf expr:STRING, :IfcSimpleValue .

:IfcIdentifier_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcIdentifier_List, list:EmptyList .

:IfcIdentifier_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty list:hasContents
    ] .

:IfcIlluminanceMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcImageTexture
    a owl:Class ;
    rdfs:subClassOf :IfcSurfaceTexture, [
        a owl:Restriction ;
        owl:onClass :IfcURIReference ;
        owl:onProperty :uRLReference_IfcImageTexture ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcURIReference ;
        owl:onProperty :uRLReference_IfcImageTexture
    ] ;
    owl:disjointWith :IfcBlobTexture, :IfcPixelTexture .

:IfcIndexedColourMap
    a owl:Class ;
    rdfs:subClassOf :IfcPresentationItem, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSurfaceStyleShading ;
        owl:onProperty :overrides_IfcIndexedColourMap
    ], [
        a owl:Restriction ;
        owl:onClass :IfcColourRgbList ;
        owl:onProperty :colours_IfcIndexedColourMap ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTessellatedFaceSet ;
        owl:onProperty :mappedTo_IfcIndexedColourMap
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSurfaceStyleShading ;
        owl:onProperty :overrides_IfcIndexedColourMap
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveInteger_List ;
        owl:onProperty :colourIndex_IfcIndexedColourMap ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcColourRgbList ;
        owl:onProperty :colours_IfcIndexedColourMap
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveInteger_List ;
        owl:onProperty :colourIndex_IfcIndexedColourMap
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcPositiveInteger_List
        ] ;
        owl:onProperty :colourIndex_IfcIndexedColourMap
    ], [
        a owl:Restriction ;
        owl:onClass :IfcTessellatedFaceSet ;
        owl:onProperty :mappedTo_IfcIndexedColourMap ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcColourRgbList, :IfcColourSpecification, :IfcCurveStyleFont, :IfcCurveStyleFontAndScaling, :IfcCurveStyleFontPattern, :IfcPreDefinedItem, :IfcSurfaceStyleLighting, :IfcSurfaceStyleRefraction, :IfcSurfaceStyleShading, :IfcSurfaceStyleWithTextures, :IfcSurfaceTexture, :IfcTextStyleForDefinedFont, :IfcTextStyleTextModel, :IfcTextureCoordinate, :IfcTextureVertex, :IfcTextureVertexList .

:IfcIndexedPolyCurve
    a owl:Class ;
    rdfs:subClassOf :IfcBoundedCurve, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :selfIntersect_IfcIndexedPolyCurve
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCartesianPointList ;
        owl:onProperty :points_IfcIndexedPolyCurve ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :selfIntersect_IfcIndexedPolyCurve
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSegmentIndexSelect_List ;
        owl:onProperty :segments_IfcIndexedPolyCurve
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCartesianPointList ;
        owl:onProperty :points_IfcIndexedPolyCurve
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSegmentIndexSelect_List ;
        owl:onProperty :segments_IfcIndexedPolyCurve
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcSegmentIndexSelect_List
        ] ;
        owl:onProperty :segments_IfcIndexedPolyCurve
    ] ;
    owl:disjointWith :IfcBSplineCurve, :IfcCompositeCurve, :IfcPolyline, :IfcTrimmedCurve .

:IfcIndexedTextureMap
    a owl:Class ;
    rdfs:subClassOf :IfcTextureCoordinate, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTessellatedFaceSet ;
        owl:onProperty :mappedTo_IfcIndexedTextureMap
    ], [
        a owl:Restriction ;
        owl:onClass :IfcTextureVertexList ;
        owl:onProperty :texCoords_IfcIndexedTextureMap ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTextureVertexList ;
        owl:onProperty :texCoords_IfcIndexedTextureMap
    ], [
        a owl:Restriction ;
        owl:onClass :IfcTessellatedFaceSet ;
        owl:onProperty :mappedTo_IfcIndexedTextureMap ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Class ;
        owl:unionOf (:IfcIndexedTriangleTextureMap
        )
    ] ;
    owl:disjointWith :IfcTextureCoordinateGenerator, :IfcTextureMap .

:IfcIndexedTriangleTextureMap
    a owl:Class ;
    rdfs:subClassOf :IfcIndexedTextureMap, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveInteger_List_List ;
        owl:onProperty :texCoordIndex_IfcIndexedTriangleTextureMap
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcPositiveInteger_List_List
        ] ;
        owl:onProperty :texCoordIndex_IfcIndexedTriangleTextureMap
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveInteger_List_List ;
        owl:onProperty :texCoordIndex_IfcIndexedTriangleTextureMap
    ] .

:IfcInductanceMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcInteger
    a owl:Class ;
    rdfs:subClassOf expr:INTEGER, :IfcSimpleValue .

:IfcIntegerCountRateMeasure
    a owl:Class ;
    rdfs:subClassOf expr:INTEGER, :IfcDerivedMeasureValue .

:IfcInteger_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcInteger_List, list:EmptyList .

:IfcInteger_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcInteger_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcInteger_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcInteger ;
        owl:onProperty list:hasContents
    ] .

:IfcInterceptor
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTreatmentDevice, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcInterceptorTypeEnum ;
        owl:onProperty :predefinedType_IfcInterceptor
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcInterceptorTypeEnum ;
        owl:onProperty :predefinedType_IfcInterceptor
    ] ;
    owl:disjointWith :IfcDuctSilencer, :IfcFilter .

:IfcInterceptorType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTreatmentDeviceType, [
        a owl:Restriction ;
        owl:onClass :IfcInterceptorTypeEnum ;
        owl:onProperty :predefinedType_IfcInterceptorType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcInterceptorTypeEnum ;
        owl:onProperty :predefinedType_IfcInterceptorType
    ] ;
    owl:disjointWith :IfcDuctSilencerType, :IfcFilterType .

:IfcInterceptorTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcInternalOrExternalEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcInventory
    a owl:Class ;
    rdfs:subClassOf :IfcGroup, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcInventoryTypeEnum ;
        owl:onProperty :predefinedType_IfcInventory
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCostValue ;
        owl:onProperty :currentValue_IfcInventory
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDate ;
        owl:onProperty :lastUpdateDate_IfcInventory
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPerson ;
        owl:onProperty :responsiblePersons_IfcInventory
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcActorSelect ;
        owl:onProperty :jurisdiction_IfcInventory
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDate ;
        owl:onProperty :lastUpdateDate_IfcInventory
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcActorSelect ;
        owl:onProperty :jurisdiction_IfcInventory
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCostValue ;
        owl:onProperty :currentValue_IfcInventory
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcInventoryTypeEnum ;
        owl:onProperty :predefinedType_IfcInventory
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCostValue ;
        owl:onProperty :originalValue_IfcInventory
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCostValue ;
        owl:onProperty :originalValue_IfcInventory
    ] ;
    owl:disjointWith :IfcAsset, :IfcStructuralLoadGroup, :IfcStructuralResultGroup, :IfcSystem .

:IfcInventoryTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcIonConcentrationMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcIrregularTimeSeries
    a owl:Class ;
    rdfs:subClassOf :IfcTimeSeries, [
        a owl:Restriction ;
        owl:onClass :IfcIrregularTimeSeriesValue_List ;
        owl:onProperty :values_IfcIrregularTimeSeries ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcIrregularTimeSeriesValue_List
        ] ;
        owl:onProperty :values_IfcIrregularTimeSeries
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIrregularTimeSeriesValue_List ;
        owl:onProperty :values_IfcIrregularTimeSeries
    ] ;
    owl:disjointWith :IfcRegularTimeSeries .

:IfcIrregularTimeSeriesValue
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:onClass :IfcValue_List ;
        owl:onProperty :listValues_IfcIrregularTimeSeriesValue ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcValue_List
        ] ;
        owl:onProperty :listValues_IfcIrregularTimeSeriesValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcValue_List ;
        owl:onProperty :listValues_IfcIrregularTimeSeriesValue
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :timeStamp_IfcIrregularTimeSeriesValue ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :timeStamp_IfcIrregularTimeSeriesValue
    ] .

:IfcIrregularTimeSeriesValue_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcIrregularTimeSeriesValue_List, list:EmptyList .

:IfcIrregularTimeSeriesValue_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIrregularTimeSeriesValue_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIrregularTimeSeriesValue_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIrregularTimeSeriesValue ;
        owl:onProperty list:hasContents
    ] .

:IfcIsothermalMoistureCapacityMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcJunctionBox
    a owl:Class ;
    rdfs:subClassOf :IfcFlowFitting, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcJunctionBoxTypeEnum ;
        owl:onProperty :predefinedType_IfcJunctionBox
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcJunctionBoxTypeEnum ;
        owl:onProperty :predefinedType_IfcJunctionBox
    ] ;
    owl:disjointWith :IfcCableCarrierFitting, :IfcCableFitting, :IfcDuctFitting, :IfcPipeFitting .

:IfcJunctionBoxType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowFittingType, [
        a owl:Restriction ;
        owl:onClass :IfcJunctionBoxTypeEnum ;
        owl:onProperty :predefinedType_IfcJunctionBoxType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcJunctionBoxTypeEnum ;
        owl:onProperty :predefinedType_IfcJunctionBoxType
    ] ;
    owl:disjointWith :IfcCableCarrierFittingType, :IfcCableFittingType, :IfcDuctFittingType, :IfcPipeFittingType .

:IfcJunctionBoxTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcKinematicViscosityMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcKnotType
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcLShapeProfileDef
    a owl:Class ;
    rdfs:subClassOf :IfcParameterizedProfileDef, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPlaneAngleMeasure ;
        owl:onProperty :legSlope_IfcLShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :thickness_IfcLShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :depth_IfcLShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNonNegativeLengthMeasure ;
        owl:onProperty :filletRadius_IfcLShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :depth_IfcLShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNonNegativeLengthMeasure ;
        owl:onProperty :edgeRadius_IfcLShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNonNegativeLengthMeasure ;
        owl:onProperty :filletRadius_IfcLShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNonNegativeLengthMeasure ;
        owl:onProperty :edgeRadius_IfcLShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :width_IfcLShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :thickness_IfcLShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :width_IfcLShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPlaneAngleMeasure ;
        owl:onProperty :legSlope_IfcLShapeProfileDef
    ] ;
    owl:disjointWith :IfcAsymmetricIShapeProfileDef, :IfcCShapeProfileDef, :IfcCircleProfileDef, :IfcEllipseProfileDef, :IfcIShapeProfileDef, :IfcRectangleProfileDef, :IfcTShapeProfileDef, :IfcTrapeziumProfileDef, :IfcUShapeProfileDef, :IfcZShapeProfileDef .

:IfcLabel
    a owl:Class ;
    rdfs:subClassOf expr:STRING, :IfcSimpleValue .

:IfcLabel_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcLabel_List, list:EmptyList .

:IfcLabel_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty list:hasContents
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel_List ;
        owl:onProperty list:hasNext
    ] .

:IfcLaborResource
    a owl:Class ;
    rdfs:subClassOf :IfcConstructionResource, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLaborResourceTypeEnum ;
        owl:onProperty :predefinedType_IfcLaborResource
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLaborResourceTypeEnum ;
        owl:onProperty :predefinedType_IfcLaborResource
    ] ;
    owl:disjointWith :IfcConstructionEquipmentResource, :IfcConstructionMaterialResource, :IfcConstructionProductResource, :IfcCrewResource, :IfcSubContractResource .

:IfcLaborResourceType
    a owl:Class ;
    rdfs:subClassOf :IfcConstructionResourceType, [
        a owl:Restriction ;
        owl:onClass :IfcLaborResourceTypeEnum ;
        owl:onProperty :predefinedType_IfcLaborResourceType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLaborResourceTypeEnum ;
        owl:onProperty :predefinedType_IfcLaborResourceType
    ] ;
    owl:disjointWith :IfcConstructionEquipmentResourceType, :IfcConstructionMaterialResourceType, :IfcConstructionProductResourceType, :IfcCrewResourceType, :IfcSubContractResourceType .

:IfcLaborResourceTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcLagTime
    a owl:Class ;
    rdfs:subClassOf :IfcSchedulingTime, [
        a owl:Restriction ;
        owl:onClass :IfcTimeOrRatioSelect ;
        owl:onProperty :lagValue_IfcLagTime ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTaskDurationEnum ;
        owl:onProperty :durationType_IfcLagTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTimeOrRatioSelect ;
        owl:onProperty :lagValue_IfcLagTime
    ], [
        a owl:Restriction ;
        owl:onClass :IfcTaskDurationEnum ;
        owl:onProperty :durationType_IfcLagTime ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcEventTime, :IfcResourceTime, :IfcTaskTime, :IfcWorkTime .

:IfcLamp
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminal, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLampTypeEnum ;
        owl:onProperty :predefinedType_IfcLamp
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLampTypeEnum ;
        owl:onProperty :predefinedType_IfcLamp
    ] ;
    owl:disjointWith :IfcAirTerminal, :IfcAudioVisualAppliance, :IfcCommunicationsAppliance, :IfcElectricAppliance, :IfcFireSuppressionTerminal, :IfcLightFixture, :IfcMedicalDevice, :IfcOutlet, :IfcSanitaryTerminal, :IfcSpaceHeater, :IfcStackTerminal, :IfcWasteTerminal .

:IfcLampType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminalType, [
        a owl:Restriction ;
        owl:onClass :IfcLampTypeEnum ;
        owl:onProperty :predefinedType_IfcLampType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLampTypeEnum ;
        owl:onProperty :predefinedType_IfcLampType
    ] ;
    owl:disjointWith :IfcAirTerminalType, :IfcAudioVisualApplianceType, :IfcCommunicationsApplianceType, :IfcElectricApplianceType, :IfcFireSuppressionTerminalType, :IfcLightFixtureType, :IfcMedicalDeviceType, :IfcOutletType, :IfcSanitaryTerminalType, :IfcSpaceHeaterType, :IfcStackTerminalType, :IfcWasteTerminalType .

:IfcLampTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcLanguageId
    a owl:Class ;
    rdfs:subClassOf :IfcIdentifier .

:IfcLayerSetDirectionEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcLayeredItem
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcLengthMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcBendingParameterSelect, :IfcMeasureValue, :IfcSizeSelect .

:IfcLengthMeasure_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcLengthMeasure_List, list:EmptyList .

:IfcLengthMeasure_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty list:hasContents
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure_List ;
        owl:onProperty list:hasNext
    ] .

:IfcLengthMeasure_List_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcLengthMeasure_List_List, list:EmptyList .

:IfcLengthMeasure_List_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure_List_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure_List ;
        owl:onProperty list:hasContents
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure_List_List ;
        owl:onProperty list:hasNext
    ] .

:IfcLibraryInformation
    a owl:Class ;
    rdfs:subClassOf :IfcExternalInformation, :IfcLibrarySelect, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcActorSelect ;
        owl:onProperty :publisher_IfcLibraryInformation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcLibraryInformation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLibraryReference ;
        owl:onProperty :hasLibraryReferences_IfcLibraryInformation
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcLibraryInformation ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :versionDate_IfcLibraryInformation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcURIReference ;
        owl:onProperty :location_IfcLibraryInformation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :version_IfcLibraryInformation
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcURIReference ;
        owl:onProperty :location_IfcLibraryInformation
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcLibraryInformation
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcActorSelect ;
        owl:onProperty :publisher_IfcLibraryInformation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcLibraryInformation
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :versionDate_IfcLibraryInformation
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :version_IfcLibraryInformation
    ] ;
    owl:disjointWith :IfcClassification, :IfcDocumentInformation .

:IfcLibraryReference
    a owl:Class ;
    rdfs:subClassOf :IfcExternalReference, :IfcLibrarySelect, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLibraryInformation ;
        owl:onProperty :referencedLibrary_IfcLibraryReference
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcLibraryReference
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLibraryInformation ;
        owl:onProperty :referencedLibrary_IfcLibraryReference
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcLibraryReference
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLanguageId ;
        owl:onProperty :language_IfcLibraryReference
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLanguageId ;
        owl:onProperty :language_IfcLibraryReference
    ] ;
    owl:disjointWith :IfcClassificationReference, :IfcDocumentReference, :IfcExternallyDefinedHatchStyle, :IfcExternallyDefinedSurfaceStyle, :IfcExternallyDefinedTextFont .

:IfcLibrarySelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcLightDistributionCurveEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcLightDistributionData
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:onClass :IfcPlaneAngleMeasure_List ;
        owl:onProperty :secondaryPlaneAngle_IfcLightDistributionData ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcPlaneAngleMeasure_List
        ] ;
        owl:onProperty :secondaryPlaneAngle_IfcLightDistributionData
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLuminousIntensityDistributionMeasure_List ;
        owl:onProperty :luminousIntensity_IfcLightDistributionData ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPlaneAngleMeasure ;
        owl:onProperty :mainPlaneAngle_IfcLightDistributionData ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcLuminousIntensityDistributionMeasure_List
        ] ;
        owl:onProperty :luminousIntensity_IfcLightDistributionData
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPlaneAngleMeasure_List ;
        owl:onProperty :secondaryPlaneAngle_IfcLightDistributionData
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPlaneAngleMeasure ;
        owl:onProperty :mainPlaneAngle_IfcLightDistributionData
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLuminousIntensityDistributionMeasure_List ;
        owl:onProperty :luminousIntensity_IfcLightDistributionData
    ] .

:IfcLightDistributionDataSourceSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcLightDistributionData_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcLightDistributionData_List, list:EmptyList .

:IfcLightDistributionData_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLightDistributionData_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLightDistributionData_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLightDistributionData ;
        owl:onProperty list:hasContents
    ] .

:IfcLightEmissionSourceEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcLightFixture
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminal, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLightFixtureTypeEnum ;
        owl:onProperty :predefinedType_IfcLightFixture
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLightFixtureTypeEnum ;
        owl:onProperty :predefinedType_IfcLightFixture
    ] ;
    owl:disjointWith :IfcAirTerminal, :IfcAudioVisualAppliance, :IfcCommunicationsAppliance, :IfcElectricAppliance, :IfcFireSuppressionTerminal, :IfcLamp, :IfcMedicalDevice, :IfcOutlet, :IfcSanitaryTerminal, :IfcSpaceHeater, :IfcStackTerminal, :IfcWasteTerminal .

:IfcLightFixtureType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminalType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLightFixtureTypeEnum ;
        owl:onProperty :predefinedType_IfcLightFixtureType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLightFixtureTypeEnum ;
        owl:onProperty :predefinedType_IfcLightFixtureType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAirTerminalType, :IfcAudioVisualApplianceType, :IfcCommunicationsApplianceType, :IfcElectricApplianceType, :IfcFireSuppressionTerminalType, :IfcLampType, :IfcMedicalDeviceType, :IfcOutletType, :IfcSanitaryTerminalType, :IfcSpaceHeaterType, :IfcStackTerminalType, :IfcWasteTerminalType .

:IfcLightFixtureTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcLightIntensityDistribution
    a owl:Class ;
    rdfs:subClassOf :IfcLightDistributionDataSourceSelect, [
        a owl:Restriction ;
        owl:onClass :IfcLightDistributionCurveEnum ;
        owl:onProperty :lightDistributionCurve_IfcLightIntensityDistribution ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcLightDistributionData_List
        ] ;
        owl:onProperty :distributionData_IfcLightIntensityDistribution
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLightDistributionCurveEnum ;
        owl:onProperty :lightDistributionCurve_IfcLightIntensityDistribution
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLightDistributionData_List ;
        owl:onProperty :distributionData_IfcLightIntensityDistribution ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLightDistributionData_List ;
        owl:onProperty :distributionData_IfcLightIntensityDistribution
    ] .

:IfcLightSource
    a owl:Class ;
    rdfs:subClassOf :IfcGeometricRepresentationItem, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNormalisedRatioMeasure ;
        owl:onProperty :intensity_IfcLightSource
    ], [
        a owl:Restriction ;
        owl:onClass :IfcColourRgb ;
        owl:onProperty :lightColour_IfcLightSource ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Class ;
        owl:unionOf (:IfcLightSourceDirectional
            :IfcLightSourceAmbient
            :IfcLightSourcePositional
            :IfcLightSourceGoniometric
        )
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNormalisedRatioMeasure ;
        owl:onProperty :ambientIntensity_IfcLightSource
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNormalisedRatioMeasure ;
        owl:onProperty :intensity_IfcLightSource
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNormalisedRatioMeasure ;
        owl:onProperty :ambientIntensity_IfcLightSource
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcLightSource
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcColourRgb ;
        owl:onProperty :lightColour_IfcLightSource
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcLightSource
    ] ;
    owl:disjointWith :IfcAnnotationFillArea, :IfcBooleanResult, :IfcBoundingBox, :IfcCartesianPointList, :IfcCartesianTransformationOperator, :IfcCompositeCurveSegment, :IfcCsgPrimitive3D, :IfcCurve, :IfcDirection, :IfcFaceBasedSurfaceModel, :IfcFillAreaStyleHatching, :IfcFillAreaStyleTiles, :IfcGeometricSet, :IfcHalfSpaceSolid, :IfcPlacement, :IfcPlanarExtent, :IfcPoint, :IfcSectionedSpine, :IfcShellBasedSurfaceModel, :IfcSolidModel, :IfcSurface, :IfcTessellatedItem, :IfcTextLiteral, :IfcVector .

:IfcLightSourceAmbient
    a owl:Class ;
    rdfs:subClassOf :IfcLightSource ;
    owl:disjointWith :IfcLightSourceDirectional, :IfcLightSourceGoniometric, :IfcLightSourcePositional .

:IfcLightSourceDirectional
    a owl:Class ;
    rdfs:subClassOf :IfcLightSource, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDirection ;
        owl:onProperty :orientation_IfcLightSourceDirectional
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDirection ;
        owl:onProperty :orientation_IfcLightSourceDirectional ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcLightSourceAmbient, :IfcLightSourceGoniometric, :IfcLightSourcePositional .

:IfcLightSourceGoniometric
    a owl:Class ;
    rdfs:subClassOf :IfcLightSource, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLightDistributionDataSourceSelect ;
        owl:onProperty :lightDistributionDataSource_IfcLightSourceGoniometric
    ], [
        a owl:Restriction ;
        owl:onClass :IfcAxis2Placement3D ;
        owl:onProperty :position_IfcLightSourceGoniometric ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcThermodynamicTemperatureMeasure ;
        owl:onProperty :colourTemperature_IfcLightSourceGoniometric ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcColourRgb ;
        owl:onProperty :colourAppearance_IfcLightSourceGoniometric
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLightEmissionSourceEnum ;
        owl:onProperty :lightEmissionSource_IfcLightSourceGoniometric
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLuminousFluxMeasure ;
        owl:onProperty :luminousFlux_IfcLightSourceGoniometric
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcColourRgb ;
        owl:onProperty :colourAppearance_IfcLightSourceGoniometric
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLightEmissionSourceEnum ;
        owl:onProperty :lightEmissionSource_IfcLightSourceGoniometric ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcThermodynamicTemperatureMeasure ;
        owl:onProperty :colourTemperature_IfcLightSourceGoniometric
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAxis2Placement3D ;
        owl:onProperty :position_IfcLightSourceGoniometric
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLuminousFluxMeasure ;
        owl:onProperty :luminousFlux_IfcLightSourceGoniometric ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLightDistributionDataSourceSelect ;
        owl:onProperty :lightDistributionDataSource_IfcLightSourceGoniometric ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcLightSourceAmbient, :IfcLightSourceDirectional, :IfcLightSourcePositional .

:IfcLightSourcePositional
    a owl:Class ;
    rdfs:subClassOf :IfcLightSource, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReal ;
        owl:onProperty :quadricAttenuation_IfcLightSourcePositional
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReal ;
        owl:onProperty :distanceAttenuation_IfcLightSourcePositional
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :radius_IfcLightSourcePositional
    ], [
        a owl:Restriction ;
        owl:onClass :IfcReal ;
        owl:onProperty :constantAttenuation_IfcLightSourcePositional ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReal ;
        owl:onProperty :constantAttenuation_IfcLightSourcePositional
    ], [
        a owl:Restriction ;
        owl:onClass :IfcReal ;
        owl:onProperty :quadricAttenuation_IfcLightSourcePositional ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :radius_IfcLightSourcePositional ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCartesianPoint ;
        owl:onProperty :position_IfcLightSourcePositional
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCartesianPoint ;
        owl:onProperty :position_IfcLightSourcePositional ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcReal ;
        owl:onProperty :distanceAttenuation_IfcLightSourcePositional ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcLightSourceAmbient, :IfcLightSourceDirectional, :IfcLightSourceGoniometric .

:IfcLightSourceSpot
    a owl:Class ;
    rdfs:subClassOf :IfcLightSourcePositional, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositivePlaneAngleMeasure ;
        owl:onProperty :beamWidthAngle_IfcLightSourceSpot
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDirection ;
        owl:onProperty :orientation_IfcLightSourceSpot ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositivePlaneAngleMeasure ;
        owl:onProperty :spreadAngle_IfcLightSourceSpot
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReal ;
        owl:onProperty :concentrationExponent_IfcLightSourceSpot
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositivePlaneAngleMeasure ;
        owl:onProperty :beamWidthAngle_IfcLightSourceSpot ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDirection ;
        owl:onProperty :orientation_IfcLightSourceSpot
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositivePlaneAngleMeasure ;
        owl:onProperty :spreadAngle_IfcLightSourceSpot ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcReal ;
        owl:onProperty :concentrationExponent_IfcLightSourceSpot
    ] .

:IfcLine
    a owl:Class ;
    rdfs:subClassOf :IfcCurve, [
        a owl:Restriction ;
        owl:onClass :IfcCartesianPoint ;
        owl:onProperty :pnt_IfcLine ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCartesianPoint ;
        owl:onProperty :pnt_IfcLine
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcVector ;
        owl:onProperty :dir_IfcLine
    ], [
        a owl:Restriction ;
        owl:onClass :IfcVector ;
        owl:onProperty :dir_IfcLine ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcBoundedCurve, :IfcConic, :IfcOffsetCurve2D, :IfcOffsetCurve3D, :IfcPcurve .

:IfcLineIndex
    a owl:Class ;
    rdfs:subClassOf :IfcPositiveInteger_List, :IfcSegmentIndexSelect, [
        a owl:Restriction ;
        owl:onProperty list:hasNext ;
        owl:someValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcPositiveInteger_List
        ]
    ] .

:IfcLinearForceMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcLinearMomentMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcLinearStiffnessMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue, :IfcTranslationalStiffnessSelect .

:IfcLinearVelocityMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcLoadGroupTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcLocalPlacement
    a owl:Class ;
    rdfs:subClassOf :IfcObjectPlacement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcObjectPlacement ;
        owl:onProperty :placementRelTo_IfcLocalPlacement
    ], [
        a owl:Restriction ;
        owl:onClass :IfcAxis2Placement ;
        owl:onProperty :relativePlacement_IfcLocalPlacement ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAxis2Placement ;
        owl:onProperty :relativePlacement_IfcLocalPlacement
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcObjectPlacement ;
        owl:onProperty :placementRelTo_IfcLocalPlacement
    ] ;
    owl:disjointWith :IfcGridPlacement .

:IfcLogical
    a owl:Class ;
    rdfs:subClassOf expr:LOGICAL, :IfcSimpleValue .

:IfcLogicalOperatorEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcLoop
    a owl:Class ;
    rdfs:subClassOf :IfcTopologicalRepresentationItem ;
    owl:disjointWith :IfcConnectedFaceSet, :IfcEdge, :IfcFace, :IfcFaceBound, :IfcPath, :IfcVertex .

:IfcLuminousFluxMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcLuminousIntensityDistributionMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcLuminousIntensityDistributionMeasure_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcLuminousIntensityDistributionMeasure_List, list:EmptyList .

:IfcLuminousIntensityDistributionMeasure_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLuminousIntensityDistributionMeasure_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLuminousIntensityDistributionMeasure_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLuminousIntensityDistributionMeasure ;
        owl:onProperty list:hasContents
    ] .

:IfcLuminousIntensityMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcMeasureValue .

:IfcMagneticFluxDensityMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcMagneticFluxMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcManifoldSolidBrep
    a owl:Class ;
    rdfs:subClassOf :IfcSolidModel, [
        a owl:Restriction ;
        owl:onClass :IfcClosedShell ;
        owl:onProperty :outer_IfcManifoldSolidBrep ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcClosedShell ;
        owl:onProperty :outer_IfcManifoldSolidBrep
    ], [
        a owl:Class ;
        owl:unionOf (:IfcAdvancedBrep
            :IfcFacetedBrep
        )
    ] ;
    owl:disjointWith :IfcCsgSolid, :IfcSweptAreaSolid, :IfcSweptDiskSolid .

:IfcMapConversion
    a owl:Class ;
    rdfs:subClassOf :IfcCoordinateOperation, [
        a owl:Restriction ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :northings_IfcMapConversion ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :northings_IfcMapConversion
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :eastings_IfcMapConversion
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :eastings_IfcMapConversion ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcReal ;
        owl:onProperty :xAxisAbscissa_IfcMapConversion
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReal ;
        owl:onProperty :xAxisAbscissa_IfcMapConversion
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcReal ;
        owl:onProperty :scale_IfcMapConversion
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReal ;
        owl:onProperty :scale_IfcMapConversion
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :orthogonalHeight_IfcMapConversion
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReal ;
        owl:onProperty :xAxisOrdinate_IfcMapConversion
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :orthogonalHeight_IfcMapConversion ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcReal ;
        owl:onProperty :xAxisOrdinate_IfcMapConversion
    ] .

:IfcMappedItem
    a owl:Class ;
    rdfs:subClassOf :IfcRepresentationItem, [
        a owl:Restriction ;
        owl:onClass :IfcRepresentationMap ;
        owl:onProperty :mappingSource_IfcMappedItem ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRepresentationMap ;
        owl:onProperty :mappingSource_IfcMappedItem
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCartesianTransformationOperator ;
        owl:onProperty :mappingTarget_IfcMappedItem ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCartesianTransformationOperator ;
        owl:onProperty :mappingTarget_IfcMappedItem
    ] ;
    owl:disjointWith :IfcGeometricRepresentationItem, :IfcStyledItem, :IfcTopologicalRepresentationItem .

:IfcMassDensityMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcMassFlowRateMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcMassMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcMeasureValue .

:IfcMassPerLengthMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcMaterial
    a owl:Class ;
    rdfs:subClassOf :IfcMaterialDefinition, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcMaterial
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterialRelationship ;
        owl:onProperty :relatesTo_IfcMaterial
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcMaterialDefinitionRepresentation ;
        owl:onProperty :hasRepresentation_IfcMaterial
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcMaterial
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcMaterialRelationship ;
        owl:onProperty :relatesTo_IfcMaterial
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcMaterial ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterialDefinitionRepresentation ;
        owl:onProperty :hasRepresentation_IfcMaterial
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :category_IfcMaterial
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :category_IfcMaterial
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcMaterial
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterialRelationship ;
        owl:onProperty :isRelatedWith_IfcMaterial
    ] ;
    owl:disjointWith :IfcMaterialConstituent, :IfcMaterialConstituentSet, :IfcMaterialLayer, :IfcMaterialLayerSet, :IfcMaterialProfile, :IfcMaterialProfileSet .

:IfcMaterialClassificationRelationship
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:onClass :IfcMaterial ;
        owl:onProperty :classifiedMaterial_IfcMaterialClassificationRelationship ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterial ;
        owl:onProperty :classifiedMaterial_IfcMaterialClassificationRelationship
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcClassificationSelect ;
        owl:onProperty :materialClassifications_IfcMaterialClassificationRelationship
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcClassificationSelect ;
        owl:onProperty :materialClassifications_IfcMaterialClassificationRelationship
    ] .

:IfcMaterialConstituent
    a owl:Class ;
    rdfs:subClassOf :IfcMaterialDefinition, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNormalisedRatioMeasure ;
        owl:onProperty :fraction_IfcMaterialConstituent
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcMaterialConstituent
    ], [
        a owl:Restriction ;
        owl:onClass :IfcMaterialConstituentSet ;
        owl:onProperty :toMaterialConstituentSet_IfcMaterialConstituent ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcMaterialConstituent
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterial ;
        owl:onProperty :material_IfcMaterialConstituent
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcMaterialConstituent
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcMaterialConstituent
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterialConstituentSet ;
        owl:onProperty :toMaterialConstituentSet_IfcMaterialConstituent
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :category_IfcMaterialConstituent
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :category_IfcMaterialConstituent
    ], [
        a owl:Restriction ;
        owl:onClass :IfcMaterial ;
        owl:onProperty :material_IfcMaterialConstituent ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNormalisedRatioMeasure ;
        owl:onProperty :fraction_IfcMaterialConstituent
    ] ;
    owl:disjointWith :IfcMaterial, :IfcMaterialConstituentSet, :IfcMaterialLayer, :IfcMaterialLayerSet, :IfcMaterialProfile, :IfcMaterialProfileSet .

:IfcMaterialConstituentSet
    a owl:Class ;
    rdfs:subClassOf :IfcMaterialDefinition, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterialConstituent ;
        owl:onProperty :materialConstituents_IfcMaterialConstituentSet
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcMaterialConstituentSet
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcMaterialConstituentSet
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcMaterialConstituentSet
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcMaterialConstituentSet
    ] ;
    owl:disjointWith :IfcMaterial, :IfcMaterialConstituent, :IfcMaterialLayer, :IfcMaterialLayerSet, :IfcMaterialProfile, :IfcMaterialProfileSet .

:IfcMaterialDefinition
    a owl:Class ;
    rdfs:subClassOf :IfcMaterialSelect, :IfcObjectReferenceSelect, :IfcResourceObjectSelect, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterialProperties ;
        owl:onProperty :hasProperties_IfcMaterialDefinition
    ], [
        a owl:Class ;
        owl:unionOf (:IfcMaterial
            :IfcMaterialLayerSet
            :IfcMaterialConstituent
            :IfcMaterialConstituentSet
            :IfcMaterialProfile
            :IfcMaterialProfileSet
            :IfcMaterialLayer
        )
    ] .

:IfcMaterialDefinitionRepresentation
    a owl:Class ;
    rdfs:subClassOf :IfcProductRepresentation, [
        a owl:Restriction ;
        owl:onClass :IfcMaterial ;
        owl:onProperty :representedMaterial_IfcMaterialDefinitionRepresentation ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterial ;
        owl:onProperty :representedMaterial_IfcMaterialDefinitionRepresentation
    ] ;
    owl:disjointWith :IfcProductDefinitionShape .

:IfcMaterialLayer
    a owl:Class ;
    rdfs:subClassOf :IfcMaterialDefinition, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLogical ;
        owl:onProperty :isVentilated_IfcMaterialLayer
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNormalisedRatioMeasure ;
        owl:onProperty :priority_IfcMaterialLayer
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcMaterialLayer
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcMaterialLayer
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :category_IfcMaterialLayer
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcMaterialLayer
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterial ;
        owl:onProperty :material_IfcMaterialLayer
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcMaterial ;
        owl:onProperty :material_IfcMaterialLayer
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLogical ;
        owl:onProperty :isVentilated_IfcMaterialLayer
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :category_IfcMaterialLayer
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNormalisedRatioMeasure ;
        owl:onProperty :priority_IfcMaterialLayer
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcMaterialLayer
    ], [
        a owl:Restriction ;
        owl:onClass :IfcNonNegativeLengthMeasure ;
        owl:onProperty :layerThickness_IfcMaterialLayer ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNonNegativeLengthMeasure ;
        owl:onProperty :layerThickness_IfcMaterialLayer
    ] ;
    owl:disjointWith :IfcMaterial, :IfcMaterialConstituent, :IfcMaterialConstituentSet, :IfcMaterialLayerSet, :IfcMaterialProfile, :IfcMaterialProfileSet .

:IfcMaterialLayerSet
    a owl:Class ;
    rdfs:subClassOf :IfcMaterialDefinition, [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcMaterialLayer_List
        ] ;
        owl:onProperty :materialLayers_IfcMaterialLayerSet
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterialLayer_List ;
        owl:onProperty :materialLayers_IfcMaterialLayerSet
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcMaterialLayerSet
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcMaterialLayerSet
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :layerSetName_IfcMaterialLayerSet
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :layerSetName_IfcMaterialLayerSet
    ], [
        a owl:Restriction ;
        owl:onClass :IfcMaterialLayer_List ;
        owl:onProperty :materialLayers_IfcMaterialLayerSet ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcMaterial, :IfcMaterialConstituent, :IfcMaterialConstituentSet, :IfcMaterialLayer, :IfcMaterialProfile, :IfcMaterialProfileSet .

:IfcMaterialLayerSetUsage
    a owl:Class ;
    rdfs:subClassOf :IfcMaterialUsageDefinition, [
        a owl:Restriction ;
        owl:onClass :IfcMaterialLayerSet ;
        owl:onProperty :forLayerSet_IfcMaterialLayerSetUsage ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDirectionSenseEnum ;
        owl:onProperty :directionSense_IfcMaterialLayerSetUsage
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDirectionSenseEnum ;
        owl:onProperty :directionSense_IfcMaterialLayerSetUsage ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :offsetFromReferenceLine_IfcMaterialLayerSetUsage
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :offsetFromReferenceLine_IfcMaterialLayerSetUsage ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLayerSetDirectionEnum ;
        owl:onProperty :layerSetDirection_IfcMaterialLayerSetUsage
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLayerSetDirectionEnum ;
        owl:onProperty :layerSetDirection_IfcMaterialLayerSetUsage ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterialLayerSet ;
        owl:onProperty :forLayerSet_IfcMaterialLayerSetUsage
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :referenceExtent_IfcMaterialLayerSetUsage
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :referenceExtent_IfcMaterialLayerSetUsage
    ] ;
    owl:disjointWith :IfcMaterialProfileSetUsage .

:IfcMaterialLayerWithOffsets
    a owl:Class ;
    rdfs:subClassOf :IfcMaterialLayer, [
        a owl:Restriction ;
        owl:onClass :IfcLengthMeasure_List ;
        owl:onProperty :offsetValues_IfcMaterialLayerWithOffsets ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:allValuesFrom [
                a owl:Restriction ;
                owl:onClass :IfcLengthMeasure_EmptyList ;
                owl:onProperty list:hasNext ;
                owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
            ] ;
            owl:onProperty list:hasNext
        ] ;
        owl:onProperty :offsetValues_IfcMaterialLayerWithOffsets
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom :IfcLengthMeasure_List
            ]
        ] ;
        owl:onProperty :offsetValues_IfcMaterialLayerWithOffsets
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLayerSetDirectionEnum ;
        owl:onProperty :offsetDirection_IfcMaterialLayerWithOffsets ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLayerSetDirectionEnum ;
        owl:onProperty :offsetDirection_IfcMaterialLayerWithOffsets
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure_List ;
        owl:onProperty :offsetValues_IfcMaterialLayerWithOffsets
    ] .

:IfcMaterialLayer_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcMaterialLayer_List, list:EmptyList .

:IfcMaterialLayer_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterialLayer_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterialLayer_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterialLayer ;
        owl:onProperty list:hasContents
    ] .

:IfcMaterialList
    a owl:Class ;
    rdfs:subClassOf :IfcMaterialSelect, [
        a owl:Restriction ;
        owl:onClass :IfcMaterial_List ;
        owl:onProperty :materials_IfcMaterialList ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcMaterial_List
        ] ;
        owl:onProperty :materials_IfcMaterialList
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterial_List ;
        owl:onProperty :materials_IfcMaterialList
    ] .

:IfcMaterialProfile
    a owl:Class ;
    rdfs:subClassOf :IfcMaterialDefinition, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcMaterialProfile
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcMaterialProfile
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProfileDef ;
        owl:onProperty :profile_IfcMaterialProfile
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcMaterialProfile
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNormalisedRatioMeasure ;
        owl:onProperty :priority_IfcMaterialProfile
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterial ;
        owl:onProperty :material_IfcMaterialProfile
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :category_IfcMaterialProfile
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcMaterialProfile
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcMaterial ;
        owl:onProperty :material_IfcMaterialProfile
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNormalisedRatioMeasure ;
        owl:onProperty :priority_IfcMaterialProfile
    ], [
        a owl:Restriction ;
        owl:onClass :IfcProfileDef ;
        owl:onProperty :profile_IfcMaterialProfile ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :category_IfcMaterialProfile
    ] ;
    owl:disjointWith :IfcMaterial, :IfcMaterialConstituent, :IfcMaterialConstituentSet, :IfcMaterialLayer, :IfcMaterialLayerSet, :IfcMaterialProfileSet .

:IfcMaterialProfileSet
    a owl:Class ;
    rdfs:subClassOf :IfcMaterialDefinition, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcMaterialProfileSet
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCompositeProfileDef ;
        owl:onProperty :compositeProfile_IfcMaterialProfileSet
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcMaterialProfileSet
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcMaterialProfile_List
        ] ;
        owl:onProperty :materialProfiles_IfcMaterialProfileSet
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcMaterialProfileSet
    ], [
        a owl:Restriction ;
        owl:onClass :IfcMaterialProfile_List ;
        owl:onProperty :materialProfiles_IfcMaterialProfileSet ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcMaterialProfileSet
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCompositeProfileDef ;
        owl:onProperty :compositeProfile_IfcMaterialProfileSet
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterialProfile_List ;
        owl:onProperty :materialProfiles_IfcMaterialProfileSet
    ] ;
    owl:disjointWith :IfcMaterial, :IfcMaterialConstituent, :IfcMaterialConstituentSet, :IfcMaterialLayer, :IfcMaterialLayerSet, :IfcMaterialProfile .

:IfcMaterialProfileSetUsage
    a owl:Class ;
    rdfs:subClassOf :IfcMaterialUsageDefinition, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCardinalPointReference ;
        owl:onProperty :cardinalPoint_IfcMaterialProfileSetUsage
    ], [
        a owl:Restriction ;
        owl:onClass :IfcMaterialProfileSet ;
        owl:onProperty :forProfileSet_IfcMaterialProfileSetUsage ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :referenceExtent_IfcMaterialProfileSetUsage
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :referenceExtent_IfcMaterialProfileSetUsage
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCardinalPointReference ;
        owl:onProperty :cardinalPoint_IfcMaterialProfileSetUsage
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterialProfileSet ;
        owl:onProperty :forProfileSet_IfcMaterialProfileSetUsage
    ] ;
    owl:disjointWith :IfcMaterialLayerSetUsage .

:IfcMaterialProfileSetUsageTapering
    a owl:Class ;
    rdfs:subClassOf :IfcMaterialProfileSetUsage, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCardinalPointReference ;
        owl:onProperty :cardinalEndPoint_IfcMaterialProfileSetUsageTapering
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCardinalPointReference ;
        owl:onProperty :cardinalEndPoint_IfcMaterialProfileSetUsageTapering
    ], [
        a owl:Restriction ;
        owl:onClass :IfcMaterialProfileSet ;
        owl:onProperty :forProfileEndSet_IfcMaterialProfileSetUsageTapering ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterialProfileSet ;
        owl:onProperty :forProfileEndSet_IfcMaterialProfileSetUsageTapering
    ] .

:IfcMaterialProfileWithOffsets
    a owl:Class ;
    rdfs:subClassOf :IfcMaterialProfile, [
        a owl:Restriction ;
        owl:onClass :IfcLengthMeasure_List ;
        owl:onProperty :offsetValues_IfcMaterialProfileWithOffsets ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:allValuesFrom [
                a owl:Restriction ;
                owl:onClass :IfcLengthMeasure_EmptyList ;
                owl:onProperty list:hasNext ;
                owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
            ] ;
            owl:onProperty list:hasNext
        ] ;
        owl:onProperty :offsetValues_IfcMaterialProfileWithOffsets
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom :IfcLengthMeasure_List
            ]
        ] ;
        owl:onProperty :offsetValues_IfcMaterialProfileWithOffsets
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure_List ;
        owl:onProperty :offsetValues_IfcMaterialProfileWithOffsets
    ] .

:IfcMaterialProfile_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcMaterialProfile_List, list:EmptyList .

:IfcMaterialProfile_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterialProfile_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterialProfile_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterialProfile ;
        owl:onProperty list:hasContents
    ] .

:IfcMaterialProperties
    a owl:Class ;
    rdfs:subClassOf :IfcExtendedProperties, [
        a owl:Restriction ;
        owl:onClass :IfcMaterialDefinition ;
        owl:onProperty :material_IfcMaterialProperties ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterialDefinition ;
        owl:onProperty :material_IfcMaterialProperties
    ] ;
    owl:disjointWith :IfcProfileProperties .

:IfcMaterialRelationship
    a owl:Class ;
    rdfs:subClassOf :IfcResourceLevelRelationship, [
        a owl:Restriction ;
        owl:onClass :IfcMaterial ;
        owl:onProperty :relatingMaterial_IfcMaterialRelationship ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterial ;
        owl:onProperty :relatingMaterial_IfcMaterialRelationship
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :expression_IfcMaterialRelationship
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterial ;
        owl:onProperty :relatedMaterials_IfcMaterialRelationship
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :expression_IfcMaterialRelationship
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcMaterial ;
        owl:onProperty :relatedMaterials_IfcMaterialRelationship
    ] ;
    owl:disjointWith :IfcApprovalRelationship, :IfcCurrencyRelationship, :IfcDocumentInformationRelationship, :IfcExternalReferenceRelationship, :IfcOrganizationRelationship, :IfcPropertyDependencyRelationship, :IfcResourceApprovalRelationship, :IfcResourceConstraintRelationship .

:IfcMaterialSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcMaterialUsageDefinition
    a owl:Class ;
    rdfs:subClassOf :IfcMaterialSelect, [
        a owl:Class ;
        owl:unionOf (:IfcMaterialProfileSetUsage
            :IfcMaterialLayerSetUsage
        )
    ] .

:IfcMaterial_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcMaterial_List, list:EmptyList .

:IfcMaterial_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterial_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterial ;
        owl:onProperty list:hasContents
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterial_List ;
        owl:onProperty list:hasNext
    ] .

:IfcMeasureValue
    a owl:Class ;
    rdfs:subClassOf expr:SELECT, :IfcValue .

:IfcMeasureWithUnit
    a owl:Class ;
    rdfs:subClassOf :IfcAppliedValueSelect, :IfcMetricValueSelect, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcValue ;
        owl:onProperty :valueComponent_IfcMeasureWithUnit
    ], [
        a owl:Restriction ;
        owl:onClass :IfcUnit ;
        owl:onProperty :unitComponent_IfcMeasureWithUnit ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcValue ;
        owl:onProperty :valueComponent_IfcMeasureWithUnit ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcUnit ;
        owl:onProperty :unitComponent_IfcMeasureWithUnit
    ] .

:IfcMechanicalFastener
    a owl:Class ;
    rdfs:subClassOf :IfcElementComponent, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :nominalLength_IfcMechanicalFastener
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :nominalDiameter_IfcMechanicalFastener
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :nominalDiameter_IfcMechanicalFastener
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcMechanicalFastenerTypeEnum ;
        owl:onProperty :predefinedType_IfcMechanicalFastener
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :nominalLength_IfcMechanicalFastener
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMechanicalFastenerTypeEnum ;
        owl:onProperty :predefinedType_IfcMechanicalFastener
    ] ;
    owl:disjointWith :IfcBuildingElementPart, :IfcDiscreteAccessory, :IfcFastener, :IfcReinforcingElement, :IfcVibrationIsolator .

:IfcMechanicalFastenerType
    a owl:Class ;
    rdfs:subClassOf :IfcElementComponentType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMechanicalFastenerTypeEnum ;
        owl:onProperty :predefinedType_IfcMechanicalFastenerType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :nominalDiameter_IfcMechanicalFastenerType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcMechanicalFastenerTypeEnum ;
        owl:onProperty :predefinedType_IfcMechanicalFastenerType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :nominalDiameter_IfcMechanicalFastenerType
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :nominalLength_IfcMechanicalFastenerType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :nominalLength_IfcMechanicalFastenerType
    ] ;
    owl:disjointWith :IfcBuildingElementPartType, :IfcDiscreteAccessoryType, :IfcFastenerType, :IfcReinforcingElementType, :IfcVibrationIsolatorType .

:IfcMechanicalFastenerTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcMedicalDevice
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminal, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMedicalDeviceTypeEnum ;
        owl:onProperty :predefinedType_IfcMedicalDevice
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcMedicalDeviceTypeEnum ;
        owl:onProperty :predefinedType_IfcMedicalDevice
    ] ;
    owl:disjointWith :IfcAirTerminal, :IfcAudioVisualAppliance, :IfcCommunicationsAppliance, :IfcElectricAppliance, :IfcFireSuppressionTerminal, :IfcLamp, :IfcLightFixture, :IfcOutlet, :IfcSanitaryTerminal, :IfcSpaceHeater, :IfcStackTerminal, :IfcWasteTerminal .

:IfcMedicalDeviceType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminalType, [
        a owl:Restriction ;
        owl:onClass :IfcMedicalDeviceTypeEnum ;
        owl:onProperty :predefinedType_IfcMedicalDeviceType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMedicalDeviceTypeEnum ;
        owl:onProperty :predefinedType_IfcMedicalDeviceType
    ] ;
    owl:disjointWith :IfcAirTerminalType, :IfcAudioVisualApplianceType, :IfcCommunicationsApplianceType, :IfcElectricApplianceType, :IfcFireSuppressionTerminalType, :IfcLampType, :IfcLightFixtureType, :IfcOutletType, :IfcSanitaryTerminalType, :IfcSpaceHeaterType, :IfcStackTerminalType, :IfcWasteTerminalType .

:IfcMedicalDeviceTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcMember
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMemberTypeEnum ;
        owl:onProperty :predefinedType_IfcMember
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcMemberTypeEnum ;
        owl:onProperty :predefinedType_IfcMember
    ] ;
    owl:disjointWith :IfcBeam, :IfcBuildingElementProxy, :IfcChimney, :IfcColumn, :IfcCovering, :IfcCurtainWall, :IfcDoor, :IfcFooting, :IfcPile, :IfcPlate, :IfcRailing, :IfcRamp, :IfcRampFlight, :IfcRoof, :IfcShadingDevice, :IfcSlab, :IfcStair, :IfcStairFlight, :IfcWall, :IfcWindow .

:IfcMemberStandardCase
    a owl:Class ;
    rdfs:subClassOf :IfcMember .

:IfcMemberType
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElementType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMemberTypeEnum ;
        owl:onProperty :predefinedType_IfcMemberType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcMemberTypeEnum ;
        owl:onProperty :predefinedType_IfcMemberType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcBeamType, :IfcBuildingElementProxyType, :IfcChimneyType, :IfcColumnType, :IfcCoveringType, :IfcCurtainWallType, :IfcDoorType, :IfcFootingType, :IfcPileType, :IfcPlateType, :IfcRailingType, :IfcRampFlightType, :IfcRampType, :IfcRoofType, :IfcShadingDeviceType, :IfcSlabType, :IfcStairFlightType, :IfcStairType, :IfcWallType, :IfcWindowType .

:IfcMemberTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcMetric
    a owl:Class ;
    rdfs:subClassOf :IfcConstraint, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcMetricValueSelect ;
        owl:onProperty :dataValue_IfcMetric
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMetricValueSelect ;
        owl:onProperty :dataValue_IfcMetric
    ], [
        a owl:Restriction ;
        owl:onClass :IfcBenchmarkEnum ;
        owl:onProperty :benchmark_IfcMetric ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :valueSource_IfcMetric
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReference ;
        owl:onProperty :referencePath_IfcMetric
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcReference ;
        owl:onProperty :referencePath_IfcMetric
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBenchmarkEnum ;
        owl:onProperty :benchmark_IfcMetric
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :valueSource_IfcMetric
    ] ;
    owl:disjointWith :IfcObjective .

:IfcMetricValueSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcMirroredProfileDef
    a owl:Class ;
    rdfs:subClassOf :IfcDerivedProfileDef .

:IfcModulusOfElasticityMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcModulusOfLinearSubgradeReactionMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue, :IfcModulusOfTranslationalSubgradeReactionSelect .

:IfcModulusOfRotationalSubgradeReactionMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue, :IfcModulusOfRotationalSubgradeReactionSelect .

:IfcModulusOfRotationalSubgradeReactionSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcModulusOfSubgradeReactionMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue, :IfcModulusOfSubgradeReactionSelect .

:IfcModulusOfSubgradeReactionSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcModulusOfTranslationalSubgradeReactionSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcMoistureDiffusivityMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcMolecularWeightMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcMomentOfInertiaMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcMonetaryMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcMonetaryUnit
    a owl:Class ;
    rdfs:subClassOf :IfcUnit, [
        a owl:Restriction ;
        owl:onClass :IfcLabel ;
        owl:onProperty :currency_IfcMonetaryUnit ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :currency_IfcMonetaryUnit
    ] .

:IfcMonthInYearNumber
    a owl:Class ;
    rdfs:subClassOf expr:INTEGER .

:IfcMotorConnection
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDevice, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcMotorConnectionTypeEnum ;
        owl:onProperty :predefinedType_IfcMotorConnection
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMotorConnectionTypeEnum ;
        owl:onProperty :predefinedType_IfcMotorConnection
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecovery, :IfcBoiler, :IfcBurner, :IfcChiller, :IfcCoil, :IfcCondenser, :IfcCooledBeam, :IfcCoolingTower, :IfcElectricGenerator, :IfcElectricMotor, :IfcEngine, :IfcEvaporativeCooler, :IfcEvaporator, :IfcHeatExchanger, :IfcHumidifier, :IfcSolarDevice, :IfcTransformer, :IfcTubeBundle, :IfcUnitaryEquipment .

:IfcMotorConnectionType
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDeviceType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMotorConnectionTypeEnum ;
        owl:onProperty :predefinedType_IfcMotorConnectionType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcMotorConnectionTypeEnum ;
        owl:onProperty :predefinedType_IfcMotorConnectionType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecoveryType, :IfcBoilerType, :IfcBurnerType, :IfcChillerType, :IfcCoilType, :IfcCondenserType, :IfcCooledBeamType, :IfcCoolingTowerType, :IfcElectricGeneratorType, :IfcElectricMotorType, :IfcEngineType, :IfcEvaporativeCoolerType, :IfcEvaporatorType, :IfcHeatExchangerType, :IfcHumidifierType, :IfcSolarDeviceType, :IfcTransformerType, :IfcTubeBundleType, :IfcUnitaryEquipmentType .

:IfcMotorConnectionTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcNamedUnit
    a owl:Class ;
    rdfs:subClassOf :IfcUnit, [
        a owl:Restriction ;
        owl:onClass :IfcUnitEnum ;
        owl:onProperty :unitType_IfcNamedUnit ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcUnitEnum ;
        owl:onProperty :unitType_IfcNamedUnit
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDimensionalExponents ;
        owl:onProperty :dimensions_IfcNamedUnit ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDimensionalExponents ;
        owl:onProperty :dimensions_IfcNamedUnit
    ], [
        a owl:Class ;
        owl:unionOf (:IfcConversionBasedUnit
            :IfcSIUnit
            :IfcContextDependentUnit
        )
    ] .

:IfcNonNegativeLengthMeasure
    a owl:Class ;
    rdfs:subClassOf :IfcLengthMeasure, :IfcMeasureValue .

:IfcNormalisedRatioMeasure
    a owl:Class ;
    rdfs:subClassOf :IfcColourOrFactor, :IfcMeasureValue, :IfcRatioMeasure, :IfcSizeSelect .

:IfcNormalisedRatioMeasure_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcNormalisedRatioMeasure_List, list:EmptyList .

:IfcNormalisedRatioMeasure_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNormalisedRatioMeasure ;
        owl:onProperty list:hasContents
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNormalisedRatioMeasure_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNormalisedRatioMeasure_List ;
        owl:onProperty list:isFollowedBy
    ] .

:IfcNormalisedRatioMeasure_List_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcNormalisedRatioMeasure_List_List, list:EmptyList .

:IfcNormalisedRatioMeasure_List_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNormalisedRatioMeasure_List_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNormalisedRatioMeasure_List ;
        owl:onProperty list:hasContents
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNormalisedRatioMeasure_List_List ;
        owl:onProperty list:isFollowedBy
    ] .

:IfcNullStyle
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION, :IfcPresentationStyleSelect .

:IfcNumericMeasure
    a owl:Class ;
    rdfs:subClassOf expr:NUMBER, :IfcMeasureValue .

:IfcObject
    a owl:Class ;
    rdfs:subClassOf :IfcObjectDefinition, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :objectType_IfcObject
    ], [
        a owl:Class ;
        owl:unionOf (:IfcGroup
            :IfcResource
            :IfcProcess
            :IfcProduct
            :IfcActor
            :IfcControl
        )
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelDefinesByObject ;
        owl:onProperty :isDeclaredBy_IfcObject
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRelDefinesByType ;
        owl:onProperty :isTypedBy_IfcObject
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :objectType_IfcObject
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRelDefinesByObject ;
        owl:onProperty :isDeclaredBy_IfcObject
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelDefinesByType ;
        owl:onProperty :isTypedBy_IfcObject
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelDefinesByObject ;
        owl:onProperty :declares_IfcObject
    ] ;
    owl:disjointWith :IfcContext, :IfcTypeObject .

:IfcObjectDefinition
    a owl:Class ;
    rdfs:subClassOf :IfcDefinitionSelect, :IfcRoot, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRelAggregates ;
        owl:onProperty :decomposes_IfcObjectDefinition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelNests ;
        owl:onProperty :isNestedBy_IfcObjectDefinition
    ], [
        a owl:Class ;
        owl:unionOf (:IfcObject
            :IfcContext
            :IfcTypeObject
        )
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelAggregates ;
        owl:onProperty :decomposes_IfcObjectDefinition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelAssigns ;
        owl:onProperty :hasAssignments_IfcObjectDefinition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelAggregates ;
        owl:onProperty :isDecomposedBy_IfcObjectDefinition
    ] ;
    owl:disjointWith :IfcPropertyDefinition, :IfcRelationship .

:IfcObjectDefinition_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcObjectDefinition_List, list:EmptyList .

:IfcObjectDefinition_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcObjectDefinition_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcObjectDefinition_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcObjectDefinition ;
        owl:onProperty list:hasContents
    ] .

:IfcObjectPlacement
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Class ;
        owl:unionOf (:IfcLocalPlacement
            :IfcGridPlacement
        )
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLocalPlacement ;
        owl:onProperty :referencedByPlacements_IfcObjectPlacement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProduct ;
        owl:onProperty :placesObject_IfcObjectPlacement
    ] .

:IfcObjectReferenceSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcObjectTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcObjective
    a owl:Class ;
    rdfs:subClassOf :IfcConstraint, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :userDefinedQualifier_IfcObjective
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcObjectiveEnum ;
        owl:onProperty :objectiveQualifier_IfcObjective
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :userDefinedQualifier_IfcObjective
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLogicalOperatorEnum ;
        owl:onProperty :logicalAggregator_IfcObjective
    ], [
        a owl:Restriction ;
        owl:onClass :IfcObjectiveEnum ;
        owl:onProperty :objectiveQualifier_IfcObjective ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcConstraint_List
        ] ;
        owl:onProperty :benchmarkValues_IfcObjective
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLogicalOperatorEnum ;
        owl:onProperty :logicalAggregator_IfcObjective
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcConstraint_List ;
        owl:onProperty :benchmarkValues_IfcObjective
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcConstraint_List ;
        owl:onProperty :benchmarkValues_IfcObjective
    ] ;
    owl:disjointWith :IfcMetric .

:IfcObjectiveEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcOccupant
    a owl:Class ;
    rdfs:subClassOf :IfcActor, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcOccupantTypeEnum ;
        owl:onProperty :predefinedType_IfcOccupant
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcOccupantTypeEnum ;
        owl:onProperty :predefinedType_IfcOccupant
    ] .

:IfcOccupantTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcOffsetCurve2D
    a owl:Class ;
    rdfs:subClassOf :IfcCurve, [
        a owl:Restriction ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :distance_IfcOffsetCurve2D ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCurve ;
        owl:onProperty :basisCurve_IfcOffsetCurve2D ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :distance_IfcOffsetCurve2D
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLogical ;
        owl:onProperty :selfIntersect_IfcOffsetCurve2D
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurve ;
        owl:onProperty :basisCurve_IfcOffsetCurve2D
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLogical ;
        owl:onProperty :selfIntersect_IfcOffsetCurve2D ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcBoundedCurve, :IfcConic, :IfcLine, :IfcOffsetCurve3D, :IfcPcurve .

:IfcOffsetCurve3D
    a owl:Class ;
    rdfs:subClassOf :IfcCurve, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :distance_IfcOffsetCurve3D
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLogical ;
        owl:onProperty :selfIntersect_IfcOffsetCurve3D ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :distance_IfcOffsetCurve3D ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDirection ;
        owl:onProperty :refDirection_IfcOffsetCurve3D
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLogical ;
        owl:onProperty :selfIntersect_IfcOffsetCurve3D
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCurve ;
        owl:onProperty :basisCurve_IfcOffsetCurve3D ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurve ;
        owl:onProperty :basisCurve_IfcOffsetCurve3D
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDirection ;
        owl:onProperty :refDirection_IfcOffsetCurve3D ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcBoundedCurve, :IfcConic, :IfcLine, :IfcOffsetCurve2D, :IfcPcurve .

:IfcOpenShell
    a owl:Class ;
    rdfs:subClassOf :IfcConnectedFaceSet, :IfcShell ;
    owl:disjointWith :IfcClosedShell .

:IfcOpeningElement
    a owl:Class ;
    rdfs:subClassOf :IfcFeatureElementSubtraction, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelFillsElement ;
        owl:onProperty :hasFillings_IfcOpeningElement
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcOpeningElementTypeEnum ;
        owl:onProperty :predefinedType_IfcOpeningElement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcOpeningElementTypeEnum ;
        owl:onProperty :predefinedType_IfcOpeningElement
    ] ;
    owl:disjointWith :IfcVoidingFeature .

:IfcOpeningElementTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcOpeningStandardCase
    a owl:Class ;
    rdfs:subClassOf :IfcOpeningElement .

:IfcOrganization
    a owl:Class ;
    rdfs:subClassOf :IfcActorSelect, :IfcObjectReferenceSelect, :IfcResourceObjectSelect, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcOrganizationRelationship ;
        owl:onProperty :isRelatedBy_IfcOrganization
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPersonAndOrganization ;
        owl:onProperty :engages_IfcOrganization
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcOrganizationRelationship ;
        owl:onProperty :relates_IfcOrganization
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcActorRole_List
        ] ;
        owl:onProperty :roles_IfcOrganization
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :identification_IfcOrganization
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :identification_IfcOrganization
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcOrganization ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcActorRole_List ;
        owl:onProperty :roles_IfcOrganization
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcActorRole_List ;
        owl:onProperty :roles_IfcOrganization
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcAddress_List
        ] ;
        owl:onProperty :addresses_IfcOrganization
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAddress_List ;
        owl:onProperty :addresses_IfcOrganization
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcOrganization
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcOrganization
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcOrganization
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAddress_List ;
        owl:onProperty :addresses_IfcOrganization
    ] .

:IfcOrganizationRelationship
    a owl:Class ;
    rdfs:subClassOf :IfcResourceLevelRelationship, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcOrganization ;
        owl:onProperty :relatedOrganizations_IfcOrganizationRelationship
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcOrganization ;
        owl:onProperty :relatedOrganizations_IfcOrganizationRelationship
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcOrganization ;
        owl:onProperty :relatingOrganization_IfcOrganizationRelationship
    ], [
        a owl:Restriction ;
        owl:onClass :IfcOrganization ;
        owl:onProperty :relatingOrganization_IfcOrganizationRelationship ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcApprovalRelationship, :IfcCurrencyRelationship, :IfcDocumentInformationRelationship, :IfcExternalReferenceRelationship, :IfcMaterialRelationship, :IfcPropertyDependencyRelationship, :IfcResourceApprovalRelationship, :IfcResourceConstraintRelationship .

:IfcOrientedEdge
    a owl:Class ;
    rdfs:subClassOf :IfcEdge, [
        a owl:Restriction ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :orientation_IfcOrientedEdge ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :orientation_IfcOrientedEdge
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcEdge ;
        owl:onProperty :edgeElement_IfcOrientedEdge
    ], [
        a owl:Restriction ;
        owl:onClass :IfcEdge ;
        owl:onProperty :edgeElement_IfcOrientedEdge ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcEdgeCurve, :IfcSubedge .

:IfcOrientedEdge_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcOrientedEdge_List, list:EmptyList .

:IfcOrientedEdge_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcOrientedEdge_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcOrientedEdge ;
        owl:onProperty list:hasContents
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcOrientedEdge_List ;
        owl:onProperty list:isFollowedBy
    ] .

:IfcOuterBoundaryCurve
    a owl:Class ;
    rdfs:subClassOf :IfcBoundaryCurve .

:IfcOutlet
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminal, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcOutletTypeEnum ;
        owl:onProperty :predefinedType_IfcOutlet
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcOutletTypeEnum ;
        owl:onProperty :predefinedType_IfcOutlet
    ] ;
    owl:disjointWith :IfcAirTerminal, :IfcAudioVisualAppliance, :IfcCommunicationsAppliance, :IfcElectricAppliance, :IfcFireSuppressionTerminal, :IfcLamp, :IfcLightFixture, :IfcMedicalDevice, :IfcSanitaryTerminal, :IfcSpaceHeater, :IfcStackTerminal, :IfcWasteTerminal .

:IfcOutletType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminalType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcOutletTypeEnum ;
        owl:onProperty :predefinedType_IfcOutletType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcOutletTypeEnum ;
        owl:onProperty :predefinedType_IfcOutletType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAirTerminalType, :IfcAudioVisualApplianceType, :IfcCommunicationsApplianceType, :IfcElectricApplianceType, :IfcFireSuppressionTerminalType, :IfcLampType, :IfcLightFixtureType, :IfcMedicalDeviceType, :IfcSanitaryTerminalType, :IfcSpaceHeaterType, :IfcStackTerminalType, :IfcWasteTerminalType .

:IfcOutletTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcOwnerHistory
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:allValuesFrom :IfcApplication ;
        owl:onProperty :owningApplication_IfcOwnerHistory
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTimeStamp ;
        owl:onProperty :creationDate_IfcOwnerHistory
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTimeStamp ;
        owl:onProperty :lastModifiedDate_IfcOwnerHistory
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPersonAndOrganization ;
        owl:onProperty :lastModifyingUser_IfcOwnerHistory
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStateEnum ;
        owl:onProperty :state_IfcOwnerHistory
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcApplication ;
        owl:onProperty :lastModifyingApplication_IfcOwnerHistory
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcChangeActionEnum ;
        owl:onProperty :changeAction_IfcOwnerHistory
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcStateEnum ;
        owl:onProperty :state_IfcOwnerHistory
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPersonAndOrganization ;
        owl:onProperty :owningUser_IfcOwnerHistory ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcApplication ;
        owl:onProperty :lastModifyingApplication_IfcOwnerHistory
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcChangeActionEnum ;
        owl:onProperty :changeAction_IfcOwnerHistory
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPersonAndOrganization ;
        owl:onProperty :owningUser_IfcOwnerHistory
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTimeStamp ;
        owl:onProperty :lastModifiedDate_IfcOwnerHistory
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPersonAndOrganization ;
        owl:onProperty :lastModifyingUser_IfcOwnerHistory
    ], [
        a owl:Restriction ;
        owl:onClass :IfcTimeStamp ;
        owl:onProperty :creationDate_IfcOwnerHistory ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcApplication ;
        owl:onProperty :owningApplication_IfcOwnerHistory ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] .

:IfcPHMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcParameterValue
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcMeasureValue, :IfcTrimmingSelect .

:IfcParameterValue_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcParameterValue_List, list:EmptyList .

:IfcParameterValue_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue ;
        owl:onProperty list:hasContents
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue_List ;
        owl:onProperty list:isFollowedBy
    ] .

:IfcParameterValue_List_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcParameterValue_List_List, list:EmptyList .

:IfcParameterValue_List_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue_List_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue_List_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue_List ;
        owl:onProperty list:hasContents
    ] .

:IfcParameterizedProfileDef
    a owl:Class ;
    rdfs:subClassOf :IfcProfileDef, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAxis2Placement2D ;
        owl:onProperty :position_IfcParameterizedProfileDef
    ], [
        a owl:Class ;
        owl:unionOf (:IfcIShapeProfileDef
            :IfcLShapeProfileDef
            :IfcEllipseProfileDef
            :IfcCircleProfileDef
            :IfcCShapeProfileDef
            :IfcTShapeProfileDef
            :IfcRectangleProfileDef
            :IfcZShapeProfileDef
            :IfcTrapeziumProfileDef
            :IfcUShapeProfileDef
            :IfcAsymmetricIShapeProfileDef
        )
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAxis2Placement2D ;
        owl:onProperty :position_IfcParameterizedProfileDef
    ] ;
    owl:disjointWith :IfcArbitraryClosedProfileDef, :IfcArbitraryOpenProfileDef, :IfcCompositeProfileDef, :IfcDerivedProfileDef .

:IfcPath
    a owl:Class ;
    rdfs:subClassOf :IfcTopologicalRepresentationItem, [
        a owl:Restriction ;
        owl:onClass :IfcOrientedEdge_List ;
        owl:onProperty :edgeList_IfcPath ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcOrientedEdge_List ;
        owl:onProperty :edgeList_IfcPath
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcOrientedEdge_List
        ] ;
        owl:onProperty :edgeList_IfcPath
    ] ;
    owl:disjointWith :IfcConnectedFaceSet, :IfcEdge, :IfcFace, :IfcFaceBound, :IfcLoop, :IfcVertex .

:IfcPcurve
    a owl:Class ;
    rdfs:subClassOf :IfcCurve, :IfcCurveOnSurface, [
        a owl:Restriction ;
        owl:onClass :IfcSurface ;
        owl:onProperty :basisSurface_IfcPcurve ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurve ;
        owl:onProperty :referenceCurve_IfcPcurve
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSurface ;
        owl:onProperty :basisSurface_IfcPcurve
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCurve ;
        owl:onProperty :referenceCurve_IfcPcurve ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcBoundedCurve, :IfcConic, :IfcLine, :IfcOffsetCurve2D, :IfcOffsetCurve3D .

:IfcPerformanceHistory
    a owl:Class ;
    rdfs:subClassOf :IfcControl, [
        a owl:Restriction ;
        owl:onClass :IfcLabel ;
        owl:onProperty :lifeCyclePhase_IfcPerformanceHistory ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :lifeCyclePhase_IfcPerformanceHistory
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPerformanceHistoryTypeEnum ;
        owl:onProperty :predefinedType_IfcPerformanceHistory
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPerformanceHistoryTypeEnum ;
        owl:onProperty :predefinedType_IfcPerformanceHistory
    ] ;
    owl:disjointWith :IfcActionRequest, :IfcCostItem, :IfcCostSchedule, :IfcPermit, :IfcProjectOrder, :IfcWorkCalendar, :IfcWorkControl .

:IfcPerformanceHistoryTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcPermeableCoveringOperationEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcPermeableCoveringProperties
    a owl:Class ;
    rdfs:subClassOf :IfcPreDefinedPropertySet, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcShapeAspect ;
        owl:onProperty :shapeAspectStyle_IfcPermeableCoveringProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :frameDepth_IfcPermeableCoveringProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :frameDepth_IfcPermeableCoveringProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :frameThickness_IfcPermeableCoveringProperties
    ], [
        a owl:Restriction ;
        owl:onClass :IfcWindowPanelPositionEnum ;
        owl:onProperty :panelPosition_IfcPermeableCoveringProperties ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPermeableCoveringOperationEnum ;
        owl:onProperty :operationType_IfcPermeableCoveringProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcWindowPanelPositionEnum ;
        owl:onProperty :panelPosition_IfcPermeableCoveringProperties
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPermeableCoveringOperationEnum ;
        owl:onProperty :operationType_IfcPermeableCoveringProperties ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :frameThickness_IfcPermeableCoveringProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcShapeAspect ;
        owl:onProperty :shapeAspectStyle_IfcPermeableCoveringProperties
    ] ;
    owl:disjointWith :IfcDoorLiningProperties, :IfcDoorPanelProperties, :IfcReinforcementDefinitionProperties, :IfcWindowLiningProperties, :IfcWindowPanelProperties .

:IfcPermit
    a owl:Class ;
    rdfs:subClassOf :IfcControl, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :status_IfcPermit
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPermitTypeEnum ;
        owl:onProperty :predefinedType_IfcPermit
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :status_IfcPermit
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPermitTypeEnum ;
        owl:onProperty :predefinedType_IfcPermit
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :longDescription_IfcPermit
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :longDescription_IfcPermit
    ] ;
    owl:disjointWith :IfcActionRequest, :IfcCostItem, :IfcCostSchedule, :IfcPerformanceHistory, :IfcProjectOrder, :IfcWorkCalendar, :IfcWorkControl .

:IfcPermitTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcPerson
    a owl:Class ;
    rdfs:subClassOf :IfcActorSelect, :IfcObjectReferenceSelect, :IfcResourceObjectSelect, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel_List ;
        owl:onProperty :middleNames_IfcPerson
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcActorRole_List
        ] ;
        owl:onProperty :roles_IfcPerson
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel_List ;
        owl:onProperty :prefixTitles_IfcPerson
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcLabel_List
        ] ;
        owl:onProperty :middleNames_IfcPerson
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcActorRole_List ;
        owl:onProperty :roles_IfcPerson
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel_List ;
        owl:onProperty :suffixTitles_IfcPerson
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPersonAndOrganization ;
        owl:onProperty :engagedIn_IfcPerson
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :identification_IfcPerson
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcLabel_List
        ] ;
        owl:onProperty :prefixTitles_IfcPerson
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcLabel_List
        ] ;
        owl:onProperty :suffixTitles_IfcPerson
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAddress_List ;
        owl:onProperty :addresses_IfcPerson
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcActorRole_List ;
        owl:onProperty :roles_IfcPerson
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcAddress_List
        ] ;
        owl:onProperty :addresses_IfcPerson
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel_List ;
        owl:onProperty :middleNames_IfcPerson
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel_List ;
        owl:onProperty :suffixTitles_IfcPerson
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :identification_IfcPerson
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :familyName_IfcPerson
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel_List ;
        owl:onProperty :prefixTitles_IfcPerson
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :givenName_IfcPerson
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :familyName_IfcPerson
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :givenName_IfcPerson
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAddress_List ;
        owl:onProperty :addresses_IfcPerson
    ] .

:IfcPersonAndOrganization
    a owl:Class ;
    rdfs:subClassOf :IfcActorSelect, :IfcObjectReferenceSelect, :IfcResourceObjectSelect, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPerson ;
        owl:onProperty :thePerson_IfcPersonAndOrganization
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcActorRole_List ;
        owl:onProperty :roles_IfcPersonAndOrganization
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcActorRole_List
        ] ;
        owl:onProperty :roles_IfcPersonAndOrganization
    ], [
        a owl:Restriction ;
        owl:onClass :IfcOrganization ;
        owl:onProperty :theOrganization_IfcPersonAndOrganization ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcActorRole_List ;
        owl:onProperty :roles_IfcPersonAndOrganization
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPerson ;
        owl:onProperty :thePerson_IfcPersonAndOrganization ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcOrganization ;
        owl:onProperty :theOrganization_IfcPersonAndOrganization
    ] .

:IfcPhysicalComplexQuantity
    a owl:Class ;
    rdfs:subClassOf :IfcPhysicalQuantity, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :quality_IfcPhysicalComplexQuantity
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPhysicalQuantity ;
        owl:onProperty :hasQuantities_IfcPhysicalComplexQuantity
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLabel ;
        owl:onProperty :discrimination_IfcPhysicalComplexQuantity ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :discrimination_IfcPhysicalComplexQuantity
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :usage_IfcPhysicalComplexQuantity
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :usage_IfcPhysicalComplexQuantity
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPhysicalQuantity ;
        owl:onProperty :hasQuantities_IfcPhysicalComplexQuantity
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :quality_IfcPhysicalComplexQuantity
    ] ;
    owl:disjointWith :IfcPhysicalSimpleQuantity .

:IfcPhysicalOrVirtualEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcPhysicalQuantity
    a owl:Class ;
    rdfs:subClassOf :IfcResourceObjectSelect, [
        a owl:Class ;
        owl:unionOf (:IfcPhysicalSimpleQuantity
            :IfcPhysicalComplexQuantity
        )
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPhysicalComplexQuantity ;
        owl:onProperty :partOfComplex_IfcPhysicalQuantity
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPhysicalComplexQuantity ;
        owl:onProperty :partOfComplex_IfcPhysicalQuantity
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcPhysicalQuantity
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcPhysicalQuantity
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcPhysicalQuantity ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcPhysicalQuantity
    ] .

:IfcPhysicalQuantity_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcPhysicalQuantity_List, list:EmptyList .

:IfcPhysicalQuantity_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPhysicalQuantity_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPhysicalQuantity_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPhysicalQuantity ;
        owl:onProperty list:hasContents
    ] .

:IfcPhysicalSimpleQuantity
    a owl:Class ;
    rdfs:subClassOf :IfcPhysicalQuantity, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNamedUnit ;
        owl:onProperty :unit_IfcPhysicalSimpleQuantity
    ], [
        a owl:Class ;
        owl:unionOf (:IfcQuantityVolume
            :IfcQuantityCount
            :IfcQuantityLength
            :IfcQuantityWeight
            :IfcQuantityTime
            :IfcQuantityArea
        )
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNamedUnit ;
        owl:onProperty :unit_IfcPhysicalSimpleQuantity
    ] ;
    owl:disjointWith :IfcPhysicalComplexQuantity .

:IfcPile
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPileConstructionEnum ;
        owl:onProperty :constructionType_IfcPile
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPileTypeEnum ;
        owl:onProperty :predefinedType_IfcPile
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPileConstructionEnum ;
        owl:onProperty :constructionType_IfcPile
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPileTypeEnum ;
        owl:onProperty :predefinedType_IfcPile
    ] ;
    owl:disjointWith :IfcBeam, :IfcBuildingElementProxy, :IfcChimney, :IfcColumn, :IfcCovering, :IfcCurtainWall, :IfcDoor, :IfcFooting, :IfcMember, :IfcPlate, :IfcRailing, :IfcRamp, :IfcRampFlight, :IfcRoof, :IfcShadingDevice, :IfcSlab, :IfcStair, :IfcStairFlight, :IfcWall, :IfcWindow .

:IfcPileConstructionEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcPileType
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElementType, [
        a owl:Restriction ;
        owl:onClass :IfcPileTypeEnum ;
        owl:onProperty :predefinedType_IfcPileType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPileTypeEnum ;
        owl:onProperty :predefinedType_IfcPileType
    ] ;
    owl:disjointWith :IfcBeamType, :IfcBuildingElementProxyType, :IfcChimneyType, :IfcColumnType, :IfcCoveringType, :IfcCurtainWallType, :IfcDoorType, :IfcFootingType, :IfcMemberType, :IfcPlateType, :IfcRailingType, :IfcRampFlightType, :IfcRampType, :IfcRoofType, :IfcShadingDeviceType, :IfcSlabType, :IfcStairFlightType, :IfcStairType, :IfcWallType, :IfcWindowType .

:IfcPileTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcPipeFitting
    a owl:Class ;
    rdfs:subClassOf :IfcFlowFitting, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPipeFittingTypeEnum ;
        owl:onProperty :predefinedType_IfcPipeFitting
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPipeFittingTypeEnum ;
        owl:onProperty :predefinedType_IfcPipeFitting
    ] ;
    owl:disjointWith :IfcCableCarrierFitting, :IfcCableFitting, :IfcDuctFitting, :IfcJunctionBox .

:IfcPipeFittingType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowFittingType, [
        a owl:Restriction ;
        owl:onClass :IfcPipeFittingTypeEnum ;
        owl:onProperty :predefinedType_IfcPipeFittingType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPipeFittingTypeEnum ;
        owl:onProperty :predefinedType_IfcPipeFittingType
    ] ;
    owl:disjointWith :IfcCableCarrierFittingType, :IfcCableFittingType, :IfcDuctFittingType, :IfcJunctionBoxType .

:IfcPipeFittingTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcPipeSegment
    a owl:Class ;
    rdfs:subClassOf :IfcFlowSegment, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPipeSegmentTypeEnum ;
        owl:onProperty :predefinedType_IfcPipeSegment
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPipeSegmentTypeEnum ;
        owl:onProperty :predefinedType_IfcPipeSegment
    ] ;
    owl:disjointWith :IfcCableCarrierSegment, :IfcCableSegment, :IfcDuctSegment .

:IfcPipeSegmentType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowSegmentType, [
        a owl:Restriction ;
        owl:onClass :IfcPipeSegmentTypeEnum ;
        owl:onProperty :predefinedType_IfcPipeSegmentType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPipeSegmentTypeEnum ;
        owl:onProperty :predefinedType_IfcPipeSegmentType
    ] ;
    owl:disjointWith :IfcCableCarrierSegmentType, :IfcCableSegmentType, :IfcDuctSegmentType .

:IfcPipeSegmentTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcPixelTexture
    a owl:Class ;
    rdfs:subClassOf :IfcSurfaceTexture, [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcBinary_List
        ] ;
        owl:onProperty :pixel_IfcPixelTexture
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBinary_List ;
        owl:onProperty :pixel_IfcPixelTexture
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcInteger ;
        owl:onProperty :height_IfcPixelTexture
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcInteger ;
        owl:onProperty :width_IfcPixelTexture
    ], [
        a owl:Restriction ;
        owl:onClass :IfcBinary_List ;
        owl:onProperty :pixel_IfcPixelTexture ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcInteger ;
        owl:onProperty :colourComponents_IfcPixelTexture ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcInteger ;
        owl:onProperty :width_IfcPixelTexture ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcInteger ;
        owl:onProperty :colourComponents_IfcPixelTexture
    ], [
        a owl:Restriction ;
        owl:onClass :IfcInteger ;
        owl:onProperty :height_IfcPixelTexture ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcBlobTexture, :IfcImageTexture .

:IfcPlacement
    a owl:Class ;
    rdfs:subClassOf :IfcGeometricRepresentationItem, [
        a owl:Class ;
        owl:unionOf (:IfcAxis1Placement
            :IfcAxis2Placement2D
            :IfcAxis2Placement3D
        )
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCartesianPoint ;
        owl:onProperty :location_IfcPlacement ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCartesianPoint ;
        owl:onProperty :location_IfcPlacement
    ] ;
    owl:disjointWith :IfcAnnotationFillArea, :IfcBooleanResult, :IfcBoundingBox, :IfcCartesianPointList, :IfcCartesianTransformationOperator, :IfcCompositeCurveSegment, :IfcCsgPrimitive3D, :IfcCurve, :IfcDirection, :IfcFaceBasedSurfaceModel, :IfcFillAreaStyleHatching, :IfcFillAreaStyleTiles, :IfcGeometricSet, :IfcHalfSpaceSolid, :IfcLightSource, :IfcPlanarExtent, :IfcPoint, :IfcSectionedSpine, :IfcShellBasedSurfaceModel, :IfcSolidModel, :IfcSurface, :IfcTessellatedItem, :IfcTextLiteral, :IfcVector .

:IfcPlanarBox
    a owl:Class ;
    rdfs:subClassOf :IfcPlanarExtent, [
        a owl:Restriction ;
        owl:onClass :IfcAxis2Placement ;
        owl:onProperty :placement_IfcPlanarBox ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAxis2Placement ;
        owl:onProperty :placement_IfcPlanarBox
    ] .

:IfcPlanarExtent
    a owl:Class ;
    rdfs:subClassOf :IfcGeometricRepresentationItem, [
        a owl:Restriction ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :sizeInY_IfcPlanarExtent ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :sizeInX_IfcPlanarExtent ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :sizeInY_IfcPlanarExtent
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :sizeInX_IfcPlanarExtent
    ] ;
    owl:disjointWith :IfcAnnotationFillArea, :IfcBooleanResult, :IfcBoundingBox, :IfcCartesianPointList, :IfcCartesianTransformationOperator, :IfcCompositeCurveSegment, :IfcCsgPrimitive3D, :IfcCurve, :IfcDirection, :IfcFaceBasedSurfaceModel, :IfcFillAreaStyleHatching, :IfcFillAreaStyleTiles, :IfcGeometricSet, :IfcHalfSpaceSolid, :IfcLightSource, :IfcPlacement, :IfcPoint, :IfcSectionedSpine, :IfcShellBasedSurfaceModel, :IfcSolidModel, :IfcSurface, :IfcTessellatedItem, :IfcTextLiteral, :IfcVector .

:IfcPlanarForceMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcPlane
    a owl:Class ;
    rdfs:subClassOf :IfcElementarySurface ;
    owl:disjointWith :IfcCylindricalSurface .

:IfcPlaneAngleMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcBendingParameterSelect, :IfcMeasureValue .

:IfcPlaneAngleMeasure_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcPlaneAngleMeasure_List, list:EmptyList .

:IfcPlaneAngleMeasure_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPlaneAngleMeasure ;
        owl:onProperty list:hasContents
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPlaneAngleMeasure_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPlaneAngleMeasure_List ;
        owl:onProperty list:isFollowedBy
    ] .

:IfcPlate
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPlateTypeEnum ;
        owl:onProperty :predefinedType_IfcPlate
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPlateTypeEnum ;
        owl:onProperty :predefinedType_IfcPlate
    ] ;
    owl:disjointWith :IfcBeam, :IfcBuildingElementProxy, :IfcChimney, :IfcColumn, :IfcCovering, :IfcCurtainWall, :IfcDoor, :IfcFooting, :IfcMember, :IfcPile, :IfcRailing, :IfcRamp, :IfcRampFlight, :IfcRoof, :IfcShadingDevice, :IfcSlab, :IfcStair, :IfcStairFlight, :IfcWall, :IfcWindow .

:IfcPlateStandardCase
    a owl:Class ;
    rdfs:subClassOf :IfcPlate .

:IfcPlateType
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElementType, [
        a owl:Restriction ;
        owl:onClass :IfcPlateTypeEnum ;
        owl:onProperty :predefinedType_IfcPlateType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPlateTypeEnum ;
        owl:onProperty :predefinedType_IfcPlateType
    ] ;
    owl:disjointWith :IfcBeamType, :IfcBuildingElementProxyType, :IfcChimneyType, :IfcColumnType, :IfcCoveringType, :IfcCurtainWallType, :IfcDoorType, :IfcFootingType, :IfcMemberType, :IfcPileType, :IfcRailingType, :IfcRampFlightType, :IfcRampType, :IfcRoofType, :IfcShadingDeviceType, :IfcSlabType, :IfcStairFlightType, :IfcStairType, :IfcWallType, :IfcWindowType .

:IfcPlateTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcPoint
    a owl:Class ;
    rdfs:subClassOf :IfcGeometricRepresentationItem, :IfcGeometricSetSelect, :IfcPointOrVertexPoint, [
        a owl:Class ;
        owl:unionOf (:IfcCartesianPoint
            :IfcPointOnCurve
            :IfcPointOnSurface
        )
    ] ;
    owl:disjointWith :IfcAnnotationFillArea, :IfcBooleanResult, :IfcBoundingBox, :IfcCartesianPointList, :IfcCartesianTransformationOperator, :IfcCompositeCurveSegment, :IfcCsgPrimitive3D, :IfcCurve, :IfcDirection, :IfcFaceBasedSurfaceModel, :IfcFillAreaStyleHatching, :IfcFillAreaStyleTiles, :IfcGeometricSet, :IfcHalfSpaceSolid, :IfcLightSource, :IfcPlacement, :IfcPlanarExtent, :IfcSectionedSpine, :IfcShellBasedSurfaceModel, :IfcSolidModel, :IfcSurface, :IfcTessellatedItem, :IfcTextLiteral, :IfcVector .

:IfcPointOnCurve
    a owl:Class ;
    rdfs:subClassOf :IfcPoint, [
        a owl:Restriction ;
        owl:onClass :IfcParameterValue ;
        owl:onProperty :pointParameter_IfcPointOnCurve ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue ;
        owl:onProperty :pointParameter_IfcPointOnCurve
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCurve ;
        owl:onProperty :basisCurve_IfcPointOnCurve ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurve ;
        owl:onProperty :basisCurve_IfcPointOnCurve
    ] ;
    owl:disjointWith :IfcCartesianPoint, :IfcPointOnSurface .

:IfcPointOnSurface
    a owl:Class ;
    rdfs:subClassOf :IfcPoint, [
        a owl:Restriction ;
        owl:onClass :IfcParameterValue ;
        owl:onProperty :pointParameterU_IfcPointOnSurface ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSurface ;
        owl:onProperty :basisSurface_IfcPointOnSurface
    ], [
        a owl:Restriction ;
        owl:onClass :IfcSurface ;
        owl:onProperty :basisSurface_IfcPointOnSurface ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcParameterValue ;
        owl:onProperty :pointParameterV_IfcPointOnSurface ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue ;
        owl:onProperty :pointParameterV_IfcPointOnSurface
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue ;
        owl:onProperty :pointParameterU_IfcPointOnSurface
    ] ;
    owl:disjointWith :IfcCartesianPoint, :IfcPointOnCurve .

:IfcPointOrVertexPoint
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcPolyLoop
    a owl:Class ;
    rdfs:subClassOf :IfcLoop, [
        a owl:Restriction ;
        owl:onClass :IfcCartesianPoint_List ;
        owl:onProperty :polygon_IfcPolyLoop ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom [
                    a owl:Restriction ;
                    owl:onProperty list:hasNext ;
                    owl:someValuesFrom :IfcCartesianPoint_List
                ]
            ]
        ] ;
        owl:onProperty :polygon_IfcPolyLoop
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCartesianPoint_List ;
        owl:onProperty :polygon_IfcPolyLoop
    ] ;
    owl:disjointWith :IfcEdgeLoop, :IfcVertexLoop .

:IfcPolygonalBoundedHalfSpace
    a owl:Class ;
    rdfs:subClassOf :IfcHalfSpaceSolid, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAxis2Placement3D ;
        owl:onProperty :position_IfcPolygonalBoundedHalfSpace
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoundedCurve ;
        owl:onProperty :polygonalBoundary_IfcPolygonalBoundedHalfSpace
    ], [
        a owl:Restriction ;
        owl:onClass :IfcBoundedCurve ;
        owl:onProperty :polygonalBoundary_IfcPolygonalBoundedHalfSpace ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcAxis2Placement3D ;
        owl:onProperty :position_IfcPolygonalBoundedHalfSpace ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcBoxedHalfSpace .

:IfcPolyline
    a owl:Class ;
    rdfs:subClassOf :IfcBoundedCurve, [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom :IfcCartesianPoint_List
            ]
        ] ;
        owl:onProperty :points_IfcPolyline
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCartesianPoint_List ;
        owl:onProperty :points_IfcPolyline ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCartesianPoint_List ;
        owl:onProperty :points_IfcPolyline
    ] ;
    owl:disjointWith :IfcBSplineCurve, :IfcCompositeCurve, :IfcIndexedPolyCurve, :IfcTrimmedCurve .

:IfcPort
    a owl:Class ;
    rdfs:subClassOf :IfcProduct, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelConnectsPorts ;
        owl:onProperty :connectedFrom_IfcPort
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRelConnectsPorts ;
        owl:onProperty :connectedTo_IfcPort
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRelConnectsPortToElement ;
        owl:onProperty :containedIn_IfcPort
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRelConnectsPorts ;
        owl:onProperty :connectedFrom_IfcPort
    ], [
        a owl:Class ;
        owl:unionOf (:IfcDistributionPort
        )
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelConnectsPortToElement ;
        owl:onProperty :containedIn_IfcPort
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelConnectsPorts ;
        owl:onProperty :connectedTo_IfcPort
    ] ;
    owl:disjointWith :IfcAnnotation, :IfcElement, :IfcGrid, :IfcProxy, :IfcSpatialElement, :IfcStructuralActivity, :IfcStructuralItem .

:IfcPositiveInteger
    a owl:Class ;
    rdfs:subClassOf :IfcInteger, :IfcSimpleValue .

:IfcPositiveInteger_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcPositiveInteger_List, list:EmptyList .

:IfcPositiveInteger_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveInteger ;
        owl:onProperty list:hasContents
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveInteger_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveInteger_List ;
        owl:onProperty list:hasNext
    ] .

:IfcPositiveInteger_List_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcPositiveInteger_List_List, list:EmptyList .

:IfcPositiveInteger_List_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveInteger_List_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveInteger_List_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveInteger_List ;
        owl:onProperty list:hasContents
    ] .

:IfcPositiveLengthMeasure
    a owl:Class ;
    rdfs:subClassOf :IfcHatchLineDistanceSelect, :IfcLengthMeasure, :IfcMeasureValue, :IfcSizeSelect .

:IfcPositivePlaneAngleMeasure
    a owl:Class ;
    rdfs:subClassOf :IfcMeasureValue, :IfcPlaneAngleMeasure .

:IfcPositiveRatioMeasure
    a owl:Class ;
    rdfs:subClassOf :IfcMeasureValue, :IfcRatioMeasure, :IfcSizeSelect .

:IfcPostalAddress
    a owl:Class ;
    rdfs:subClassOf :IfcAddress, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel_List ;
        owl:onProperty :addressLines_IfcPostalAddress
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :internalLocation_IfcPostalAddress
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :region_IfcPostalAddress
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :town_IfcPostalAddress
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :postalBox_IfcPostalAddress
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :region_IfcPostalAddress
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :internalLocation_IfcPostalAddress
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :postalBox_IfcPostalAddress
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel_List ;
        owl:onProperty :addressLines_IfcPostalAddress
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :town_IfcPostalAddress
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :postalCode_IfcPostalAddress
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :country_IfcPostalAddress
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :country_IfcPostalAddress
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcLabel_List
        ] ;
        owl:onProperty :addressLines_IfcPostalAddress
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :postalCode_IfcPostalAddress
    ] ;
    owl:disjointWith :IfcTelecomAddress .

:IfcPowerMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcPreDefinedColour
    a owl:Class ;
    rdfs:subClassOf :IfcColour, :IfcPreDefinedItem, [
        a owl:Class ;
        owl:unionOf (:IfcDraughtingPreDefinedColour
        )
    ] ;
    owl:disjointWith :IfcPreDefinedCurveFont, :IfcPreDefinedTextFont .

:IfcPreDefinedCurveFont
    a owl:Class ;
    rdfs:subClassOf :IfcCurveStyleFontSelect, :IfcPreDefinedItem, [
        a owl:Class ;
        owl:unionOf (:IfcDraughtingPreDefinedCurveFont
        )
    ] ;
    owl:disjointWith :IfcPreDefinedColour, :IfcPreDefinedTextFont .

:IfcPreDefinedItem
    a owl:Class ;
    rdfs:subClassOf :IfcPresentationItem, [
        a owl:Restriction ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcPreDefinedItem ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Class ;
        owl:unionOf (:IfcPreDefinedCurveFont
            :IfcPreDefinedTextFont
            :IfcPreDefinedColour
        )
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcPreDefinedItem
    ] ;
    owl:disjointWith :IfcColourRgbList, :IfcColourSpecification, :IfcCurveStyleFont, :IfcCurveStyleFontAndScaling, :IfcCurveStyleFontPattern, :IfcIndexedColourMap, :IfcSurfaceStyleLighting, :IfcSurfaceStyleRefraction, :IfcSurfaceStyleShading, :IfcSurfaceStyleWithTextures, :IfcSurfaceTexture, :IfcTextStyleForDefinedFont, :IfcTextStyleTextModel, :IfcTextureCoordinate, :IfcTextureVertex, :IfcTextureVertexList .

:IfcPreDefinedProperties
    a owl:Class ;
    rdfs:subClassOf :IfcPropertyAbstraction, [
        a owl:Class ;
        owl:unionOf (:IfcSectionReinforcementProperties
            :IfcSectionProperties
            :IfcReinforcementBarProperties
        )
    ] ;
    owl:disjointWith :IfcExtendedProperties, :IfcProperty, :IfcPropertyEnumeration .

:IfcPreDefinedPropertySet
    a owl:Class ;
    rdfs:subClassOf :IfcPropertySetDefinition, [
        a owl:Class ;
        owl:unionOf (:IfcWindowPanelProperties
            :IfcDoorPanelProperties
            :IfcWindowLiningProperties
            :IfcDoorLiningProperties
            :IfcPermeableCoveringProperties
            :IfcReinforcementDefinitionProperties
        )
    ] ;
    owl:disjointWith :IfcPropertySet, :IfcQuantitySet .

:IfcPreDefinedTextFont
    a owl:Class ;
    rdfs:subClassOf :IfcPreDefinedItem, :IfcTextFontSelect, [
        a owl:Class ;
        owl:unionOf (:IfcTextStyleFontModel
        )
    ] ;
    owl:disjointWith :IfcPreDefinedColour, :IfcPreDefinedCurveFont .

:IfcPresentableText
    a owl:Class ;
    rdfs:subClassOf expr:STRING .

:IfcPresentationItem
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Class ;
        owl:unionOf (:IfcSurfaceStyleShading
            :IfcSurfaceTexture
            :IfcSurfaceStyleRefraction
            :IfcSurfaceStyleWithTextures
            :IfcTextureVertex
            :IfcTextureCoordinate
            :IfcTextStyleTextModel
            :IfcCurveStyleFont
            :IfcColourRgbList
            :IfcColourSpecification
            :IfcCurveStyleFontAndScaling
            :IfcTextStyleForDefinedFont
            :IfcIndexedColourMap
            :IfcPreDefinedItem
            :IfcSurfaceStyleLighting
            :IfcCurveStyleFontPattern
            :IfcTextureVertexList
        )
    ] .

:IfcPresentationLayerAssignment
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :identifier_IfcPresentationLayerAssignment
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcPresentationLayerAssignment ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :identifier_IfcPresentationLayerAssignment
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcPresentationLayerAssignment
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLayeredItem ;
        owl:onProperty :assignedItems_IfcPresentationLayerAssignment
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLayeredItem ;
        owl:onProperty :assignedItems_IfcPresentationLayerAssignment
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcPresentationLayerAssignment
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcPresentationLayerAssignment
    ] .

:IfcPresentationLayerWithStyle
    a owl:Class ;
    rdfs:subClassOf :IfcPresentationLayerAssignment, [
        a owl:Restriction ;
        owl:onClass :IfcLogical ;
        owl:onProperty :layerBlocked_IfcPresentationLayerWithStyle ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLogical ;
        owl:onProperty :layerFrozen_IfcPresentationLayerWithStyle ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLogical ;
        owl:onProperty :layerOn_IfcPresentationLayerWithStyle ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLogical ;
        owl:onProperty :layerOn_IfcPresentationLayerWithStyle
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPresentationStyle ;
        owl:onProperty :layerStyles_IfcPresentationLayerWithStyle
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLogical ;
        owl:onProperty :layerBlocked_IfcPresentationLayerWithStyle
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLogical ;
        owl:onProperty :layerFrozen_IfcPresentationLayerWithStyle
    ] .

:IfcPresentationStyle
    a owl:Class ;
    rdfs:subClassOf :IfcStyleAssignmentSelect, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcPresentationStyle
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcPresentationStyle
    ], [
        a owl:Class ;
        owl:unionOf (:IfcFillAreaStyle
            :IfcSurfaceStyle
            :IfcCurveStyle
            :IfcTextStyle
        )
    ] .

:IfcPresentationStyleAssignment
    a owl:Class ;
    rdfs:subClassOf :IfcStyleAssignmentSelect, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPresentationStyleSelect ;
        owl:onProperty :styles_IfcPresentationStyleAssignment
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPresentationStyleSelect ;
        owl:onProperty :styles_IfcPresentationStyleAssignment
    ] .

:IfcPresentationStyleSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcPressureMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcProcedure
    a owl:Class ;
    rdfs:subClassOf :IfcProcess, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcProcedureTypeEnum ;
        owl:onProperty :predefinedType_IfcProcedure
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProcedureTypeEnum ;
        owl:onProperty :predefinedType_IfcProcedure
    ] ;
    owl:disjointWith :IfcEvent, :IfcTask .

:IfcProcedureType
    a owl:Class ;
    rdfs:subClassOf :IfcTypeProcess, [
        a owl:Restriction ;
        owl:onClass :IfcProcedureTypeEnum ;
        owl:onProperty :predefinedType_IfcProcedureType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProcedureTypeEnum ;
        owl:onProperty :predefinedType_IfcProcedureType
    ] ;
    owl:disjointWith :IfcEventType, :IfcTaskType .

:IfcProcedureTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcProcess
    a owl:Class ;
    rdfs:subClassOf :IfcObject, :IfcProcessSelect, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :longDescription_IfcProcess
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :longDescription_IfcProcess
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelSequence ;
        owl:onProperty :isPredecessorTo_IfcProcess
    ], [
        a owl:Class ;
        owl:unionOf (:IfcEvent
            :IfcTask
            :IfcProcedure
        )
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelSequence ;
        owl:onProperty :isSuccessorFrom_IfcProcess
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :identification_IfcProcess
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :identification_IfcProcess
    ] ;
    owl:disjointWith :IfcActor, :IfcControl, :IfcGroup, :IfcProduct, :IfcResource .

:IfcProcessSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcProduct
    a owl:Class ;
    rdfs:subClassOf :IfcObject, :IfcProductSelect, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProductRepresentation ;
        owl:onProperty :representation_IfcProduct
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcProductRepresentation ;
        owl:onProperty :representation_IfcProduct
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcObjectPlacement ;
        owl:onProperty :objectPlacement_IfcProduct
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcObjectPlacement ;
        owl:onProperty :objectPlacement_IfcProduct
    ], [
        a owl:Class ;
        owl:unionOf (:IfcStructuralActivity
            :IfcSpatialElement
            :IfcStructuralItem
            :IfcPort
            :IfcProxy
            :IfcGrid
            :IfcElement
            :IfcAnnotation
        )
    ] ;
    owl:disjointWith :IfcActor, :IfcControl, :IfcGroup, :IfcProcess, :IfcResource .

:IfcProductDefinitionShape
    a owl:Class ;
    rdfs:subClassOf :IfcProductRepresentation, :IfcProductRepresentationSelect, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProduct ;
        owl:onProperty :shapeOfProduct_IfcProductDefinitionShape
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcProduct ;
        owl:onProperty :shapeOfProduct_IfcProductDefinitionShape
    ] ;
    owl:disjointWith :IfcMaterialDefinitionRepresentation .

:IfcProductRepresentation
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcProductRepresentation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcRepresentation_List
        ] ;
        owl:onProperty :representations_IfcProductRepresentation
    ], [
        a owl:Restriction ;
        owl:onClass :IfcRepresentation_List ;
        owl:onProperty :representations_IfcProductRepresentation ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRepresentation_List ;
        owl:onProperty :representations_IfcProductRepresentation
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcProductRepresentation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcProductRepresentation
    ], [
        a owl:Class ;
        owl:unionOf (:IfcMaterialDefinitionRepresentation
            :IfcProductDefinitionShape
        )
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcProductRepresentation
    ] .

:IfcProductRepresentationSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcProductSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcProfileDef
    a owl:Class ;
    rdfs:subClassOf :IfcResourceObjectSelect, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProfileTypeEnum ;
        owl:onProperty :profileType_IfcProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcProfileTypeEnum ;
        owl:onProperty :profileType_IfcProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProfileProperties ;
        owl:onProperty :hasProperties_IfcProfileDef
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :profileName_IfcProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :profileName_IfcProfileDef
    ] .

:IfcProfileDef_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcProfileDef_List, list:EmptyList .

:IfcProfileDef_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProfileDef_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProfileDef_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProfileDef ;
        owl:onProperty list:hasContents
    ] .

:IfcProfileProperties
    a owl:Class ;
    rdfs:subClassOf :IfcExtendedProperties, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProfileDef ;
        owl:onProperty :profileDefinition_IfcProfileProperties
    ], [
        a owl:Restriction ;
        owl:onClass :IfcProfileDef ;
        owl:onProperty :profileDefinition_IfcProfileProperties ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcMaterialProperties .

:IfcProfileTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcProject
    a owl:Class ;
    rdfs:subClassOf :IfcContext ;
    owl:disjointWith :IfcProjectLibrary .

:IfcProjectLibrary
    a owl:Class ;
    rdfs:subClassOf :IfcContext ;
    owl:disjointWith :IfcProject .

:IfcProjectOrder
    a owl:Class ;
    rdfs:subClassOf :IfcControl, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProjectOrderTypeEnum ;
        owl:onProperty :predefinedType_IfcProjectOrder
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcProjectOrderTypeEnum ;
        owl:onProperty :predefinedType_IfcProjectOrder
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :status_IfcProjectOrder
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :longDescription_IfcProjectOrder
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :longDescription_IfcProjectOrder
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :status_IfcProjectOrder
    ] ;
    owl:disjointWith :IfcActionRequest, :IfcCostItem, :IfcCostSchedule, :IfcPerformanceHistory, :IfcPermit, :IfcWorkCalendar, :IfcWorkControl .

:IfcProjectOrderTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcProjectedCRS
    a owl:Class ;
    rdfs:subClassOf :IfcCoordinateReferenceSystem, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :mapZone_IfcProjectedCRS
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :mapProjection_IfcProjectedCRS
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNamedUnit ;
        owl:onProperty :mapUnit_IfcProjectedCRS
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :mapZone_IfcProjectedCRS
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :mapProjection_IfcProjectedCRS
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNamedUnit ;
        owl:onProperty :mapUnit_IfcProjectedCRS
    ] .

:IfcProjectedOrTrueLengthEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcProjectionElement
    a owl:Class ;
    rdfs:subClassOf :IfcFeatureElementAddition, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProjectionElementTypeEnum ;
        owl:onProperty :predefinedType_IfcProjectionElement
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcProjectionElementTypeEnum ;
        owl:onProperty :predefinedType_IfcProjectionElement
    ] .

:IfcProjectionElementTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcProperty
    a owl:Class ;
    rdfs:subClassOf :IfcPropertyAbstraction, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcResourceConstraintRelationship ;
        owl:onProperty :hasConstraints_IfcProperty
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :name_IfcProperty
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcComplexProperty ;
        owl:onProperty :partOfComplex_IfcProperty
    ], [
        a owl:Restriction ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :name_IfcProperty ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPropertySet ;
        owl:onProperty :partOfPset_IfcProperty
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPropertyDependencyRelationship ;
        owl:onProperty :propertyForDependance_IfcProperty
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcResourceApprovalRelationship ;
        owl:onProperty :hasApprovals_IfcProperty
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPropertyDependencyRelationship ;
        owl:onProperty :propertyDependsOn_IfcProperty
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcProperty
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcProperty
    ], [
        a owl:Class ;
        owl:unionOf (:IfcComplexProperty
            :IfcSimpleProperty
        )
    ] ;
    owl:disjointWith :IfcExtendedProperties, :IfcPreDefinedProperties, :IfcPropertyEnumeration .

:IfcPropertyAbstraction
    a owl:Class ;
    rdfs:subClassOf :IfcResourceObjectSelect, [
        a owl:Class ;
        owl:unionOf (:IfcProperty
            :IfcPropertyEnumeration
            :IfcPreDefinedProperties
            :IfcExtendedProperties
        )
    ] .

:IfcPropertyBoundedValue
    a owl:Class ;
    rdfs:subClassOf :IfcSimpleProperty, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcValue ;
        owl:onProperty :setPointValue_IfcPropertyBoundedValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcValue ;
        owl:onProperty :lowerBoundValue_IfcPropertyBoundedValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcValue ;
        owl:onProperty :upperBoundValue_IfcPropertyBoundedValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcValue ;
        owl:onProperty :upperBoundValue_IfcPropertyBoundedValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcUnit ;
        owl:onProperty :unit_IfcPropertyBoundedValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcValue ;
        owl:onProperty :lowerBoundValue_IfcPropertyBoundedValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcValue ;
        owl:onProperty :setPointValue_IfcPropertyBoundedValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcUnit ;
        owl:onProperty :unit_IfcPropertyBoundedValue
    ] ;
    owl:disjointWith :IfcPropertyEnumeratedValue, :IfcPropertyListValue, :IfcPropertyReferenceValue, :IfcPropertySingleValue, :IfcPropertyTableValue .

:IfcPropertyDefinition
    a owl:Class ;
    rdfs:subClassOf :IfcDefinitionSelect, :IfcRoot, [
        a owl:Class ;
        owl:unionOf (:IfcPropertyTemplateDefinition
            :IfcPropertySetDefinition
        )
    ] ;
    owl:disjointWith :IfcObjectDefinition, :IfcRelationship .

:IfcPropertyDependencyRelationship
    a owl:Class ;
    rdfs:subClassOf :IfcResourceLevelRelationship, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :expression_IfcPropertyDependencyRelationship
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProperty ;
        owl:onProperty :dependingProperty_IfcPropertyDependencyRelationship
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :expression_IfcPropertyDependencyRelationship
    ], [
        a owl:Restriction ;
        owl:onClass :IfcProperty ;
        owl:onProperty :dependantProperty_IfcPropertyDependencyRelationship ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProperty ;
        owl:onProperty :dependantProperty_IfcPropertyDependencyRelationship
    ], [
        a owl:Restriction ;
        owl:onClass :IfcProperty ;
        owl:onProperty :dependingProperty_IfcPropertyDependencyRelationship ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcApprovalRelationship, :IfcCurrencyRelationship, :IfcDocumentInformationRelationship, :IfcExternalReferenceRelationship, :IfcMaterialRelationship, :IfcOrganizationRelationship, :IfcResourceApprovalRelationship, :IfcResourceConstraintRelationship .

:IfcPropertyEnumeratedValue
    a owl:Class ;
    rdfs:subClassOf :IfcSimpleProperty, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPropertyEnumeration ;
        owl:onProperty :enumerationReference_IfcPropertyEnumeratedValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcValue_List ;
        owl:onProperty :enumerationValues_IfcPropertyEnumeratedValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcValue_List ;
        owl:onProperty :enumerationValues_IfcPropertyEnumeratedValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPropertyEnumeration ;
        owl:onProperty :enumerationReference_IfcPropertyEnumeratedValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcValue_List
        ] ;
        owl:onProperty :enumerationValues_IfcPropertyEnumeratedValue
    ] ;
    owl:disjointWith :IfcPropertyBoundedValue, :IfcPropertyListValue, :IfcPropertyReferenceValue, :IfcPropertySingleValue, :IfcPropertyTableValue .

:IfcPropertyEnumeration
    a owl:Class ;
    rdfs:subClassOf :IfcPropertyAbstraction, [
        a owl:Restriction ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcPropertyEnumeration ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcPropertyEnumeration
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcUnit ;
        owl:onProperty :unit_IfcPropertyEnumeration
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcValue_List
        ] ;
        owl:onProperty :enumerationValues_IfcPropertyEnumeration
    ], [
        a owl:Restriction ;
        owl:onClass :IfcValue_List ;
        owl:onProperty :enumerationValues_IfcPropertyEnumeration ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcUnit ;
        owl:onProperty :unit_IfcPropertyEnumeration
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcValue_List ;
        owl:onProperty :enumerationValues_IfcPropertyEnumeration
    ] ;
    owl:disjointWith :IfcExtendedProperties, :IfcPreDefinedProperties, :IfcProperty .

:IfcPropertyListValue
    a owl:Class ;
    rdfs:subClassOf :IfcSimpleProperty, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcValue_List ;
        owl:onProperty :listValues_IfcPropertyListValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcValue_List
        ] ;
        owl:onProperty :listValues_IfcPropertyListValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcValue_List ;
        owl:onProperty :listValues_IfcPropertyListValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcUnit ;
        owl:onProperty :unit_IfcPropertyListValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcUnit ;
        owl:onProperty :unit_IfcPropertyListValue
    ] ;
    owl:disjointWith :IfcPropertyBoundedValue, :IfcPropertyEnumeratedValue, :IfcPropertyReferenceValue, :IfcPropertySingleValue, :IfcPropertyTableValue .

:IfcPropertyReferenceValue
    a owl:Class ;
    rdfs:subClassOf :IfcSimpleProperty, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcObjectReferenceSelect ;
        owl:onProperty :propertyReference_IfcPropertyReferenceValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :usageName_IfcPropertyReferenceValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :usageName_IfcPropertyReferenceValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcObjectReferenceSelect ;
        owl:onProperty :propertyReference_IfcPropertyReferenceValue
    ] ;
    owl:disjointWith :IfcPropertyBoundedValue, :IfcPropertyEnumeratedValue, :IfcPropertyListValue, :IfcPropertySingleValue, :IfcPropertyTableValue .

:IfcPropertySet
    a owl:Class ;
    rdfs:subClassOf :IfcPropertySetDefinition, [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcProperty ;
        owl:onProperty :hasProperties_IfcPropertySet
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProperty ;
        owl:onProperty :hasProperties_IfcPropertySet
    ] ;
    owl:disjointWith :IfcPreDefinedPropertySet, :IfcQuantitySet .

:IfcPropertySetDefinition
    a owl:Class ;
    rdfs:subClassOf :IfcPropertyDefinition, :IfcPropertySetDefinitionSelect, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelDefinesByProperties ;
        owl:onProperty :definesOccurrence_IfcPropertySetDefinition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelDefinesByTemplate ;
        owl:onProperty :isDefinedBy_IfcPropertySetDefinition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTypeObject ;
        owl:onProperty :definesType_IfcPropertySetDefinition
    ], [
        a owl:Class ;
        owl:unionOf (:IfcQuantitySet
            :IfcPropertySet
            :IfcPreDefinedPropertySet
        )
    ] ;
    owl:disjointWith :IfcPropertyTemplateDefinition .

:IfcPropertySetDefinitionSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcPropertySetDefinitionSet
    a owl:Class ;
    rdfs:subClassOf :IfcPropertySetDefinitionSelect, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPropertySetDefinition ;
        owl:onProperty expr:hasSet
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPropertySetDefinition ;
        owl:onProperty expr:hasSet
    ] .

:IfcPropertySetTemplate
    a owl:Class ;
    rdfs:subClassOf :IfcPropertyTemplateDefinition, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelDefinesByTemplate ;
        owl:onProperty :defines_IfcPropertySetTemplate
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :applicableEntity_IfcPropertySetTemplate
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPropertyTemplate ;
        owl:onProperty :hasPropertyTemplates_IfcPropertySetTemplate
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPropertyTemplate ;
        owl:onProperty :hasPropertyTemplates_IfcPropertySetTemplate
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPropertySetTemplateTypeEnum ;
        owl:onProperty :templateType_IfcPropertySetTemplate
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :applicableEntity_IfcPropertySetTemplate
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPropertySetTemplateTypeEnum ;
        owl:onProperty :templateType_IfcPropertySetTemplate
    ] ;
    owl:disjointWith :IfcPropertyTemplate .

:IfcPropertySetTemplateTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcPropertySingleValue
    a owl:Class ;
    rdfs:subClassOf :IfcSimpleProperty, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcUnit ;
        owl:onProperty :unit_IfcPropertySingleValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcUnit ;
        owl:onProperty :unit_IfcPropertySingleValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcValue ;
        owl:onProperty :nominalValue_IfcPropertySingleValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcValue ;
        owl:onProperty :nominalValue_IfcPropertySingleValue
    ] ;
    owl:disjointWith :IfcPropertyBoundedValue, :IfcPropertyEnumeratedValue, :IfcPropertyListValue, :IfcPropertyReferenceValue, :IfcPropertyTableValue .

:IfcPropertyTableValue
    a owl:Class ;
    rdfs:subClassOf :IfcSimpleProperty, [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcValue_List
        ] ;
        owl:onProperty :definingValues_IfcPropertyTableValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcUnit ;
        owl:onProperty :definedUnit_IfcPropertyTableValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcUnit ;
        owl:onProperty :definingUnit_IfcPropertyTableValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcUnit ;
        owl:onProperty :definingUnit_IfcPropertyTableValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcValue_List ;
        owl:onProperty :definingValues_IfcPropertyTableValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcValue_List ;
        owl:onProperty :definedValues_IfcPropertyTableValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcValue_List
        ] ;
        owl:onProperty :definedValues_IfcPropertyTableValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcUnit ;
        owl:onProperty :definedUnit_IfcPropertyTableValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcValue_List ;
        owl:onProperty :definingValues_IfcPropertyTableValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurveInterpolationEnum ;
        owl:onProperty :curveInterpolation_IfcPropertyTableValue
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :expression_IfcPropertyTableValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCurveInterpolationEnum ;
        owl:onProperty :curveInterpolation_IfcPropertyTableValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcValue_List ;
        owl:onProperty :definedValues_IfcPropertyTableValue
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :expression_IfcPropertyTableValue
    ] ;
    owl:disjointWith :IfcPropertyBoundedValue, :IfcPropertyEnumeratedValue, :IfcPropertyListValue, :IfcPropertyReferenceValue, :IfcPropertySingleValue .

:IfcPropertyTemplate
    a owl:Class ;
    rdfs:subClassOf :IfcPropertyTemplateDefinition, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcComplexPropertyTemplate ;
        owl:onProperty :partOfComplexTemplate_IfcPropertyTemplate
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPropertySetTemplate ;
        owl:onProperty :partOfPsetTemplate_IfcPropertyTemplate
    ], [
        a owl:Class ;
        owl:unionOf (:IfcComplexPropertyTemplate
            :IfcSimplePropertyTemplate
        )
    ] ;
    owl:disjointWith :IfcPropertySetTemplate .

:IfcPropertyTemplateDefinition
    a owl:Class ;
    rdfs:subClassOf :IfcPropertyDefinition, [
        a owl:Class ;
        owl:unionOf (:IfcPropertyTemplate
            :IfcPropertySetTemplate
        )
    ] ;
    owl:disjointWith :IfcPropertySetDefinition .

:IfcProtectiveDevice
    a owl:Class ;
    rdfs:subClassOf :IfcFlowController, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcProtectiveDeviceTypeEnum ;
        owl:onProperty :predefinedType_IfcProtectiveDevice
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProtectiveDeviceTypeEnum ;
        owl:onProperty :predefinedType_IfcProtectiveDevice
    ] ;
    owl:disjointWith :IfcAirTerminalBox, :IfcDamper, :IfcElectricDistributionBoard, :IfcElectricTimeControl, :IfcFlowMeter, :IfcSwitchingDevice, :IfcValve .

:IfcProtectiveDeviceTrippingUnit
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionControlElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProtectiveDeviceTrippingUnitTypeEnum ;
        owl:onProperty :predefinedType_IfcProtectiveDeviceTrippingUnit
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcProtectiveDeviceTrippingUnitTypeEnum ;
        owl:onProperty :predefinedType_IfcProtectiveDeviceTrippingUnit
    ] ;
    owl:disjointWith :IfcActuator, :IfcAlarm, :IfcController, :IfcFlowInstrument, :IfcSensor, :IfcUnitaryControlElement .

:IfcProtectiveDeviceTrippingUnitType
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionControlElementType, [
        a owl:Restriction ;
        owl:onClass :IfcProtectiveDeviceTrippingUnitTypeEnum ;
        owl:onProperty :predefinedType_IfcProtectiveDeviceTrippingUnitType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProtectiveDeviceTrippingUnitTypeEnum ;
        owl:onProperty :predefinedType_IfcProtectiveDeviceTrippingUnitType
    ] ;
    owl:disjointWith :IfcActuatorType, :IfcAlarmType, :IfcControllerType, :IfcFlowInstrumentType, :IfcSensorType, :IfcUnitaryControlElementType .

:IfcProtectiveDeviceTrippingUnitTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcProtectiveDeviceType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowControllerType, [
        a owl:Restriction ;
        owl:onClass :IfcProtectiveDeviceTypeEnum ;
        owl:onProperty :predefinedType_IfcProtectiveDeviceType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProtectiveDeviceTypeEnum ;
        owl:onProperty :predefinedType_IfcProtectiveDeviceType
    ] ;
    owl:disjointWith :IfcAirTerminalBoxType, :IfcDamperType, :IfcElectricDistributionBoardType, :IfcElectricTimeControlType, :IfcFlowMeterType, :IfcSwitchingDeviceType, :IfcValveType .

:IfcProtectiveDeviceTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcProxy
    a owl:Class ;
    rdfs:subClassOf :IfcProduct, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :tag_IfcProxy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :tag_IfcProxy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcObjectTypeEnum ;
        owl:onProperty :proxyType_IfcProxy
    ], [
        a owl:Restriction ;
        owl:onClass :IfcObjectTypeEnum ;
        owl:onProperty :proxyType_IfcProxy ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAnnotation, :IfcElement, :IfcGrid, :IfcPort, :IfcSpatialElement, :IfcStructuralActivity, :IfcStructuralItem .

:IfcPump
    a owl:Class ;
    rdfs:subClassOf :IfcFlowMovingDevice, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPumpTypeEnum ;
        owl:onProperty :predefinedType_IfcPump
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPumpTypeEnum ;
        owl:onProperty :predefinedType_IfcPump
    ] ;
    owl:disjointWith :IfcCompressor, :IfcFan .

:IfcPumpType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowMovingDeviceType, [
        a owl:Restriction ;
        owl:onClass :IfcPumpTypeEnum ;
        owl:onProperty :predefinedType_IfcPumpType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPumpTypeEnum ;
        owl:onProperty :predefinedType_IfcPumpType
    ] ;
    owl:disjointWith :IfcCompressorType, :IfcFanType .

:IfcPumpTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcQuantityArea
    a owl:Class ;
    rdfs:subClassOf :IfcPhysicalSimpleQuantity, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAreaMeasure ;
        owl:onProperty :areaValue_IfcQuantityArea
    ], [
        a owl:Restriction ;
        owl:onClass :IfcAreaMeasure ;
        owl:onProperty :areaValue_IfcQuantityArea ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :formula_IfcQuantityArea
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :formula_IfcQuantityArea
    ] ;
    owl:disjointWith :IfcQuantityCount, :IfcQuantityLength, :IfcQuantityTime, :IfcQuantityVolume, :IfcQuantityWeight .

:IfcQuantityCount
    a owl:Class ;
    rdfs:subClassOf :IfcPhysicalSimpleQuantity, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCountMeasure ;
        owl:onProperty :countValue_IfcQuantityCount
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCountMeasure ;
        owl:onProperty :countValue_IfcQuantityCount ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :formula_IfcQuantityCount
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :formula_IfcQuantityCount
    ] ;
    owl:disjointWith :IfcQuantityArea, :IfcQuantityLength, :IfcQuantityTime, :IfcQuantityVolume, :IfcQuantityWeight .

:IfcQuantityLength
    a owl:Class ;
    rdfs:subClassOf :IfcPhysicalSimpleQuantity, [
        a owl:Restriction ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :lengthValue_IfcQuantityLength ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :lengthValue_IfcQuantityLength
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :formula_IfcQuantityLength
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :formula_IfcQuantityLength
    ] ;
    owl:disjointWith :IfcQuantityArea, :IfcQuantityCount, :IfcQuantityTime, :IfcQuantityVolume, :IfcQuantityWeight .

:IfcQuantitySet
    a owl:Class ;
    rdfs:subClassOf :IfcPropertySetDefinition, [
        a owl:Class ;
        owl:unionOf (:IfcElementQuantity
        )
    ] ;
    owl:disjointWith :IfcPreDefinedPropertySet, :IfcPropertySet .

:IfcQuantityTime
    a owl:Class ;
    rdfs:subClassOf :IfcPhysicalSimpleQuantity, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :formula_IfcQuantityTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :formula_IfcQuantityTime
    ], [
        a owl:Restriction ;
        owl:onClass :IfcTimeMeasure ;
        owl:onProperty :timeValue_IfcQuantityTime ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTimeMeasure ;
        owl:onProperty :timeValue_IfcQuantityTime
    ] ;
    owl:disjointWith :IfcQuantityArea, :IfcQuantityCount, :IfcQuantityLength, :IfcQuantityVolume, :IfcQuantityWeight .

:IfcQuantityVolume
    a owl:Class ;
    rdfs:subClassOf :IfcPhysicalSimpleQuantity, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :formula_IfcQuantityVolume
    ], [
        a owl:Restriction ;
        owl:onClass :IfcVolumeMeasure ;
        owl:onProperty :volumeValue_IfcQuantityVolume ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :formula_IfcQuantityVolume
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcVolumeMeasure ;
        owl:onProperty :volumeValue_IfcQuantityVolume
    ] ;
    owl:disjointWith :IfcQuantityArea, :IfcQuantityCount, :IfcQuantityLength, :IfcQuantityTime, :IfcQuantityWeight .

:IfcQuantityWeight
    a owl:Class ;
    rdfs:subClassOf :IfcPhysicalSimpleQuantity, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :formula_IfcQuantityWeight
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMassMeasure ;
        owl:onProperty :weightValue_IfcQuantityWeight
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :formula_IfcQuantityWeight
    ], [
        a owl:Restriction ;
        owl:onClass :IfcMassMeasure ;
        owl:onProperty :weightValue_IfcQuantityWeight ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcQuantityArea, :IfcQuantityCount, :IfcQuantityLength, :IfcQuantityTime, :IfcQuantityVolume .

:IfcRadioActivityMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcRailing
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRailingTypeEnum ;
        owl:onProperty :predefinedType_IfcRailing
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRailingTypeEnum ;
        owl:onProperty :predefinedType_IfcRailing
    ] ;
    owl:disjointWith :IfcBeam, :IfcBuildingElementProxy, :IfcChimney, :IfcColumn, :IfcCovering, :IfcCurtainWall, :IfcDoor, :IfcFooting, :IfcMember, :IfcPile, :IfcPlate, :IfcRamp, :IfcRampFlight, :IfcRoof, :IfcShadingDevice, :IfcSlab, :IfcStair, :IfcStairFlight, :IfcWall, :IfcWindow .

:IfcRailingType
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElementType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRailingTypeEnum ;
        owl:onProperty :predefinedType_IfcRailingType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcRailingTypeEnum ;
        owl:onProperty :predefinedType_IfcRailingType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcBeamType, :IfcBuildingElementProxyType, :IfcChimneyType, :IfcColumnType, :IfcCoveringType, :IfcCurtainWallType, :IfcDoorType, :IfcFootingType, :IfcMemberType, :IfcPileType, :IfcPlateType, :IfcRampFlightType, :IfcRampType, :IfcRoofType, :IfcShadingDeviceType, :IfcSlabType, :IfcStairFlightType, :IfcStairType, :IfcWallType, :IfcWindowType .

:IfcRailingTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcRamp
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElement, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRampTypeEnum ;
        owl:onProperty :predefinedType_IfcRamp
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRampTypeEnum ;
        owl:onProperty :predefinedType_IfcRamp
    ] ;
    owl:disjointWith :IfcBeam, :IfcBuildingElementProxy, :IfcChimney, :IfcColumn, :IfcCovering, :IfcCurtainWall, :IfcDoor, :IfcFooting, :IfcMember, :IfcPile, :IfcPlate, :IfcRailing, :IfcRampFlight, :IfcRoof, :IfcShadingDevice, :IfcSlab, :IfcStair, :IfcStairFlight, :IfcWall, :IfcWindow .

:IfcRampFlight
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElement, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRampFlightTypeEnum ;
        owl:onProperty :predefinedType_IfcRampFlight
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRampFlightTypeEnum ;
        owl:onProperty :predefinedType_IfcRampFlight
    ] ;
    owl:disjointWith :IfcBeam, :IfcBuildingElementProxy, :IfcChimney, :IfcColumn, :IfcCovering, :IfcCurtainWall, :IfcDoor, :IfcFooting, :IfcMember, :IfcPile, :IfcPlate, :IfcRailing, :IfcRamp, :IfcRoof, :IfcShadingDevice, :IfcSlab, :IfcStair, :IfcStairFlight, :IfcWall, :IfcWindow .

:IfcRampFlightType
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElementType, [
        a owl:Restriction ;
        owl:onClass :IfcRampFlightTypeEnum ;
        owl:onProperty :predefinedType_IfcRampFlightType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRampFlightTypeEnum ;
        owl:onProperty :predefinedType_IfcRampFlightType
    ] ;
    owl:disjointWith :IfcBeamType, :IfcBuildingElementProxyType, :IfcChimneyType, :IfcColumnType, :IfcCoveringType, :IfcCurtainWallType, :IfcDoorType, :IfcFootingType, :IfcMemberType, :IfcPileType, :IfcPlateType, :IfcRailingType, :IfcRampType, :IfcRoofType, :IfcShadingDeviceType, :IfcSlabType, :IfcStairFlightType, :IfcStairType, :IfcWallType, :IfcWindowType .

:IfcRampFlightTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcRampType
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElementType, [
        a owl:Restriction ;
        owl:onClass :IfcRampTypeEnum ;
        owl:onProperty :predefinedType_IfcRampType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRampTypeEnum ;
        owl:onProperty :predefinedType_IfcRampType
    ] ;
    owl:disjointWith :IfcBeamType, :IfcBuildingElementProxyType, :IfcChimneyType, :IfcColumnType, :IfcCoveringType, :IfcCurtainWallType, :IfcDoorType, :IfcFootingType, :IfcMemberType, :IfcPileType, :IfcPlateType, :IfcRailingType, :IfcRampFlightType, :IfcRoofType, :IfcShadingDeviceType, :IfcSlabType, :IfcStairFlightType, :IfcStairType, :IfcWallType, :IfcWindowType .

:IfcRampTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcRatioMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcMeasureValue, :IfcSizeSelect, :IfcTimeOrRatioSelect .

:IfcRatioMeasure_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcRatioMeasure_List, list:EmptyList .

:IfcRatioMeasure_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRatioMeasure_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRatioMeasure_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRatioMeasure ;
        owl:onProperty list:hasContents
    ] .

:IfcRationalBSplineCurveWithKnots
    a owl:Class ;
    rdfs:subClassOf :IfcBSplineCurveWithKnots, [
        a owl:Restriction ;
        owl:onClass :IfcReal_List ;
        owl:onProperty :weightsData_IfcRationalBSplineCurveWithKnots ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom :IfcReal_List
            ]
        ] ;
        owl:onProperty :weightsData_IfcRationalBSplineCurveWithKnots
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReal_List ;
        owl:onProperty :weightsData_IfcRationalBSplineCurveWithKnots
    ] .

:IfcRationalBSplineSurfaceWithKnots
    a owl:Class ;
    rdfs:subClassOf :IfcBSplineSurfaceWithKnots, [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom :IfcReal_List_List
            ]
        ] ;
        owl:onProperty :weightsData_IfcRationalBSplineSurfaceWithKnots
    ], [
        a owl:Restriction ;
        owl:onClass :IfcReal_List_List ;
        owl:onProperty :weightsData_IfcRationalBSplineSurfaceWithKnots ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReal_List_List ;
        owl:onProperty :weightsData_IfcRationalBSplineSurfaceWithKnots
    ] .

:IfcReal
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcSimpleValue .

:IfcReal_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcReal_List, list:EmptyList .

:IfcReal_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReal ;
        owl:onProperty list:hasContents
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReal_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReal_List ;
        owl:onProperty list:isFollowedBy
    ] .

:IfcReal_List_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcReal_List_List, list:EmptyList .

:IfcReal_List_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReal_List_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReal_List_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReal_List ;
        owl:onProperty list:hasContents
    ] .

:IfcRectangleHollowProfileDef
    a owl:Class ;
    rdfs:subClassOf :IfcRectangleProfileDef, [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :wallThickness_IfcRectangleHollowProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNonNegativeLengthMeasure ;
        owl:onProperty :outerFilletRadius_IfcRectangleHollowProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNonNegativeLengthMeasure ;
        owl:onProperty :innerFilletRadius_IfcRectangleHollowProfileDef
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNonNegativeLengthMeasure ;
        owl:onProperty :innerFilletRadius_IfcRectangleHollowProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :wallThickness_IfcRectangleHollowProfileDef
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNonNegativeLengthMeasure ;
        owl:onProperty :outerFilletRadius_IfcRectangleHollowProfileDef
    ] ;
    owl:disjointWith :IfcRoundedRectangleProfileDef .

:IfcRectangleProfileDef
    a owl:Class ;
    rdfs:subClassOf :IfcParameterizedProfileDef, [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :xDim_IfcRectangleProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :yDim_IfcRectangleProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :yDim_IfcRectangleProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :xDim_IfcRectangleProfileDef
    ] ;
    owl:disjointWith :IfcAsymmetricIShapeProfileDef, :IfcCShapeProfileDef, :IfcCircleProfileDef, :IfcEllipseProfileDef, :IfcIShapeProfileDef, :IfcLShapeProfileDef, :IfcTShapeProfileDef, :IfcTrapeziumProfileDef, :IfcUShapeProfileDef, :IfcZShapeProfileDef .

:IfcRectangularPyramid
    a owl:Class ;
    rdfs:subClassOf :IfcCsgPrimitive3D, [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :xLength_IfcRectangularPyramid ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :height_IfcRectangularPyramid ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :yLength_IfcRectangularPyramid ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :xLength_IfcRectangularPyramid
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :yLength_IfcRectangularPyramid
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :height_IfcRectangularPyramid
    ] ;
    owl:disjointWith :IfcBlock, :IfcRightCircularCone, :IfcRightCircularCylinder, :IfcSphere .

:IfcRectangularTrimmedSurface
    a owl:Class ;
    rdfs:subClassOf :IfcBoundedSurface, [
        a owl:Restriction ;
        owl:onClass :IfcParameterValue ;
        owl:onProperty :v2_IfcRectangularTrimmedSurface ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue ;
        owl:onProperty :v1_IfcRectangularTrimmedSurface
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue ;
        owl:onProperty :v2_IfcRectangularTrimmedSurface
    ], [
        a owl:Restriction ;
        owl:onClass :IfcSurface ;
        owl:onProperty :basisSurface_IfcRectangularTrimmedSurface ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcParameterValue ;
        owl:onProperty :u2_IfcRectangularTrimmedSurface ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcParameterValue ;
        owl:onProperty :v1_IfcRectangularTrimmedSurface ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :vsense_IfcRectangularTrimmedSurface ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :vsense_IfcRectangularTrimmedSurface
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue ;
        owl:onProperty :u2_IfcRectangularTrimmedSurface
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :usense_IfcRectangularTrimmedSurface
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue ;
        owl:onProperty :u1_IfcRectangularTrimmedSurface
    ], [
        a owl:Restriction ;
        owl:onClass :IfcParameterValue ;
        owl:onProperty :u1_IfcRectangularTrimmedSurface ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :usense_IfcRectangularTrimmedSurface ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSurface ;
        owl:onProperty :basisSurface_IfcRectangularTrimmedSurface
    ] ;
    owl:disjointWith :IfcBSplineSurface, :IfcCurveBoundedPlane, :IfcCurveBoundedSurface .

:IfcRecurrencePattern
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcInteger ;
        owl:onProperty :occurrences_IfcRecurrencePattern
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTimePeriod_List ;
        owl:onProperty :timePeriods_IfcRecurrencePattern
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRecurrenceTypeEnum ;
        owl:onProperty :recurrenceType_IfcRecurrencePattern
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDayInMonthNumber ;
        owl:onProperty :dayComponent_IfcRecurrencePattern
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcInteger ;
        owl:onProperty :interval_IfcRecurrencePattern
    ], [
        a owl:Restriction ;
        owl:onClass :IfcRecurrenceTypeEnum ;
        owl:onProperty :recurrenceType_IfcRecurrencePattern ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMonthInYearNumber ;
        owl:onProperty :monthComponent_IfcRecurrencePattern
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTimePeriod_List ;
        owl:onProperty :timePeriods_IfcRecurrencePattern
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcInteger ;
        owl:onProperty :position_IfcRecurrencePattern
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcTimePeriod_List
        ] ;
        owl:onProperty :timePeriods_IfcRecurrencePattern
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcInteger ;
        owl:onProperty :position_IfcRecurrencePattern
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcInteger ;
        owl:onProperty :interval_IfcRecurrencePattern
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDayInWeekNumber ;
        owl:onProperty :weekdayComponent_IfcRecurrencePattern
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcInteger ;
        owl:onProperty :occurrences_IfcRecurrencePattern
    ] .

:IfcRecurrenceTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcReference
    a owl:Class ;
    rdfs:subClassOf :IfcAppliedValueSelect, :IfcMetricValueSelect, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :instanceName_IfcReference
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcInteger_List
        ] ;
        owl:onProperty :listPositions_IfcReference
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :attributeIdentifier_IfcReference
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :instanceName_IfcReference
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :typeIdentifier_IfcReference
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcInteger_List ;
        owl:onProperty :listPositions_IfcReference
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :attributeIdentifier_IfcReference
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReference ;
        owl:onProperty :innerReference_IfcReference
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcInteger_List ;
        owl:onProperty :listPositions_IfcReference
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :typeIdentifier_IfcReference
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcReference ;
        owl:onProperty :innerReference_IfcReference
    ] .

:IfcReflectanceMethodEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcRegularTimeSeries
    a owl:Class ;
    rdfs:subClassOf :IfcTimeSeries, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTimeMeasure ;
        owl:onProperty :timeStep_IfcRegularTimeSeries
    ], [
        a owl:Restriction ;
        owl:onClass :IfcTimeSeriesValue_List ;
        owl:onProperty :values_IfcRegularTimeSeries ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcTimeSeriesValue_List
        ] ;
        owl:onProperty :values_IfcRegularTimeSeries
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTimeSeriesValue_List ;
        owl:onProperty :values_IfcRegularTimeSeries
    ], [
        a owl:Restriction ;
        owl:onClass :IfcTimeMeasure ;
        owl:onProperty :timeStep_IfcRegularTimeSeries ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcIrregularTimeSeries .

:IfcReinforcementBarProperties
    a owl:Class ;
    rdfs:subClassOf :IfcPreDefinedProperties, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReinforcingBarSurfaceEnum ;
        owl:onProperty :barSurface_IfcReinforcementBarProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :effectiveDepth_IfcReinforcementBarProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :steelGrade_IfcReinforcementBarProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcReinforcingBarSurfaceEnum ;
        owl:onProperty :barSurface_IfcReinforcementBarProperties
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLabel ;
        owl:onProperty :steelGrade_IfcReinforcementBarProperties ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcAreaMeasure ;
        owl:onProperty :totalCrossSectionArea_IfcReinforcementBarProperties ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCountMeasure ;
        owl:onProperty :barCount_IfcReinforcementBarProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAreaMeasure ;
        owl:onProperty :totalCrossSectionArea_IfcReinforcementBarProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :nominalBarDiameter_IfcReinforcementBarProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCountMeasure ;
        owl:onProperty :barCount_IfcReinforcementBarProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :nominalBarDiameter_IfcReinforcementBarProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :effectiveDepth_IfcReinforcementBarProperties
    ] ;
    owl:disjointWith :IfcSectionProperties, :IfcSectionReinforcementProperties .

:IfcReinforcementDefinitionProperties
    a owl:Class ;
    rdfs:subClassOf :IfcPreDefinedPropertySet, [
        a owl:Restriction ;
        owl:onClass :IfcSectionReinforcementProperties_List ;
        owl:onProperty :reinforcementSectionDefinitions_IfcReinforcementDefinitionProperties ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcSectionReinforcementProperties_List
        ] ;
        owl:onProperty :reinforcementSectionDefinitions_IfcReinforcementDefinitionProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSectionReinforcementProperties_List ;
        owl:onProperty :reinforcementSectionDefinitions_IfcReinforcementDefinitionProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :definitionType_IfcReinforcementDefinitionProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :definitionType_IfcReinforcementDefinitionProperties
    ] ;
    owl:disjointWith :IfcDoorLiningProperties, :IfcDoorPanelProperties, :IfcPermeableCoveringProperties, :IfcWindowLiningProperties, :IfcWindowPanelProperties .

:IfcReinforcingBar
    a owl:Class ;
    rdfs:subClassOf :IfcReinforcingElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReinforcingBarTypeEnum ;
        owl:onProperty :predefinedType_IfcReinforcingBar
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAreaMeasure ;
        owl:onProperty :crossSectionArea_IfcReinforcingBar
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :nominalDiameter_IfcReinforcingBar
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcReinforcingBarSurfaceEnum ;
        owl:onProperty :barSurface_IfcReinforcingBar
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcReinforcingBarTypeEnum ;
        owl:onProperty :predefinedType_IfcReinforcingBar
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :barLength_IfcReinforcingBar
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReinforcingBarSurfaceEnum ;
        owl:onProperty :barSurface_IfcReinforcingBar
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :nominalDiameter_IfcReinforcingBar
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :barLength_IfcReinforcingBar
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAreaMeasure ;
        owl:onProperty :crossSectionArea_IfcReinforcingBar
    ] ;
    owl:disjointWith :IfcReinforcingMesh, :IfcTendon, :IfcTendonAnchor .

:IfcReinforcingBarRoleEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcReinforcingBarSurfaceEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcReinforcingBarType
    a owl:Class ;
    rdfs:subClassOf :IfcReinforcingElementType, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :nominalDiameter_IfcReinforcingBarType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBendingParameterSelect_List ;
        owl:onProperty :bendingParameters_IfcReinforcingBarType
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :bendingShapeCode_IfcReinforcingBarType
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcReinforcingBarSurfaceEnum ;
        owl:onProperty :barSurface_IfcReinforcingBarType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :bendingShapeCode_IfcReinforcingBarType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :barLength_IfcReinforcingBarType
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :barLength_IfcReinforcingBarType
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcBendingParameterSelect_List ;
        owl:onProperty :bendingParameters_IfcReinforcingBarType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReinforcingBarTypeEnum ;
        owl:onProperty :predefinedType_IfcReinforcingBarType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :nominalDiameter_IfcReinforcingBarType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReinforcingBarSurfaceEnum ;
        owl:onProperty :barSurface_IfcReinforcingBarType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcReinforcingBarTypeEnum ;
        owl:onProperty :predefinedType_IfcReinforcingBarType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAreaMeasure ;
        owl:onProperty :crossSectionArea_IfcReinforcingBarType
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAreaMeasure ;
        owl:onProperty :crossSectionArea_IfcReinforcingBarType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcBendingParameterSelect_List
        ] ;
        owl:onProperty :bendingParameters_IfcReinforcingBarType
    ] ;
    owl:disjointWith :IfcReinforcingMeshType, :IfcTendonAnchorType, :IfcTendonType .

:IfcReinforcingBarTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcReinforcingElement
    a owl:Class ;
    rdfs:subClassOf :IfcElementComponent, [
        a owl:Class ;
        owl:unionOf (:IfcReinforcingBar
            :IfcTendonAnchor
            :IfcTendon
            :IfcReinforcingMesh
        )
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :steelGrade_IfcReinforcingElement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :steelGrade_IfcReinforcingElement
    ] ;
    owl:disjointWith :IfcBuildingElementPart, :IfcDiscreteAccessory, :IfcFastener, :IfcMechanicalFastener, :IfcVibrationIsolator .

:IfcReinforcingElementType
    a owl:Class ;
    rdfs:subClassOf :IfcElementComponentType, [
        a owl:Class ;
        owl:unionOf (:IfcReinforcingBarType
            :IfcReinforcingMeshType
            :IfcTendonType
            :IfcTendonAnchorType
        )
    ] ;
    owl:disjointWith :IfcBuildingElementPartType, :IfcDiscreteAccessoryType, :IfcFastenerType, :IfcMechanicalFastenerType, :IfcVibrationIsolatorType .

:IfcReinforcingMesh
    a owl:Class ;
    rdfs:subClassOf :IfcReinforcingElement, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :longitudinalBarSpacing_IfcReinforcingMesh
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :longitudinalBarNominalDiameter_IfcReinforcingMesh
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcReinforcingMeshTypeEnum ;
        owl:onProperty :predefinedType_IfcReinforcingMesh
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :transverseBarSpacing_IfcReinforcingMesh
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :meshLength_IfcReinforcingMesh
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :transverseBarSpacing_IfcReinforcingMesh
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAreaMeasure ;
        owl:onProperty :longitudinalBarCrossSectionArea_IfcReinforcingMesh
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :transverseBarNominalDiameter_IfcReinforcingMesh
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :meshWidth_IfcReinforcingMesh
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAreaMeasure ;
        owl:onProperty :transverseBarCrossSectionArea_IfcReinforcingMesh
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAreaMeasure ;
        owl:onProperty :transverseBarCrossSectionArea_IfcReinforcingMesh
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :meshLength_IfcReinforcingMesh
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :longitudinalBarSpacing_IfcReinforcingMesh
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :transverseBarNominalDiameter_IfcReinforcingMesh
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReinforcingMeshTypeEnum ;
        owl:onProperty :predefinedType_IfcReinforcingMesh
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :meshWidth_IfcReinforcingMesh
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :longitudinalBarNominalDiameter_IfcReinforcingMesh
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAreaMeasure ;
        owl:onProperty :longitudinalBarCrossSectionArea_IfcReinforcingMesh
    ] ;
    owl:disjointWith :IfcReinforcingBar, :IfcTendon, :IfcTendonAnchor .

:IfcReinforcingMeshType
    a owl:Class ;
    rdfs:subClassOf :IfcReinforcingElementType, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAreaMeasure ;
        owl:onProperty :longitudinalBarCrossSectionArea_IfcReinforcingMeshType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAreaMeasure ;
        owl:onProperty :longitudinalBarCrossSectionArea_IfcReinforcingMeshType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcBendingParameterSelect_List
        ] ;
        owl:onProperty :bendingParameters_IfcReinforcingMeshType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :transverseBarSpacing_IfcReinforcingMeshType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :longitudinalBarSpacing_IfcReinforcingMeshType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :meshLength_IfcReinforcingMeshType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :transverseBarNominalDiameter_IfcReinforcingMeshType
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :meshWidth_IfcReinforcingMeshType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :bendingShapeCode_IfcReinforcingMeshType
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :longitudinalBarSpacing_IfcReinforcingMeshType
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :transverseBarNominalDiameter_IfcReinforcingMeshType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcReinforcingMeshTypeEnum ;
        owl:onProperty :predefinedType_IfcReinforcingMeshType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :meshWidth_IfcReinforcingMeshType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReinforcingMeshTypeEnum ;
        owl:onProperty :predefinedType_IfcReinforcingMeshType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBendingParameterSelect_List ;
        owl:onProperty :bendingParameters_IfcReinforcingMeshType
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :longitudinalBarNominalDiameter_IfcReinforcingMeshType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :longitudinalBarNominalDiameter_IfcReinforcingMeshType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAreaMeasure ;
        owl:onProperty :transverseBarCrossSectionArea_IfcReinforcingMeshType
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcBendingParameterSelect_List ;
        owl:onProperty :bendingParameters_IfcReinforcingMeshType
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :transverseBarSpacing_IfcReinforcingMeshType
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :bendingShapeCode_IfcReinforcingMeshType
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :meshLength_IfcReinforcingMeshType
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAreaMeasure ;
        owl:onProperty :transverseBarCrossSectionArea_IfcReinforcingMeshType
    ] ;
    owl:disjointWith :IfcReinforcingBarType, :IfcTendonAnchorType, :IfcTendonType .

:IfcReinforcingMeshTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcRelAggregates
    a owl:Class ;
    rdfs:subClassOf :IfcRelDecomposes, [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcObjectDefinition ;
        owl:onProperty :relatedObjects_IfcRelAggregates
    ], [
        a owl:Restriction ;
        owl:onClass :IfcObjectDefinition ;
        owl:onProperty :relatingObject_IfcRelAggregates ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcObjectDefinition ;
        owl:onProperty :relatedObjects_IfcRelAggregates
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcObjectDefinition ;
        owl:onProperty :relatingObject_IfcRelAggregates
    ] ;
    owl:disjointWith :IfcRelNests, :IfcRelProjectsElement, :IfcRelVoidsElement .

:IfcRelAssigns
    a owl:Class ;
    rdfs:subClassOf :IfcRelationship, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcObjectDefinition ;
        owl:onProperty :relatedObjects_IfcRelAssigns
    ], [
        a owl:Class ;
        owl:unionOf (:IfcRelAssignsToProduct
            :IfcRelAssignsToActor
            :IfcRelAssignsToProcess
            :IfcRelAssignsToGroup
            :IfcRelAssignsToControl
            :IfcRelAssignsToResource
        )
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcObjectDefinition ;
        owl:onProperty :relatedObjects_IfcRelAssigns
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcObjectTypeEnum ;
        owl:onProperty :relatedObjectsType_IfcRelAssigns
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcObjectTypeEnum ;
        owl:onProperty :relatedObjectsType_IfcRelAssigns
    ] ;
    owl:disjointWith :IfcRelAssociates, :IfcRelConnects, :IfcRelDeclares, :IfcRelDecomposes, :IfcRelDefines .

:IfcRelAssignsToActor
    a owl:Class ;
    rdfs:subClassOf :IfcRelAssigns, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcActor ;
        owl:onProperty :relatingActor_IfcRelAssignsToActor
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcActorRole ;
        owl:onProperty :actingRole_IfcRelAssignsToActor
    ], [
        a owl:Restriction ;
        owl:onClass :IfcActor ;
        owl:onProperty :relatingActor_IfcRelAssignsToActor ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcActorRole ;
        owl:onProperty :actingRole_IfcRelAssignsToActor
    ] ;
    owl:disjointWith :IfcRelAssignsToControl, :IfcRelAssignsToGroup, :IfcRelAssignsToProcess, :IfcRelAssignsToProduct, :IfcRelAssignsToResource .

:IfcRelAssignsToControl
    a owl:Class ;
    rdfs:subClassOf :IfcRelAssigns, [
        a owl:Restriction ;
        owl:onClass :IfcControl ;
        owl:onProperty :relatingControl_IfcRelAssignsToControl ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcControl ;
        owl:onProperty :relatingControl_IfcRelAssignsToControl
    ] ;
    owl:disjointWith :IfcRelAssignsToActor, :IfcRelAssignsToGroup, :IfcRelAssignsToProcess, :IfcRelAssignsToProduct, :IfcRelAssignsToResource .

:IfcRelAssignsToGroup
    a owl:Class ;
    rdfs:subClassOf :IfcRelAssigns, [
        a owl:Restriction ;
        owl:onClass :IfcGroup ;
        owl:onProperty :relatingGroup_IfcRelAssignsToGroup ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcGroup ;
        owl:onProperty :relatingGroup_IfcRelAssignsToGroup
    ] ;
    owl:disjointWith :IfcRelAssignsToActor, :IfcRelAssignsToControl, :IfcRelAssignsToProcess, :IfcRelAssignsToProduct, :IfcRelAssignsToResource .

:IfcRelAssignsToGroupByFactor
    a owl:Class ;
    rdfs:subClassOf :IfcRelAssignsToGroup, [
        a owl:Restriction ;
        owl:onClass :IfcRatioMeasure ;
        owl:onProperty :factor_IfcRelAssignsToGroupByFactor ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRatioMeasure ;
        owl:onProperty :factor_IfcRelAssignsToGroupByFactor
    ] .

:IfcRelAssignsToProcess
    a owl:Class ;
    rdfs:subClassOf :IfcRelAssigns, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcMeasureWithUnit ;
        owl:onProperty :quantityInProcess_IfcRelAssignsToProcess
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMeasureWithUnit ;
        owl:onProperty :quantityInProcess_IfcRelAssignsToProcess
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProcessSelect ;
        owl:onProperty :relatingProcess_IfcRelAssignsToProcess
    ], [
        a owl:Restriction ;
        owl:onClass :IfcProcessSelect ;
        owl:onProperty :relatingProcess_IfcRelAssignsToProcess ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcRelAssignsToActor, :IfcRelAssignsToControl, :IfcRelAssignsToGroup, :IfcRelAssignsToProduct, :IfcRelAssignsToResource .

:IfcRelAssignsToProduct
    a owl:Class ;
    rdfs:subClassOf :IfcRelAssigns, [
        a owl:Restriction ;
        owl:onClass :IfcProductSelect ;
        owl:onProperty :relatingProduct_IfcRelAssignsToProduct ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProductSelect ;
        owl:onProperty :relatingProduct_IfcRelAssignsToProduct
    ] ;
    owl:disjointWith :IfcRelAssignsToActor, :IfcRelAssignsToControl, :IfcRelAssignsToGroup, :IfcRelAssignsToProcess, :IfcRelAssignsToResource .

:IfcRelAssignsToResource
    a owl:Class ;
    rdfs:subClassOf :IfcRelAssigns, [
        a owl:Restriction ;
        owl:onClass :IfcResourceSelect ;
        owl:onProperty :relatingResource_IfcRelAssignsToResource ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcResourceSelect ;
        owl:onProperty :relatingResource_IfcRelAssignsToResource
    ] ;
    owl:disjointWith :IfcRelAssignsToActor, :IfcRelAssignsToControl, :IfcRelAssignsToGroup, :IfcRelAssignsToProcess, :IfcRelAssignsToProduct .

:IfcRelAssociates
    a owl:Class ;
    rdfs:subClassOf :IfcRelationship, [
        a owl:Class ;
        owl:unionOf (:IfcRelAssociatesMaterial
            :IfcRelAssociatesDocument
            :IfcRelAssociatesConstraint
            :IfcRelAssociatesClassification
            :IfcRelAssociatesApproval
            :IfcRelAssociatesLibrary
        )
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDefinitionSelect ;
        owl:onProperty :relatedObjects_IfcRelAssociates
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDefinitionSelect ;
        owl:onProperty :relatedObjects_IfcRelAssociates
    ] ;
    owl:disjointWith :IfcRelAssigns, :IfcRelConnects, :IfcRelDeclares, :IfcRelDecomposes, :IfcRelDefines .

:IfcRelAssociatesApproval
    a owl:Class ;
    rdfs:subClassOf :IfcRelAssociates, [
        a owl:Restriction ;
        owl:onClass :IfcApproval ;
        owl:onProperty :relatingApproval_IfcRelAssociatesApproval ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcApproval ;
        owl:onProperty :relatingApproval_IfcRelAssociatesApproval
    ] ;
    owl:disjointWith :IfcRelAssociatesClassification, :IfcRelAssociatesConstraint, :IfcRelAssociatesDocument, :IfcRelAssociatesLibrary, :IfcRelAssociatesMaterial .

:IfcRelAssociatesClassification
    a owl:Class ;
    rdfs:subClassOf :IfcRelAssociates, [
        a owl:Restriction ;
        owl:onClass :IfcClassificationSelect ;
        owl:onProperty :relatingClassification_IfcRelAssociatesClassification ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcClassificationSelect ;
        owl:onProperty :relatingClassification_IfcRelAssociatesClassification
    ] ;
    owl:disjointWith :IfcRelAssociatesApproval, :IfcRelAssociatesConstraint, :IfcRelAssociatesDocument, :IfcRelAssociatesLibrary, :IfcRelAssociatesMaterial .

:IfcRelAssociatesConstraint
    a owl:Class ;
    rdfs:subClassOf :IfcRelAssociates, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :intent_IfcRelAssociatesConstraint
    ], [
        a owl:Restriction ;
        owl:onClass :IfcConstraint ;
        owl:onProperty :relatingConstraint_IfcRelAssociatesConstraint ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :intent_IfcRelAssociatesConstraint
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcConstraint ;
        owl:onProperty :relatingConstraint_IfcRelAssociatesConstraint
    ] ;
    owl:disjointWith :IfcRelAssociatesApproval, :IfcRelAssociatesClassification, :IfcRelAssociatesDocument, :IfcRelAssociatesLibrary, :IfcRelAssociatesMaterial .

:IfcRelAssociatesDocument
    a owl:Class ;
    rdfs:subClassOf :IfcRelAssociates, [
        a owl:Restriction ;
        owl:onClass :IfcDocumentSelect ;
        owl:onProperty :relatingDocument_IfcRelAssociatesDocument ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDocumentSelect ;
        owl:onProperty :relatingDocument_IfcRelAssociatesDocument
    ] ;
    owl:disjointWith :IfcRelAssociatesApproval, :IfcRelAssociatesClassification, :IfcRelAssociatesConstraint, :IfcRelAssociatesLibrary, :IfcRelAssociatesMaterial .

:IfcRelAssociatesLibrary
    a owl:Class ;
    rdfs:subClassOf :IfcRelAssociates, [
        a owl:Restriction ;
        owl:onClass :IfcLibrarySelect ;
        owl:onProperty :relatingLibrary_IfcRelAssociatesLibrary ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLibrarySelect ;
        owl:onProperty :relatingLibrary_IfcRelAssociatesLibrary
    ] ;
    owl:disjointWith :IfcRelAssociatesApproval, :IfcRelAssociatesClassification, :IfcRelAssociatesConstraint, :IfcRelAssociatesDocument, :IfcRelAssociatesMaterial .

:IfcRelAssociatesMaterial
    a owl:Class ;
    rdfs:subClassOf :IfcRelAssociates, [
        a owl:Restriction ;
        owl:onClass :IfcMaterialSelect ;
        owl:onProperty :relatingMaterial_IfcRelAssociatesMaterial ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMaterialSelect ;
        owl:onProperty :relatingMaterial_IfcRelAssociatesMaterial
    ] ;
    owl:disjointWith :IfcRelAssociatesApproval, :IfcRelAssociatesClassification, :IfcRelAssociatesConstraint, :IfcRelAssociatesDocument, :IfcRelAssociatesLibrary .

:IfcRelConnects
    a owl:Class ;
    rdfs:subClassOf :IfcRelationship, [
        a owl:Class ;
        owl:unionOf (:IfcRelCoversBldgElements
            :IfcRelFillsElement
            :IfcRelSpaceBoundary
            :IfcRelConnectsStructuralActivity
            :IfcRelReferencedInSpatialStructure
            :IfcRelInterferesElements
            :IfcRelFlowControlElements
            :IfcRelConnectsStructuralMember
            :IfcRelConnectsElements
            :IfcRelContainedInSpatialStructure
            :IfcRelSequence
            :IfcRelServicesBuildings
            :IfcRelCoversSpaces
            :IfcRelConnectsPortToElement
            :IfcRelConnectsPorts
        )
    ] ;
    owl:disjointWith :IfcRelAssigns, :IfcRelAssociates, :IfcRelDeclares, :IfcRelDecomposes, :IfcRelDefines .

:IfcRelConnectsElements
    a owl:Class ;
    rdfs:subClassOf :IfcRelConnects, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElement ;
        owl:onProperty :relatedElement_IfcRelConnectsElements
    ], [
        a owl:Restriction ;
        owl:onClass :IfcElement ;
        owl:onProperty :relatingElement_IfcRelConnectsElements ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElement ;
        owl:onProperty :relatingElement_IfcRelConnectsElements
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcConnectionGeometry ;
        owl:onProperty :connectionGeometry_IfcRelConnectsElements
    ], [
        a owl:Restriction ;
        owl:onClass :IfcElement ;
        owl:onProperty :relatedElement_IfcRelConnectsElements ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcConnectionGeometry ;
        owl:onProperty :connectionGeometry_IfcRelConnectsElements
    ] ;
    owl:disjointWith :IfcRelConnectsPortToElement, :IfcRelConnectsPorts, :IfcRelConnectsStructuralActivity, :IfcRelConnectsStructuralMember, :IfcRelContainedInSpatialStructure, :IfcRelCoversBldgElements, :IfcRelCoversSpaces, :IfcRelFillsElement, :IfcRelFlowControlElements, :IfcRelInterferesElements, :IfcRelReferencedInSpatialStructure, :IfcRelSequence, :IfcRelServicesBuildings, :IfcRelSpaceBoundary .

:IfcRelConnectsPathElements
    a owl:Class ;
    rdfs:subClassOf :IfcRelConnectsElements, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcConnectionTypeEnum ;
        owl:onProperty :relatingConnectionType_IfcRelConnectsPathElements
    ], [
        a owl:Restriction ;
        owl:onClass :IfcInteger_List ;
        owl:onProperty :relatedPriorities_IfcRelConnectsPathElements ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcConnectionTypeEnum ;
        owl:onProperty :relatingConnectionType_IfcRelConnectsPathElements ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcInteger_List ;
        owl:onProperty :relatedPriorities_IfcRelConnectsPathElements
    ], [
        a owl:Restriction ;
        owl:onClass :IfcConnectionTypeEnum ;
        owl:onProperty :relatedConnectionType_IfcRelConnectsPathElements ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcConnectionTypeEnum ;
        owl:onProperty :relatedConnectionType_IfcRelConnectsPathElements
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcInteger_List ;
        owl:onProperty :relatingPriorities_IfcRelConnectsPathElements
    ], [
        a owl:Restriction ;
        owl:onClass :IfcInteger_List ;
        owl:onProperty :relatingPriorities_IfcRelConnectsPathElements ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcRelConnectsWithRealizingElements .

:IfcRelConnectsPortToElement
    a owl:Class ;
    rdfs:subClassOf :IfcRelConnects, [
        a owl:Restriction ;
        owl:onClass :IfcDistributionElement ;
        owl:onProperty :relatedElement_IfcRelConnectsPortToElement ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPort ;
        owl:onProperty :relatingPort_IfcRelConnectsPortToElement ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPort ;
        owl:onProperty :relatingPort_IfcRelConnectsPortToElement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDistributionElement ;
        owl:onProperty :relatedElement_IfcRelConnectsPortToElement
    ] ;
    owl:disjointWith :IfcRelConnectsElements, :IfcRelConnectsPorts, :IfcRelConnectsStructuralActivity, :IfcRelConnectsStructuralMember, :IfcRelContainedInSpatialStructure, :IfcRelCoversBldgElements, :IfcRelCoversSpaces, :IfcRelFillsElement, :IfcRelFlowControlElements, :IfcRelInterferesElements, :IfcRelReferencedInSpatialStructure, :IfcRelSequence, :IfcRelServicesBuildings, :IfcRelSpaceBoundary .

:IfcRelConnectsPorts
    a owl:Class ;
    rdfs:subClassOf :IfcRelConnects, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElement ;
        owl:onProperty :realizingElement_IfcRelConnectsPorts
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcElement ;
        owl:onProperty :realizingElement_IfcRelConnectsPorts
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPort ;
        owl:onProperty :relatedPort_IfcRelConnectsPorts ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPort ;
        owl:onProperty :relatingPort_IfcRelConnectsPorts ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPort ;
        owl:onProperty :relatedPort_IfcRelConnectsPorts
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPort ;
        owl:onProperty :relatingPort_IfcRelConnectsPorts
    ] ;
    owl:disjointWith :IfcRelConnectsElements, :IfcRelConnectsPortToElement, :IfcRelConnectsStructuralActivity, :IfcRelConnectsStructuralMember, :IfcRelContainedInSpatialStructure, :IfcRelCoversBldgElements, :IfcRelCoversSpaces, :IfcRelFillsElement, :IfcRelFlowControlElements, :IfcRelInterferesElements, :IfcRelReferencedInSpatialStructure, :IfcRelSequence, :IfcRelServicesBuildings, :IfcRelSpaceBoundary .

:IfcRelConnectsStructuralActivity
    a owl:Class ;
    rdfs:subClassOf :IfcRelConnects, [
        a owl:Restriction ;
        owl:onClass :IfcStructuralActivityAssignmentSelect ;
        owl:onProperty :relatingElement_IfcRelConnectsStructuralActivity ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStructuralActivityAssignmentSelect ;
        owl:onProperty :relatingElement_IfcRelConnectsStructuralActivity
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStructuralActivity ;
        owl:onProperty :relatedStructuralActivity_IfcRelConnectsStructuralActivity
    ], [
        a owl:Restriction ;
        owl:onClass :IfcStructuralActivity ;
        owl:onProperty :relatedStructuralActivity_IfcRelConnectsStructuralActivity ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcRelConnectsElements, :IfcRelConnectsPortToElement, :IfcRelConnectsPorts, :IfcRelConnectsStructuralMember, :IfcRelContainedInSpatialStructure, :IfcRelCoversBldgElements, :IfcRelCoversSpaces, :IfcRelFillsElement, :IfcRelFlowControlElements, :IfcRelInterferesElements, :IfcRelReferencedInSpatialStructure, :IfcRelSequence, :IfcRelServicesBuildings, :IfcRelSpaceBoundary .

:IfcRelConnectsStructuralMember
    a owl:Class ;
    rdfs:subClassOf :IfcRelConnects, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStructuralConnection ;
        owl:onProperty :relatedStructuralConnection_IfcRelConnectsStructuralMember
    ], [
        a owl:Restriction ;
        owl:onClass :IfcStructuralConnection ;
        owl:onProperty :relatedStructuralConnection_IfcRelConnectsStructuralMember ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAxis2Placement3D ;
        owl:onProperty :conditionCoordinateSystem_IfcRelConnectsStructuralMember
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcBoundaryCondition ;
        owl:onProperty :appliedCondition_IfcRelConnectsStructuralMember
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStructuralMember ;
        owl:onProperty :relatingStructuralMember_IfcRelConnectsStructuralMember
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :supportedLength_IfcRelConnectsStructuralMember
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoundaryCondition ;
        owl:onProperty :appliedCondition_IfcRelConnectsStructuralMember
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStructuralConnectionCondition ;
        owl:onProperty :additionalConditions_IfcRelConnectsStructuralMember
    ], [
        a owl:Restriction ;
        owl:onClass :IfcStructuralMember ;
        owl:onProperty :relatingStructuralMember_IfcRelConnectsStructuralMember ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :supportedLength_IfcRelConnectsStructuralMember
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAxis2Placement3D ;
        owl:onProperty :conditionCoordinateSystem_IfcRelConnectsStructuralMember
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcStructuralConnectionCondition ;
        owl:onProperty :additionalConditions_IfcRelConnectsStructuralMember
    ] ;
    owl:disjointWith :IfcRelConnectsElements, :IfcRelConnectsPortToElement, :IfcRelConnectsPorts, :IfcRelConnectsStructuralActivity, :IfcRelContainedInSpatialStructure, :IfcRelCoversBldgElements, :IfcRelCoversSpaces, :IfcRelFillsElement, :IfcRelFlowControlElements, :IfcRelInterferesElements, :IfcRelReferencedInSpatialStructure, :IfcRelSequence, :IfcRelServicesBuildings, :IfcRelSpaceBoundary .

:IfcRelConnectsWithEccentricity
    a owl:Class ;
    rdfs:subClassOf :IfcRelConnectsStructuralMember, [
        a owl:Restriction ;
        owl:onClass :IfcConnectionGeometry ;
        owl:onProperty :connectionConstraint_IfcRelConnectsWithEccentricity ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcConnectionGeometry ;
        owl:onProperty :connectionConstraint_IfcRelConnectsWithEccentricity
    ] .

:IfcRelConnectsWithRealizingElements
    a owl:Class ;
    rdfs:subClassOf :IfcRelConnectsElements, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :connectionType_IfcRelConnectsWithRealizingElements
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElement ;
        owl:onProperty :realizingElements_IfcRelConnectsWithRealizingElements
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcElement ;
        owl:onProperty :realizingElements_IfcRelConnectsWithRealizingElements
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :connectionType_IfcRelConnectsWithRealizingElements
    ] ;
    owl:disjointWith :IfcRelConnectsPathElements .

:IfcRelContainedInSpatialStructure
    a owl:Class ;
    rdfs:subClassOf :IfcRelConnects, [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcProduct ;
        owl:onProperty :relatedElements_IfcRelContainedInSpatialStructure
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSpatialElement ;
        owl:onProperty :relatingStructure_IfcRelContainedInSpatialStructure
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProduct ;
        owl:onProperty :relatedElements_IfcRelContainedInSpatialStructure
    ], [
        a owl:Restriction ;
        owl:onClass :IfcSpatialElement ;
        owl:onProperty :relatingStructure_IfcRelContainedInSpatialStructure ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcRelConnectsElements, :IfcRelConnectsPortToElement, :IfcRelConnectsPorts, :IfcRelConnectsStructuralActivity, :IfcRelConnectsStructuralMember, :IfcRelCoversBldgElements, :IfcRelCoversSpaces, :IfcRelFillsElement, :IfcRelFlowControlElements, :IfcRelInterferesElements, :IfcRelReferencedInSpatialStructure, :IfcRelSequence, :IfcRelServicesBuildings, :IfcRelSpaceBoundary .

:IfcRelCoversBldgElements
    a owl:Class ;
    rdfs:subClassOf :IfcRelConnects, [
        a owl:Restriction ;
        owl:onClass :IfcElement ;
        owl:onProperty :relatingBuildingElement_IfcRelCoversBldgElements ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElement ;
        owl:onProperty :relatingBuildingElement_IfcRelCoversBldgElements
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCovering ;
        owl:onProperty :relatedCoverings_IfcRelCoversBldgElements
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCovering ;
        owl:onProperty :relatedCoverings_IfcRelCoversBldgElements
    ] ;
    owl:disjointWith :IfcRelConnectsElements, :IfcRelConnectsPortToElement, :IfcRelConnectsPorts, :IfcRelConnectsStructuralActivity, :IfcRelConnectsStructuralMember, :IfcRelContainedInSpatialStructure, :IfcRelCoversSpaces, :IfcRelFillsElement, :IfcRelFlowControlElements, :IfcRelInterferesElements, :IfcRelReferencedInSpatialStructure, :IfcRelSequence, :IfcRelServicesBuildings, :IfcRelSpaceBoundary .

:IfcRelCoversSpaces
    a owl:Class ;
    rdfs:subClassOf :IfcRelConnects, [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCovering ;
        owl:onProperty :relatedCoverings_IfcRelCoversSpaces
    ], [
        a owl:Restriction ;
        owl:onClass :IfcSpace ;
        owl:onProperty :relatingSpace_IfcRelCoversSpaces ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCovering ;
        owl:onProperty :relatedCoverings_IfcRelCoversSpaces
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSpace ;
        owl:onProperty :relatingSpace_IfcRelCoversSpaces
    ] ;
    owl:disjointWith :IfcRelConnectsElements, :IfcRelConnectsPortToElement, :IfcRelConnectsPorts, :IfcRelConnectsStructuralActivity, :IfcRelConnectsStructuralMember, :IfcRelContainedInSpatialStructure, :IfcRelCoversBldgElements, :IfcRelFillsElement, :IfcRelFlowControlElements, :IfcRelInterferesElements, :IfcRelReferencedInSpatialStructure, :IfcRelSequence, :IfcRelServicesBuildings, :IfcRelSpaceBoundary .

:IfcRelDeclares
    a owl:Class ;
    rdfs:subClassOf :IfcRelationship, [
        a owl:Restriction ;
        owl:onClass :IfcContext ;
        owl:onProperty :relatingContext_IfcRelDeclares ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcContext ;
        owl:onProperty :relatingContext_IfcRelDeclares
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDefinitionSelect ;
        owl:onProperty :relatedDefinitions_IfcRelDeclares
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDefinitionSelect ;
        owl:onProperty :relatedDefinitions_IfcRelDeclares
    ] ;
    owl:disjointWith :IfcRelAssigns, :IfcRelAssociates, :IfcRelConnects, :IfcRelDecomposes, :IfcRelDefines .

:IfcRelDecomposes
    a owl:Class ;
    rdfs:subClassOf :IfcRelationship, [
        a owl:Class ;
        owl:unionOf (:IfcRelNests
            :IfcRelVoidsElement
            :IfcRelAggregates
            :IfcRelProjectsElement
        )
    ] ;
    owl:disjointWith :IfcRelAssigns, :IfcRelAssociates, :IfcRelConnects, :IfcRelDeclares, :IfcRelDefines .

:IfcRelDefines
    a owl:Class ;
    rdfs:subClassOf :IfcRelationship, [
        a owl:Class ;
        owl:unionOf (:IfcRelDefinesByTemplate
            :IfcRelDefinesByProperties
            :IfcRelDefinesByObject
            :IfcRelDefinesByType
        )
    ] ;
    owl:disjointWith :IfcRelAssigns, :IfcRelAssociates, :IfcRelConnects, :IfcRelDeclares, :IfcRelDecomposes .

:IfcRelDefinesByObject
    a owl:Class ;
    rdfs:subClassOf :IfcRelDefines, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcObject ;
        owl:onProperty :relatingObject_IfcRelDefinesByObject
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcObject ;
        owl:onProperty :relatedObjects_IfcRelDefinesByObject
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcObject ;
        owl:onProperty :relatedObjects_IfcRelDefinesByObject
    ], [
        a owl:Restriction ;
        owl:onClass :IfcObject ;
        owl:onProperty :relatingObject_IfcRelDefinesByObject ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcRelDefinesByProperties, :IfcRelDefinesByTemplate, :IfcRelDefinesByType .

:IfcRelDefinesByProperties
    a owl:Class ;
    rdfs:subClassOf :IfcRelDefines, [
        a owl:Restriction ;
        owl:onClass :IfcPropertySetDefinitionSelect ;
        owl:onProperty :relatingPropertyDefinition_IfcRelDefinesByProperties ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPropertySetDefinitionSelect ;
        owl:onProperty :relatingPropertyDefinition_IfcRelDefinesByProperties
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcObjectDefinition ;
        owl:onProperty :relatedObjects_IfcRelDefinesByProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcObjectDefinition ;
        owl:onProperty :relatedObjects_IfcRelDefinesByProperties
    ] ;
    owl:disjointWith :IfcRelDefinesByObject, :IfcRelDefinesByTemplate, :IfcRelDefinesByType .

:IfcRelDefinesByTemplate
    a owl:Class ;
    rdfs:subClassOf :IfcRelDefines, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPropertySetDefinition ;
        owl:onProperty :relatedPropertySets_IfcRelDefinesByTemplate
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPropertySetTemplate ;
        owl:onProperty :relatingTemplate_IfcRelDefinesByTemplate ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPropertySetTemplate ;
        owl:onProperty :relatingTemplate_IfcRelDefinesByTemplate
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPropertySetDefinition ;
        owl:onProperty :relatedPropertySets_IfcRelDefinesByTemplate
    ] ;
    owl:disjointWith :IfcRelDefinesByObject, :IfcRelDefinesByProperties, :IfcRelDefinesByType .

:IfcRelDefinesByType
    a owl:Class ;
    rdfs:subClassOf :IfcRelDefines, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcObject ;
        owl:onProperty :relatedObjects_IfcRelDefinesByType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcTypeObject ;
        owl:onProperty :relatingType_IfcRelDefinesByType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTypeObject ;
        owl:onProperty :relatingType_IfcRelDefinesByType
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcObject ;
        owl:onProperty :relatedObjects_IfcRelDefinesByType
    ] ;
    owl:disjointWith :IfcRelDefinesByObject, :IfcRelDefinesByProperties, :IfcRelDefinesByTemplate .

:IfcRelFillsElement
    a owl:Class ;
    rdfs:subClassOf :IfcRelConnects, [
        a owl:Restriction ;
        owl:onClass :IfcOpeningElement ;
        owl:onProperty :relatingOpeningElement_IfcRelFillsElement ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcElement ;
        owl:onProperty :relatedBuildingElement_IfcRelFillsElement ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcOpeningElement ;
        owl:onProperty :relatingOpeningElement_IfcRelFillsElement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElement ;
        owl:onProperty :relatedBuildingElement_IfcRelFillsElement
    ] ;
    owl:disjointWith :IfcRelConnectsElements, :IfcRelConnectsPortToElement, :IfcRelConnectsPorts, :IfcRelConnectsStructuralActivity, :IfcRelConnectsStructuralMember, :IfcRelContainedInSpatialStructure, :IfcRelCoversBldgElements, :IfcRelCoversSpaces, :IfcRelFlowControlElements, :IfcRelInterferesElements, :IfcRelReferencedInSpatialStructure, :IfcRelSequence, :IfcRelServicesBuildings, :IfcRelSpaceBoundary .

:IfcRelFlowControlElements
    a owl:Class ;
    rdfs:subClassOf :IfcRelConnects, [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDistributionControlElement ;
        owl:onProperty :relatedControlElements_IfcRelFlowControlElements
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDistributionControlElement ;
        owl:onProperty :relatedControlElements_IfcRelFlowControlElements
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDistributionFlowElement ;
        owl:onProperty :relatingFlowElement_IfcRelFlowControlElements ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDistributionFlowElement ;
        owl:onProperty :relatingFlowElement_IfcRelFlowControlElements
    ] ;
    owl:disjointWith :IfcRelConnectsElements, :IfcRelConnectsPortToElement, :IfcRelConnectsPorts, :IfcRelConnectsStructuralActivity, :IfcRelConnectsStructuralMember, :IfcRelContainedInSpatialStructure, :IfcRelCoversBldgElements, :IfcRelCoversSpaces, :IfcRelFillsElement, :IfcRelInterferesElements, :IfcRelReferencedInSpatialStructure, :IfcRelSequence, :IfcRelServicesBuildings, :IfcRelSpaceBoundary .

:IfcRelInterferesElements
    a owl:Class ;
    rdfs:subClassOf :IfcRelConnects, [
        a owl:Restriction ;
        owl:onClass :IfcElement ;
        owl:onProperty :relatedElement_IfcRelInterferesElements ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :interferenceType_IfcRelInterferesElements
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :interferenceType_IfcRelInterferesElements
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElement ;
        owl:onProperty :relatingElement_IfcRelInterferesElements
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElement ;
        owl:onProperty :relatedElement_IfcRelInterferesElements
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcConnectionGeometry ;
        owl:onProperty :interferenceGeometry_IfcRelInterferesElements
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcConnectionGeometry ;
        owl:onProperty :interferenceGeometry_IfcRelInterferesElements
    ], [
        a owl:Restriction ;
        owl:onClass expr:LOGICAL ;
        owl:onProperty :impliedOrder_IfcRelInterferesElements ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom expr:LOGICAL ;
        owl:onProperty :impliedOrder_IfcRelInterferesElements
    ], [
        a owl:Restriction ;
        owl:onClass :IfcElement ;
        owl:onProperty :relatingElement_IfcRelInterferesElements ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcRelConnectsElements, :IfcRelConnectsPortToElement, :IfcRelConnectsPorts, :IfcRelConnectsStructuralActivity, :IfcRelConnectsStructuralMember, :IfcRelContainedInSpatialStructure, :IfcRelCoversBldgElements, :IfcRelCoversSpaces, :IfcRelFillsElement, :IfcRelFlowControlElements, :IfcRelReferencedInSpatialStructure, :IfcRelSequence, :IfcRelServicesBuildings, :IfcRelSpaceBoundary .

:IfcRelNests
    a owl:Class ;
    rdfs:subClassOf :IfcRelDecomposes, [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcObjectDefinition_List
        ] ;
        owl:onProperty :relatedObjects_IfcRelNests
    ], [
        a owl:Restriction ;
        owl:onClass :IfcObjectDefinition_List ;
        owl:onProperty :relatedObjects_IfcRelNests ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcObjectDefinition ;
        owl:onProperty :relatingObject_IfcRelNests
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcObjectDefinition_List ;
        owl:onProperty :relatedObjects_IfcRelNests
    ], [
        a owl:Restriction ;
        owl:onClass :IfcObjectDefinition ;
        owl:onProperty :relatingObject_IfcRelNests ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcRelAggregates, :IfcRelProjectsElement, :IfcRelVoidsElement .

:IfcRelProjectsElement
    a owl:Class ;
    rdfs:subClassOf :IfcRelDecomposes, [
        a owl:Restriction ;
        owl:onClass :IfcElement ;
        owl:onProperty :relatingElement_IfcRelProjectsElement ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcFeatureElementAddition ;
        owl:onProperty :relatedFeatureElement_IfcRelProjectsElement ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElement ;
        owl:onProperty :relatingElement_IfcRelProjectsElement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFeatureElementAddition ;
        owl:onProperty :relatedFeatureElement_IfcRelProjectsElement
    ] ;
    owl:disjointWith :IfcRelAggregates, :IfcRelNests, :IfcRelVoidsElement .

:IfcRelReferencedInSpatialStructure
    a owl:Class ;
    rdfs:subClassOf :IfcRelConnects, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProduct ;
        owl:onProperty :relatedElements_IfcRelReferencedInSpatialStructure
    ], [
        a owl:Restriction ;
        owl:onClass :IfcSpatialElement ;
        owl:onProperty :relatingStructure_IfcRelReferencedInSpatialStructure ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcProduct ;
        owl:onProperty :relatedElements_IfcRelReferencedInSpatialStructure
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSpatialElement ;
        owl:onProperty :relatingStructure_IfcRelReferencedInSpatialStructure
    ] ;
    owl:disjointWith :IfcRelConnectsElements, :IfcRelConnectsPortToElement, :IfcRelConnectsPorts, :IfcRelConnectsStructuralActivity, :IfcRelConnectsStructuralMember, :IfcRelContainedInSpatialStructure, :IfcRelCoversBldgElements, :IfcRelCoversSpaces, :IfcRelFillsElement, :IfcRelFlowControlElements, :IfcRelInterferesElements, :IfcRelSequence, :IfcRelServicesBuildings, :IfcRelSpaceBoundary .

:IfcRelSequence
    a owl:Class ;
    rdfs:subClassOf :IfcRelConnects, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProcess ;
        owl:onProperty :relatedProcess_IfcRelSequence
    ], [
        a owl:Restriction ;
        owl:onClass :IfcProcess ;
        owl:onProperty :relatingProcess_IfcRelSequence ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSequenceEnum ;
        owl:onProperty :sequenceType_IfcRelSequence
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSequenceEnum ;
        owl:onProperty :sequenceType_IfcRelSequence
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLagTime ;
        owl:onProperty :timeLag_IfcRelSequence
    ], [
        a owl:Restriction ;
        owl:onClass :IfcProcess ;
        owl:onProperty :relatedProcess_IfcRelSequence ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :userDefinedSequenceType_IfcRelSequence
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :userDefinedSequenceType_IfcRelSequence
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLagTime ;
        owl:onProperty :timeLag_IfcRelSequence
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProcess ;
        owl:onProperty :relatingProcess_IfcRelSequence
    ] ;
    owl:disjointWith :IfcRelConnectsElements, :IfcRelConnectsPortToElement, :IfcRelConnectsPorts, :IfcRelConnectsStructuralActivity, :IfcRelConnectsStructuralMember, :IfcRelContainedInSpatialStructure, :IfcRelCoversBldgElements, :IfcRelCoversSpaces, :IfcRelFillsElement, :IfcRelFlowControlElements, :IfcRelInterferesElements, :IfcRelReferencedInSpatialStructure, :IfcRelServicesBuildings, :IfcRelSpaceBoundary .

:IfcRelServicesBuildings
    a owl:Class ;
    rdfs:subClassOf :IfcRelConnects, [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSpatialElement ;
        owl:onProperty :relatedBuildings_IfcRelServicesBuildings
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSystem ;
        owl:onProperty :relatingSystem_IfcRelServicesBuildings
    ], [
        a owl:Restriction ;
        owl:onClass :IfcSystem ;
        owl:onProperty :relatingSystem_IfcRelServicesBuildings ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSpatialElement ;
        owl:onProperty :relatedBuildings_IfcRelServicesBuildings
    ] ;
    owl:disjointWith :IfcRelConnectsElements, :IfcRelConnectsPortToElement, :IfcRelConnectsPorts, :IfcRelConnectsStructuralActivity, :IfcRelConnectsStructuralMember, :IfcRelContainedInSpatialStructure, :IfcRelCoversBldgElements, :IfcRelCoversSpaces, :IfcRelFillsElement, :IfcRelFlowControlElements, :IfcRelInterferesElements, :IfcRelReferencedInSpatialStructure, :IfcRelSequence, :IfcRelSpaceBoundary .

:IfcRelSpaceBoundary
    a owl:Class ;
    rdfs:subClassOf :IfcRelConnects, [
        a owl:Restriction ;
        owl:onClass :IfcPhysicalOrVirtualEnum ;
        owl:onProperty :physicalOrVirtualBoundary_IfcRelSpaceBoundary ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElement ;
        owl:onProperty :relatedBuildingElement_IfcRelSpaceBoundary
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcInternalOrExternalEnum ;
        owl:onProperty :internalOrExternalBoundary_IfcRelSpaceBoundary
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSpaceBoundarySelect ;
        owl:onProperty :relatingSpace_IfcRelSpaceBoundary
    ], [
        a owl:Restriction ;
        owl:onClass :IfcElement ;
        owl:onProperty :relatedBuildingElement_IfcRelSpaceBoundary ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcConnectionGeometry ;
        owl:onProperty :connectionGeometry_IfcRelSpaceBoundary
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPhysicalOrVirtualEnum ;
        owl:onProperty :physicalOrVirtualBoundary_IfcRelSpaceBoundary
    ], [
        a owl:Restriction ;
        owl:onClass :IfcInternalOrExternalEnum ;
        owl:onProperty :internalOrExternalBoundary_IfcRelSpaceBoundary ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcConnectionGeometry ;
        owl:onProperty :connectionGeometry_IfcRelSpaceBoundary
    ], [
        a owl:Restriction ;
        owl:onClass :IfcSpaceBoundarySelect ;
        owl:onProperty :relatingSpace_IfcRelSpaceBoundary ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcRelConnectsElements, :IfcRelConnectsPortToElement, :IfcRelConnectsPorts, :IfcRelConnectsStructuralActivity, :IfcRelConnectsStructuralMember, :IfcRelContainedInSpatialStructure, :IfcRelCoversBldgElements, :IfcRelCoversSpaces, :IfcRelFillsElement, :IfcRelFlowControlElements, :IfcRelInterferesElements, :IfcRelReferencedInSpatialStructure, :IfcRelSequence, :IfcRelServicesBuildings .

:IfcRelSpaceBoundary1stLevel
    a owl:Class ;
    rdfs:subClassOf :IfcRelSpaceBoundary, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelSpaceBoundary1stLevel ;
        owl:onProperty :innerBoundaries_IfcRelSpaceBoundary1stLevel
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRelSpaceBoundary1stLevel ;
        owl:onProperty :parentBoundary_IfcRelSpaceBoundary1stLevel
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelSpaceBoundary1stLevel ;
        owl:onProperty :parentBoundary_IfcRelSpaceBoundary1stLevel
    ] .

:IfcRelSpaceBoundary2ndLevel
    a owl:Class ;
    rdfs:subClassOf :IfcRelSpaceBoundary1stLevel, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelSpaceBoundary2ndLevel ;
        owl:onProperty :corresponds_IfcRelSpaceBoundary2ndLevel
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRelSpaceBoundary2ndLevel ;
        owl:onProperty :corresponds_IfcRelSpaceBoundary2ndLevel
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRelSpaceBoundary2ndLevel ;
        owl:onProperty :correspondingBoundary_IfcRelSpaceBoundary2ndLevel
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelSpaceBoundary2ndLevel ;
        owl:onProperty :correspondingBoundary_IfcRelSpaceBoundary2ndLevel
    ] .

:IfcRelVoidsElement
    a owl:Class ;
    rdfs:subClassOf :IfcRelDecomposes, [
        a owl:Restriction ;
        owl:onClass :IfcFeatureElementSubtraction ;
        owl:onProperty :relatedOpeningElement_IfcRelVoidsElement ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFeatureElementSubtraction ;
        owl:onProperty :relatedOpeningElement_IfcRelVoidsElement
    ], [
        a owl:Restriction ;
        owl:onClass :IfcElement ;
        owl:onProperty :relatingBuildingElement_IfcRelVoidsElement ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElement ;
        owl:onProperty :relatingBuildingElement_IfcRelVoidsElement
    ] ;
    owl:disjointWith :IfcRelAggregates, :IfcRelNests, :IfcRelProjectsElement .

:IfcRelationship
    a owl:Class ;
    rdfs:subClassOf :IfcRoot, [
        a owl:Class ;
        owl:unionOf (:IfcRelDefines
            :IfcRelDecomposes
            :IfcRelDeclares
            :IfcRelAssociates
            :IfcRelConnects
            :IfcRelAssigns
        )
    ] ;
    owl:disjointWith :IfcObjectDefinition, :IfcPropertyDefinition .

:IfcReparametrisedCompositeCurveSegment
    a owl:Class ;
    rdfs:subClassOf :IfcCompositeCurveSegment, [
        a owl:Restriction ;
        owl:onClass :IfcParameterValue ;
        owl:onProperty :paramLength_IfcReparametrisedCompositeCurveSegment ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue ;
        owl:onProperty :paramLength_IfcReparametrisedCompositeCurveSegment
    ] .

:IfcRepresentation
    a owl:Class ;
    rdfs:subClassOf :IfcLayeredItem, [
        a owl:Class ;
        owl:unionOf (:IfcShapeModel
            :IfcStyleModel
        )
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :representationType_IfcRepresentation
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRepresentationMap ;
        owl:onProperty :representationMap_IfcRepresentation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRepresentationContext ;
        owl:onProperty :contextOfItems_IfcRepresentation
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRepresentationItem ;
        owl:onProperty :items_IfcRepresentation
    ], [
        a owl:Restriction ;
        owl:onClass :IfcRepresentationContext ;
        owl:onProperty :contextOfItems_IfcRepresentation ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :representationIdentifier_IfcRepresentation
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :representationType_IfcRepresentation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRepresentationMap ;
        owl:onProperty :representationMap_IfcRepresentation
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRepresentationItem ;
        owl:onProperty :items_IfcRepresentation
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :representationIdentifier_IfcRepresentation
    ] .

:IfcRepresentationContext
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRepresentation ;
        owl:onProperty :representationsInContext_IfcRepresentationContext
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :contextType_IfcRepresentationContext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :contextIdentifier_IfcRepresentationContext
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :contextIdentifier_IfcRepresentationContext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :contextType_IfcRepresentationContext
    ], [
        a owl:Class ;
        owl:unionOf (:IfcGeometricRepresentationContext
        )
    ] .

:IfcRepresentationItem
    a owl:Class ;
    rdfs:subClassOf :IfcLayeredItem, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStyledItem ;
        owl:onProperty :styledByItem_IfcRepresentationItem
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcStyledItem ;
        owl:onProperty :styledByItem_IfcRepresentationItem
    ], [
        a owl:Class ;
        owl:unionOf (:IfcTopologicalRepresentationItem
            :IfcGeometricRepresentationItem
            :IfcMappedItem
            :IfcStyledItem
        )
    ] .

:IfcRepresentationMap
    a owl:Class ;
    rdfs:subClassOf :IfcProductRepresentationSelect, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcMappedItem ;
        owl:onProperty :mapUsage_IfcRepresentationMap
    ], [
        a owl:Restriction ;
        owl:onClass :IfcRepresentation ;
        owl:onProperty :mappedRepresentation_IfcRepresentationMap ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcAxis2Placement ;
        owl:onProperty :mappingOrigin_IfcRepresentationMap ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAxis2Placement ;
        owl:onProperty :mappingOrigin_IfcRepresentationMap
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRepresentation ;
        owl:onProperty :mappedRepresentation_IfcRepresentationMap
    ] .

:IfcRepresentationMap_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcRepresentationMap_List, list:EmptyList .

:IfcRepresentationMap_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRepresentationMap_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRepresentationMap_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRepresentationMap ;
        owl:onProperty list:hasContents
    ] .

:IfcRepresentation_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcRepresentation_List, list:EmptyList .

:IfcRepresentation_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRepresentation_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRepresentation_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRepresentation ;
        owl:onProperty list:hasContents
    ] .

:IfcResource
    a owl:Class ;
    rdfs:subClassOf :IfcObject, :IfcResourceSelect, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :identification_IfcResource
    ], [
        a owl:Class ;
        owl:unionOf (:IfcConstructionResource
        )
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :longDescription_IfcResource
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :identification_IfcResource
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :longDescription_IfcResource
    ] ;
    owl:disjointWith :IfcActor, :IfcControl, :IfcGroup, :IfcProcess, :IfcProduct .

:IfcResourceApprovalRelationship
    a owl:Class ;
    rdfs:subClassOf :IfcResourceLevelRelationship, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcApproval ;
        owl:onProperty :relatingApproval_IfcResourceApprovalRelationship
    ], [
        a owl:Restriction ;
        owl:onClass :IfcApproval ;
        owl:onProperty :relatingApproval_IfcResourceApprovalRelationship ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcResourceObjectSelect ;
        owl:onProperty :relatedResourceObjects_IfcResourceApprovalRelationship
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcResourceObjectSelect ;
        owl:onProperty :relatedResourceObjects_IfcResourceApprovalRelationship
    ] ;
    owl:disjointWith :IfcApprovalRelationship, :IfcCurrencyRelationship, :IfcDocumentInformationRelationship, :IfcExternalReferenceRelationship, :IfcMaterialRelationship, :IfcOrganizationRelationship, :IfcPropertyDependencyRelationship, :IfcResourceConstraintRelationship .

:IfcResourceConstraintRelationship
    a owl:Class ;
    rdfs:subClassOf :IfcResourceLevelRelationship, [
        a owl:Restriction ;
        owl:onClass :IfcConstraint ;
        owl:onProperty :relatingConstraint_IfcResourceConstraintRelationship ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcResourceObjectSelect ;
        owl:onProperty :relatedResourceObjects_IfcResourceConstraintRelationship
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcConstraint ;
        owl:onProperty :relatingConstraint_IfcResourceConstraintRelationship
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcResourceObjectSelect ;
        owl:onProperty :relatedResourceObjects_IfcResourceConstraintRelationship
    ] ;
    owl:disjointWith :IfcApprovalRelationship, :IfcCurrencyRelationship, :IfcDocumentInformationRelationship, :IfcExternalReferenceRelationship, :IfcMaterialRelationship, :IfcOrganizationRelationship, :IfcPropertyDependencyRelationship, :IfcResourceApprovalRelationship .

:IfcResourceLevelRelationship
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcResourceLevelRelationship
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcResourceLevelRelationship
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcResourceLevelRelationship
    ], [
        a owl:Class ;
        owl:unionOf (:IfcPropertyDependencyRelationship
            :IfcApprovalRelationship
            :IfcMaterialRelationship
            :IfcResourceApprovalRelationship
            :IfcResourceConstraintRelationship
            :IfcExternalReferenceRelationship
            :IfcOrganizationRelationship
            :IfcDocumentInformationRelationship
            :IfcCurrencyRelationship
        )
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcResourceLevelRelationship
    ] .

:IfcResourceObjectSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcResourceSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcResourceTime
    a owl:Class ;
    rdfs:subClassOf :IfcSchedulingTime, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveRatioMeasure ;
        owl:onProperty :scheduleUsage_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveRatioMeasure ;
        owl:onProperty :actualUsage_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveRatioMeasure ;
        owl:onProperty :completion_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :scheduleContour_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDuration ;
        owl:onProperty :scheduleWork_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveRatioMeasure ;
        owl:onProperty :completion_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveRatioMeasure ;
        owl:onProperty :scheduleUsage_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :isOverAllocated_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :actualFinish_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :actualStart_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :isOverAllocated_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveRatioMeasure ;
        owl:onProperty :remainingUsage_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDuration ;
        owl:onProperty :levelingDelay_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :scheduleStart_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveRatioMeasure ;
        owl:onProperty :remainingUsage_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDuration ;
        owl:onProperty :scheduleWork_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDuration ;
        owl:onProperty :actualWork_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :scheduleFinish_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveRatioMeasure ;
        owl:onProperty :actualUsage_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDuration ;
        owl:onProperty :levelingDelay_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDuration ;
        owl:onProperty :actualWork_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDuration ;
        owl:onProperty :remainingWork_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :actualStart_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :scheduleFinish_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :scheduleStart_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :scheduleContour_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDuration ;
        owl:onProperty :remainingWork_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :statusTime_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :statusTime_IfcResourceTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :actualFinish_IfcResourceTime
    ] ;
    owl:disjointWith :IfcEventTime, :IfcLagTime, :IfcTaskTime, :IfcWorkTime .

:IfcRevolvedAreaSolid
    a owl:Class ;
    rdfs:subClassOf :IfcSweptAreaSolid, [
        a owl:Restriction ;
        owl:onClass :IfcPlaneAngleMeasure ;
        owl:onProperty :angle_IfcRevolvedAreaSolid ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPlaneAngleMeasure ;
        owl:onProperty :angle_IfcRevolvedAreaSolid
    ], [
        a owl:Restriction ;
        owl:onClass :IfcAxis1Placement ;
        owl:onProperty :axis_IfcRevolvedAreaSolid ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAxis1Placement ;
        owl:onProperty :axis_IfcRevolvedAreaSolid
    ] ;
    owl:disjointWith :IfcExtrudedAreaSolid, :IfcFixedReferenceSweptAreaSolid, :IfcSurfaceCurveSweptAreaSolid .

:IfcRevolvedAreaSolidTapered
    a owl:Class ;
    rdfs:subClassOf :IfcRevolvedAreaSolid, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProfileDef ;
        owl:onProperty :endSweptArea_IfcRevolvedAreaSolidTapered
    ], [
        a owl:Restriction ;
        owl:onClass :IfcProfileDef ;
        owl:onProperty :endSweptArea_IfcRevolvedAreaSolidTapered ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] .

:IfcRightCircularCone
    a owl:Class ;
    rdfs:subClassOf :IfcCsgPrimitive3D, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :bottomRadius_IfcRightCircularCone
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :height_IfcRightCircularCone ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :height_IfcRightCircularCone
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :bottomRadius_IfcRightCircularCone ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcBlock, :IfcRectangularPyramid, :IfcRightCircularCylinder, :IfcSphere .

:IfcRightCircularCylinder
    a owl:Class ;
    rdfs:subClassOf :IfcCsgPrimitive3D, [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :radius_IfcRightCircularCylinder ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :height_IfcRightCircularCylinder
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :radius_IfcRightCircularCylinder
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :height_IfcRightCircularCylinder ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcBlock, :IfcRectangularPyramid, :IfcRightCircularCone, :IfcSphere .

:IfcRoleEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcRoof
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRoofTypeEnum ;
        owl:onProperty :predefinedType_IfcRoof
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRoofTypeEnum ;
        owl:onProperty :predefinedType_IfcRoof
    ] ;
    owl:disjointWith :IfcBeam, :IfcBuildingElementProxy, :IfcChimney, :IfcColumn, :IfcCovering, :IfcCurtainWall, :IfcDoor, :IfcFooting, :IfcMember, :IfcPile, :IfcPlate, :IfcRailing, :IfcRamp, :IfcRampFlight, :IfcShadingDevice, :IfcSlab, :IfcStair, :IfcStairFlight, :IfcWall, :IfcWindow .

:IfcRoofType
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElementType, [
        a owl:Restriction ;
        owl:onClass :IfcRoofTypeEnum ;
        owl:onProperty :predefinedType_IfcRoofType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRoofTypeEnum ;
        owl:onProperty :predefinedType_IfcRoofType
    ] ;
    owl:disjointWith :IfcBeamType, :IfcBuildingElementProxyType, :IfcChimneyType, :IfcColumnType, :IfcCoveringType, :IfcCurtainWallType, :IfcDoorType, :IfcFootingType, :IfcMemberType, :IfcPileType, :IfcPlateType, :IfcRailingType, :IfcRampFlightType, :IfcRampType, :IfcShadingDeviceType, :IfcSlabType, :IfcStairFlightType, :IfcStairType, :IfcWallType, :IfcWindowType .

:IfcRoofTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcRoot
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcRoot
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcGloballyUniqueId ;
        owl:onProperty :globalId_IfcRoot
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcRoot
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcRoot
    ], [
        a owl:Class ;
        owl:unionOf (:IfcRelationship
            :IfcObjectDefinition
            :IfcPropertyDefinition
        )
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcOwnerHistory ;
        owl:onProperty :ownerHistory_IfcRoot
    ], [
        a owl:Restriction ;
        owl:onClass :IfcGloballyUniqueId ;
        owl:onProperty :globalId_IfcRoot ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcOwnerHistory ;
        owl:onProperty :ownerHistory_IfcRoot
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcRoot
    ] .

:IfcRotationalFrequencyMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcRotationalMassMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcRotationalStiffnessMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue, :IfcRotationalStiffnessSelect .

:IfcRotationalStiffnessSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcRoundedRectangleProfileDef
    a owl:Class ;
    rdfs:subClassOf :IfcRectangleProfileDef, [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :roundingRadius_IfcRoundedRectangleProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :roundingRadius_IfcRoundedRectangleProfileDef
    ] ;
    owl:disjointWith :IfcRectangleHollowProfileDef .

:IfcSIPrefix
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcSIUnit
    a owl:Class ;
    rdfs:subClassOf :IfcNamedUnit, [
        a owl:Restriction ;
        owl:onClass :IfcSIUnitName ;
        owl:onProperty :name_IfcSIUnit ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSIUnitName ;
        owl:onProperty :name_IfcSIUnit
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSIPrefix ;
        owl:onProperty :prefix_IfcSIUnit
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSIPrefix ;
        owl:onProperty :prefix_IfcSIUnit
    ] ;
    owl:disjointWith :IfcContextDependentUnit, :IfcConversionBasedUnit .

:IfcSIUnitName
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcSanitaryTerminal
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminal, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSanitaryTerminalTypeEnum ;
        owl:onProperty :predefinedType_IfcSanitaryTerminal
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSanitaryTerminalTypeEnum ;
        owl:onProperty :predefinedType_IfcSanitaryTerminal
    ] ;
    owl:disjointWith :IfcAirTerminal, :IfcAudioVisualAppliance, :IfcCommunicationsAppliance, :IfcElectricAppliance, :IfcFireSuppressionTerminal, :IfcLamp, :IfcLightFixture, :IfcMedicalDevice, :IfcOutlet, :IfcSpaceHeater, :IfcStackTerminal, :IfcWasteTerminal .

:IfcSanitaryTerminalType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminalType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSanitaryTerminalTypeEnum ;
        owl:onProperty :predefinedType_IfcSanitaryTerminalType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcSanitaryTerminalTypeEnum ;
        owl:onProperty :predefinedType_IfcSanitaryTerminalType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAirTerminalType, :IfcAudioVisualApplianceType, :IfcCommunicationsApplianceType, :IfcElectricApplianceType, :IfcFireSuppressionTerminalType, :IfcLampType, :IfcLightFixtureType, :IfcMedicalDeviceType, :IfcOutletType, :IfcSpaceHeaterType, :IfcStackTerminalType, :IfcWasteTerminalType .

:IfcSanitaryTerminalTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcSchedulingTime
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :userDefinedDataOrigin_IfcSchedulingTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDataOriginEnum ;
        owl:onProperty :dataOrigin_IfcSchedulingTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDataOriginEnum ;
        owl:onProperty :dataOrigin_IfcSchedulingTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcSchedulingTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcSchedulingTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :userDefinedDataOrigin_IfcSchedulingTime
    ], [
        a owl:Class ;
        owl:unionOf (:IfcResourceTime
            :IfcTaskTime
            :IfcWorkTime
            :IfcLagTime
            :IfcEventTime
        )
    ] .

:IfcSectionModulusMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcSectionProperties
    a owl:Class ;
    rdfs:subClassOf :IfcPreDefinedProperties, [
        a owl:Restriction ;
        owl:onClass :IfcSectionTypeEnum ;
        owl:onProperty :sectionType_IfcSectionProperties ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProfileDef ;
        owl:onProperty :startProfile_IfcSectionProperties
    ], [
        a owl:Restriction ;
        owl:onClass :IfcProfileDef ;
        owl:onProperty :startProfile_IfcSectionProperties ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSectionTypeEnum ;
        owl:onProperty :sectionType_IfcSectionProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcProfileDef ;
        owl:onProperty :endProfile_IfcSectionProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProfileDef ;
        owl:onProperty :endProfile_IfcSectionProperties
    ] ;
    owl:disjointWith :IfcReinforcementBarProperties, :IfcSectionReinforcementProperties .

:IfcSectionReinforcementProperties
    a owl:Class ;
    rdfs:subClassOf :IfcPreDefinedProperties, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :longitudinalEndPosition_IfcSectionReinforcementProperties
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :longitudinalStartPosition_IfcSectionReinforcementProperties ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcReinforcementBarProperties ;
        owl:onProperty :crossSectionReinforcementDefinitions_IfcSectionReinforcementProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSectionProperties ;
        owl:onProperty :sectionDefinition_IfcSectionReinforcementProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :transversePosition_IfcSectionReinforcementProperties
    ], [
        a owl:Restriction ;
        owl:onClass :IfcSectionProperties ;
        owl:onProperty :sectionDefinition_IfcSectionReinforcementProperties ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :longitudinalEndPosition_IfcSectionReinforcementProperties ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcReinforcingBarRoleEnum ;
        owl:onProperty :reinforcementRole_IfcSectionReinforcementProperties ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :transversePosition_IfcSectionReinforcementProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReinforcingBarRoleEnum ;
        owl:onProperty :reinforcementRole_IfcSectionReinforcementProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReinforcementBarProperties ;
        owl:onProperty :crossSectionReinforcementDefinitions_IfcSectionReinforcementProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :longitudinalStartPosition_IfcSectionReinforcementProperties
    ] ;
    owl:disjointWith :IfcReinforcementBarProperties, :IfcSectionProperties .

:IfcSectionReinforcementProperties_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcSectionReinforcementProperties_List, list:EmptyList .

:IfcSectionReinforcementProperties_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSectionReinforcementProperties_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSectionReinforcementProperties ;
        owl:onProperty list:hasContents
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSectionReinforcementProperties_List ;
        owl:onProperty list:hasNext
    ] .

:IfcSectionTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcSectionalAreaIntegralMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcSectionedSpine
    a owl:Class ;
    rdfs:subClassOf :IfcGeometricRepresentationItem, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAxis2Placement3D_List ;
        owl:onProperty :crossSectionPositions_IfcSectionedSpine
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCompositeCurve ;
        owl:onProperty :spineCurve_IfcSectionedSpine
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCompositeCurve ;
        owl:onProperty :spineCurve_IfcSectionedSpine ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom :IfcProfileDef_List
            ]
        ] ;
        owl:onProperty :crossSections_IfcSectionedSpine
    ], [
        a owl:Restriction ;
        owl:onClass :IfcAxis2Placement3D_List ;
        owl:onProperty :crossSectionPositions_IfcSectionedSpine ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom :IfcAxis2Placement3D_List
            ]
        ] ;
        owl:onProperty :crossSectionPositions_IfcSectionedSpine
    ], [
        a owl:Restriction ;
        owl:onClass :IfcProfileDef_List ;
        owl:onProperty :crossSections_IfcSectionedSpine ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProfileDef_List ;
        owl:onProperty :crossSections_IfcSectionedSpine
    ] ;
    owl:disjointWith :IfcAnnotationFillArea, :IfcBooleanResult, :IfcBoundingBox, :IfcCartesianPointList, :IfcCartesianTransformationOperator, :IfcCompositeCurveSegment, :IfcCsgPrimitive3D, :IfcCurve, :IfcDirection, :IfcFaceBasedSurfaceModel, :IfcFillAreaStyleHatching, :IfcFillAreaStyleTiles, :IfcGeometricSet, :IfcHalfSpaceSolid, :IfcLightSource, :IfcPlacement, :IfcPlanarExtent, :IfcPoint, :IfcShellBasedSurfaceModel, :IfcSolidModel, :IfcSurface, :IfcTessellatedItem, :IfcTextLiteral, :IfcVector .

:IfcSegmentIndexSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcSegmentIndexSelect_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcSegmentIndexSelect_List, list:EmptyList .

:IfcSegmentIndexSelect_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSegmentIndexSelect_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSegmentIndexSelect_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSegmentIndexSelect ;
        owl:onProperty list:hasContents
    ] .

:IfcSensor
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionControlElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSensorTypeEnum ;
        owl:onProperty :predefinedType_IfcSensor
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSensorTypeEnum ;
        owl:onProperty :predefinedType_IfcSensor
    ] ;
    owl:disjointWith :IfcActuator, :IfcAlarm, :IfcController, :IfcFlowInstrument, :IfcProtectiveDeviceTrippingUnit, :IfcUnitaryControlElement .

:IfcSensorType
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionControlElementType, [
        a owl:Restriction ;
        owl:onClass :IfcSensorTypeEnum ;
        owl:onProperty :predefinedType_IfcSensorType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSensorTypeEnum ;
        owl:onProperty :predefinedType_IfcSensorType
    ] ;
    owl:disjointWith :IfcActuatorType, :IfcAlarmType, :IfcControllerType, :IfcFlowInstrumentType, :IfcProtectiveDeviceTrippingUnitType, :IfcUnitaryControlElementType .

:IfcSensorTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcSequenceEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcShadingDevice
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcShadingDeviceTypeEnum ;
        owl:onProperty :predefinedType_IfcShadingDevice
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcShadingDeviceTypeEnum ;
        owl:onProperty :predefinedType_IfcShadingDevice
    ] ;
    owl:disjointWith :IfcBeam, :IfcBuildingElementProxy, :IfcChimney, :IfcColumn, :IfcCovering, :IfcCurtainWall, :IfcDoor, :IfcFooting, :IfcMember, :IfcPile, :IfcPlate, :IfcRailing, :IfcRamp, :IfcRampFlight, :IfcRoof, :IfcSlab, :IfcStair, :IfcStairFlight, :IfcWall, :IfcWindow .

:IfcShadingDeviceType
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElementType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcShadingDeviceTypeEnum ;
        owl:onProperty :predefinedType_IfcShadingDeviceType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcShadingDeviceTypeEnum ;
        owl:onProperty :predefinedType_IfcShadingDeviceType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcBeamType, :IfcBuildingElementProxyType, :IfcChimneyType, :IfcColumnType, :IfcCoveringType, :IfcCurtainWallType, :IfcDoorType, :IfcFootingType, :IfcMemberType, :IfcPileType, :IfcPlateType, :IfcRailingType, :IfcRampFlightType, :IfcRampType, :IfcRoofType, :IfcSlabType, :IfcStairFlightType, :IfcStairType, :IfcWallType, :IfcWindowType .

:IfcShadingDeviceTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcShapeAspect
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcShapeAspect
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcShapeModel_List ;
        owl:onProperty :shapeRepresentations_IfcShapeAspect
    ], [
        a owl:Restriction ;
        owl:onClass :IfcShapeModel_List ;
        owl:onProperty :shapeRepresentations_IfcShapeAspect ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcShapeAspect
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProductRepresentationSelect ;
        owl:onProperty :partOfProductDefinitionShape_IfcShapeAspect
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcShapeModel_List
        ] ;
        owl:onProperty :shapeRepresentations_IfcShapeAspect
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLogical ;
        owl:onProperty :productDefinitional_IfcShapeAspect ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcProductRepresentationSelect ;
        owl:onProperty :partOfProductDefinitionShape_IfcShapeAspect
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcShapeAspect
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLogical ;
        owl:onProperty :productDefinitional_IfcShapeAspect
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcShapeAspect
    ] .

:IfcShapeModel
    a owl:Class ;
    rdfs:subClassOf :IfcRepresentation, [
        a owl:Class ;
        owl:unionOf (:IfcTopologyRepresentation
            :IfcShapeRepresentation
        )
    ] ;
    owl:disjointWith :IfcStyleModel .

:IfcShapeModel_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcShapeModel_List, list:EmptyList .

:IfcShapeModel_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcShapeModel_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcShapeModel_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcShapeModel ;
        owl:onProperty list:hasContents
    ] .

:IfcShapeRepresentation
    a owl:Class ;
    rdfs:subClassOf :IfcShapeModel ;
    owl:disjointWith :IfcTopologyRepresentation .

:IfcShearModulusMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcShell
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcShellBasedSurfaceModel
    a owl:Class ;
    rdfs:subClassOf :IfcGeometricRepresentationItem, [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcShell ;
        owl:onProperty :sbsmBoundary_IfcShellBasedSurfaceModel
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcShell ;
        owl:onProperty :sbsmBoundary_IfcShellBasedSurfaceModel
    ] ;
    owl:disjointWith :IfcAnnotationFillArea, :IfcBooleanResult, :IfcBoundingBox, :IfcCartesianPointList, :IfcCartesianTransformationOperator, :IfcCompositeCurveSegment, :IfcCsgPrimitive3D, :IfcCurve, :IfcDirection, :IfcFaceBasedSurfaceModel, :IfcFillAreaStyleHatching, :IfcFillAreaStyleTiles, :IfcGeometricSet, :IfcHalfSpaceSolid, :IfcLightSource, :IfcPlacement, :IfcPlanarExtent, :IfcPoint, :IfcSectionedSpine, :IfcSolidModel, :IfcSurface, :IfcTessellatedItem, :IfcTextLiteral, :IfcVector .

:IfcSimpleProperty
    a owl:Class ;
    rdfs:subClassOf :IfcProperty, [
        a owl:Class ;
        owl:unionOf (:IfcPropertyReferenceValue
            :IfcPropertyListValue
            :IfcPropertyTableValue
            :IfcPropertySingleValue
            :IfcPropertyBoundedValue
            :IfcPropertyEnumeratedValue
        )
    ] ;
    owl:disjointWith :IfcComplexProperty .

:IfcSimplePropertyTemplate
    a owl:Class ;
    rdfs:subClassOf :IfcPropertyTemplate, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :primaryMeasureType_IfcSimplePropertyTemplate
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :primaryMeasureType_IfcSimplePropertyTemplate
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :secondaryMeasureType_IfcSimplePropertyTemplate
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :expression_IfcSimplePropertyTemplate
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcUnit ;
        owl:onProperty :primaryUnit_IfcSimplePropertyTemplate
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcUnit ;
        owl:onProperty :secondaryUnit_IfcSimplePropertyTemplate
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSimplePropertyTemplateTypeEnum ;
        owl:onProperty :templateType_IfcSimplePropertyTemplate
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStateEnum ;
        owl:onProperty :accessState_IfcSimplePropertyTemplate
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcUnit ;
        owl:onProperty :primaryUnit_IfcSimplePropertyTemplate
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcUnit ;
        owl:onProperty :secondaryUnit_IfcSimplePropertyTemplate
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPropertyEnumeration ;
        owl:onProperty :enumerators_IfcSimplePropertyTemplate
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSimplePropertyTemplateTypeEnum ;
        owl:onProperty :templateType_IfcSimplePropertyTemplate
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcStateEnum ;
        owl:onProperty :accessState_IfcSimplePropertyTemplate
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPropertyEnumeration ;
        owl:onProperty :enumerators_IfcSimplePropertyTemplate
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :expression_IfcSimplePropertyTemplate
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :secondaryMeasureType_IfcSimplePropertyTemplate
    ] ;
    owl:disjointWith :IfcComplexPropertyTemplate .

:IfcSimplePropertyTemplateTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcSimpleValue
    a owl:Class ;
    rdfs:subClassOf expr:SELECT, :IfcValue .

:IfcSite
    a owl:Class ;
    rdfs:subClassOf :IfcSpatialStructureElement, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :landTitleNumber_IfcSite
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :refElevation_IfcSite
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :refElevation_IfcSite
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCompoundPlaneAngleMeasure ;
        owl:onProperty :refLatitude_IfcSite
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCompoundPlaneAngleMeasure ;
        owl:onProperty :refLongitude_IfcSite
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :landTitleNumber_IfcSite
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCompoundPlaneAngleMeasure ;
        owl:onProperty :refLongitude_IfcSite
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCompoundPlaneAngleMeasure ;
        owl:onProperty :refLatitude_IfcSite
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPostalAddress ;
        owl:onProperty :siteAddress_IfcSite
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPostalAddress ;
        owl:onProperty :siteAddress_IfcSite
    ] ;
    owl:disjointWith :IfcBuilding, :IfcBuildingStorey, :IfcSpace .

:IfcSizeSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcSlab
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElement, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSlabTypeEnum ;
        owl:onProperty :predefinedType_IfcSlab
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSlabTypeEnum ;
        owl:onProperty :predefinedType_IfcSlab
    ] ;
    owl:disjointWith :IfcBeam, :IfcBuildingElementProxy, :IfcChimney, :IfcColumn, :IfcCovering, :IfcCurtainWall, :IfcDoor, :IfcFooting, :IfcMember, :IfcPile, :IfcPlate, :IfcRailing, :IfcRamp, :IfcRampFlight, :IfcRoof, :IfcShadingDevice, :IfcStair, :IfcStairFlight, :IfcWall, :IfcWindow .

:IfcSlabElementedCase
    a owl:Class ;
    rdfs:subClassOf :IfcSlab ;
    owl:disjointWith :IfcSlabStandardCase .

:IfcSlabStandardCase
    a owl:Class ;
    rdfs:subClassOf :IfcSlab ;
    owl:disjointWith :IfcSlabElementedCase .

:IfcSlabType
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElementType, [
        a owl:Restriction ;
        owl:onClass :IfcSlabTypeEnum ;
        owl:onProperty :predefinedType_IfcSlabType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSlabTypeEnum ;
        owl:onProperty :predefinedType_IfcSlabType
    ] ;
    owl:disjointWith :IfcBeamType, :IfcBuildingElementProxyType, :IfcChimneyType, :IfcColumnType, :IfcCoveringType, :IfcCurtainWallType, :IfcDoorType, :IfcFootingType, :IfcMemberType, :IfcPileType, :IfcPlateType, :IfcRailingType, :IfcRampFlightType, :IfcRampType, :IfcRoofType, :IfcShadingDeviceType, :IfcStairFlightType, :IfcStairType, :IfcWallType, :IfcWindowType .

:IfcSlabTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcSlippageConnectionCondition
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralConnectionCondition, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :slippageZ_IfcSlippageConnectionCondition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :slippageZ_IfcSlippageConnectionCondition
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :slippageY_IfcSlippageConnectionCondition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :slippageY_IfcSlippageConnectionCondition
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :slippageX_IfcSlippageConnectionCondition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :slippageX_IfcSlippageConnectionCondition
    ] ;
    owl:disjointWith :IfcFailureConnectionCondition .

:IfcSolarDevice
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDevice, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSolarDeviceTypeEnum ;
        owl:onProperty :predefinedType_IfcSolarDevice
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSolarDeviceTypeEnum ;
        owl:onProperty :predefinedType_IfcSolarDevice
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecovery, :IfcBoiler, :IfcBurner, :IfcChiller, :IfcCoil, :IfcCondenser, :IfcCooledBeam, :IfcCoolingTower, :IfcElectricGenerator, :IfcElectricMotor, :IfcEngine, :IfcEvaporativeCooler, :IfcEvaporator, :IfcHeatExchanger, :IfcHumidifier, :IfcMotorConnection, :IfcTransformer, :IfcTubeBundle, :IfcUnitaryEquipment .

:IfcSolarDeviceType
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDeviceType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSolarDeviceTypeEnum ;
        owl:onProperty :predefinedType_IfcSolarDeviceType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcSolarDeviceTypeEnum ;
        owl:onProperty :predefinedType_IfcSolarDeviceType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecoveryType, :IfcBoilerType, :IfcBurnerType, :IfcChillerType, :IfcCoilType, :IfcCondenserType, :IfcCooledBeamType, :IfcCoolingTowerType, :IfcElectricGeneratorType, :IfcElectricMotorType, :IfcEngineType, :IfcEvaporativeCoolerType, :IfcEvaporatorType, :IfcHeatExchangerType, :IfcHumidifierType, :IfcMotorConnectionType, :IfcTransformerType, :IfcTubeBundleType, :IfcUnitaryEquipmentType .

:IfcSolarDeviceTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcSolidAngleMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcMeasureValue .

:IfcSolidModel
    a owl:Class ;
    rdfs:subClassOf :IfcBooleanOperand, :IfcGeometricRepresentationItem, :IfcSolidOrShell, [
        a owl:Class ;
        owl:unionOf (:IfcCsgSolid
            :IfcManifoldSolidBrep
            :IfcSweptDiskSolid
            :IfcSweptAreaSolid
        )
    ] ;
    owl:disjointWith :IfcAnnotationFillArea, :IfcBooleanResult, :IfcBoundingBox, :IfcCartesianPointList, :IfcCartesianTransformationOperator, :IfcCompositeCurveSegment, :IfcCsgPrimitive3D, :IfcCurve, :IfcDirection, :IfcFaceBasedSurfaceModel, :IfcFillAreaStyleHatching, :IfcFillAreaStyleTiles, :IfcGeometricSet, :IfcHalfSpaceSolid, :IfcLightSource, :IfcPlacement, :IfcPlanarExtent, :IfcPoint, :IfcSectionedSpine, :IfcShellBasedSurfaceModel, :IfcSurface, :IfcTessellatedItem, :IfcTextLiteral, :IfcVector .

:IfcSolidOrShell
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcSoundPowerLevelMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcSoundPowerMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcSoundPressureLevelMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcSoundPressureMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcSpace
    a owl:Class ;
    rdfs:subClassOf :IfcSpaceBoundarySelect, :IfcSpatialStructureElement, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :elevationWithFlooring_IfcSpace
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :elevationWithFlooring_IfcSpace
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelCoversSpaces ;
        owl:onProperty :hasCoverings_IfcSpace
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSpaceTypeEnum ;
        owl:onProperty :predefinedType_IfcSpace
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSpaceTypeEnum ;
        owl:onProperty :predefinedType_IfcSpace
    ] ;
    owl:disjointWith :IfcBuilding, :IfcBuildingStorey, :IfcSite .

:IfcSpaceBoundarySelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcSpaceHeater
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminal, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSpaceHeaterTypeEnum ;
        owl:onProperty :predefinedType_IfcSpaceHeater
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSpaceHeaterTypeEnum ;
        owl:onProperty :predefinedType_IfcSpaceHeater
    ] ;
    owl:disjointWith :IfcAirTerminal, :IfcAudioVisualAppliance, :IfcCommunicationsAppliance, :IfcElectricAppliance, :IfcFireSuppressionTerminal, :IfcLamp, :IfcLightFixture, :IfcMedicalDevice, :IfcOutlet, :IfcSanitaryTerminal, :IfcStackTerminal, :IfcWasteTerminal .

:IfcSpaceHeaterType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminalType, [
        a owl:Restriction ;
        owl:onClass :IfcSpaceHeaterTypeEnum ;
        owl:onProperty :predefinedType_IfcSpaceHeaterType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSpaceHeaterTypeEnum ;
        owl:onProperty :predefinedType_IfcSpaceHeaterType
    ] ;
    owl:disjointWith :IfcAirTerminalType, :IfcAudioVisualApplianceType, :IfcCommunicationsApplianceType, :IfcElectricApplianceType, :IfcFireSuppressionTerminalType, :IfcLampType, :IfcLightFixtureType, :IfcMedicalDeviceType, :IfcOutletType, :IfcSanitaryTerminalType, :IfcStackTerminalType, :IfcWasteTerminalType .

:IfcSpaceHeaterTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcSpaceType
    a owl:Class ;
    rdfs:subClassOf :IfcSpatialStructureElementType, [
        a owl:Restriction ;
        owl:onClass :IfcSpaceTypeEnum ;
        owl:onProperty :predefinedType_IfcSpaceType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :longName_IfcSpaceType
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :longName_IfcSpaceType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSpaceTypeEnum ;
        owl:onProperty :predefinedType_IfcSpaceType
    ] .

:IfcSpaceTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcSpatialElement
    a owl:Class ;
    rdfs:subClassOf :IfcProduct, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :longName_IfcSpatialElement
    ], [
        a owl:Class ;
        owl:unionOf (:IfcExternalSpatialStructureElement
            :IfcSpatialZone
            :IfcSpatialStructureElement
        )
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelReferencedInSpatialStructure ;
        owl:onProperty :referencesElements_IfcSpatialElement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelServicesBuildings ;
        owl:onProperty :servicedBySystems_IfcSpatialElement
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :longName_IfcSpatialElement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelContainedInSpatialStructure ;
        owl:onProperty :containsElements_IfcSpatialElement
    ] ;
    owl:disjointWith :IfcAnnotation, :IfcElement, :IfcGrid, :IfcPort, :IfcProxy, :IfcStructuralActivity, :IfcStructuralItem .

:IfcSpatialElementType
    a owl:Class ;
    rdfs:subClassOf :IfcTypeProduct, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :elementType_IfcSpatialElementType
    ], [
        a owl:Class ;
        owl:unionOf (:IfcSpatialZoneType
            :IfcSpatialStructureElementType
        )
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :elementType_IfcSpatialElementType
    ] ;
    owl:disjointWith :IfcDoorStyle, :IfcElementType, :IfcWindowStyle .

:IfcSpatialStructureElement
    a owl:Class ;
    rdfs:subClassOf :IfcSpatialElement, [
        a owl:Class ;
        owl:unionOf (:IfcBuilding
            :IfcSpace
            :IfcSite
            :IfcBuildingStorey
        )
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcElementCompositionEnum ;
        owl:onProperty :compositionType_IfcSpatialStructureElement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcElementCompositionEnum ;
        owl:onProperty :compositionType_IfcSpatialStructureElement
    ] ;
    owl:disjointWith :IfcExternalSpatialStructureElement, :IfcSpatialZone .

:IfcSpatialStructureElementType
    a owl:Class ;
    rdfs:subClassOf :IfcSpatialElementType, [
        a owl:Class ;
        owl:unionOf (:IfcSpaceType
        )
    ] ;
    owl:disjointWith :IfcSpatialZoneType .

:IfcSpatialZone
    a owl:Class ;
    rdfs:subClassOf :IfcSpatialElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSpatialZoneTypeEnum ;
        owl:onProperty :predefinedType_IfcSpatialZone
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSpatialZoneTypeEnum ;
        owl:onProperty :predefinedType_IfcSpatialZone
    ] ;
    owl:disjointWith :IfcExternalSpatialStructureElement, :IfcSpatialStructureElement .

:IfcSpatialZoneType
    a owl:Class ;
    rdfs:subClassOf :IfcSpatialElementType, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :longName_IfcSpatialZoneType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :longName_IfcSpatialZoneType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcSpatialZoneTypeEnum ;
        owl:onProperty :predefinedType_IfcSpatialZoneType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSpatialZoneTypeEnum ;
        owl:onProperty :predefinedType_IfcSpatialZoneType
    ] ;
    owl:disjointWith :IfcSpatialStructureElementType .

:IfcSpatialZoneTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcSpecificHeatCapacityMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcSpecularExponent
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcSpecularHighlightSelect .

:IfcSpecularHighlightSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcSpecularRoughness
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcSpecularHighlightSelect .

:IfcSphere
    a owl:Class ;
    rdfs:subClassOf :IfcCsgPrimitive3D, [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :radius_IfcSphere ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :radius_IfcSphere
    ] ;
    owl:disjointWith :IfcBlock, :IfcRectangularPyramid, :IfcRightCircularCone, :IfcRightCircularCylinder .

:IfcStackTerminal
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminal, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStackTerminalTypeEnum ;
        owl:onProperty :predefinedType_IfcStackTerminal
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcStackTerminalTypeEnum ;
        owl:onProperty :predefinedType_IfcStackTerminal
    ] ;
    owl:disjointWith :IfcAirTerminal, :IfcAudioVisualAppliance, :IfcCommunicationsAppliance, :IfcElectricAppliance, :IfcFireSuppressionTerminal, :IfcLamp, :IfcLightFixture, :IfcMedicalDevice, :IfcOutlet, :IfcSanitaryTerminal, :IfcSpaceHeater, :IfcWasteTerminal .

:IfcStackTerminalType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminalType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStackTerminalTypeEnum ;
        owl:onProperty :predefinedType_IfcStackTerminalType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcStackTerminalTypeEnum ;
        owl:onProperty :predefinedType_IfcStackTerminalType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAirTerminalType, :IfcAudioVisualApplianceType, :IfcCommunicationsApplianceType, :IfcElectricApplianceType, :IfcFireSuppressionTerminalType, :IfcLampType, :IfcLightFixtureType, :IfcMedicalDeviceType, :IfcOutletType, :IfcSanitaryTerminalType, :IfcSpaceHeaterType, :IfcWasteTerminalType .

:IfcStackTerminalTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcStair
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStairTypeEnum ;
        owl:onProperty :predefinedType_IfcStair
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcStairTypeEnum ;
        owl:onProperty :predefinedType_IfcStair
    ] ;
    owl:disjointWith :IfcBeam, :IfcBuildingElementProxy, :IfcChimney, :IfcColumn, :IfcCovering, :IfcCurtainWall, :IfcDoor, :IfcFooting, :IfcMember, :IfcPile, :IfcPlate, :IfcRailing, :IfcRamp, :IfcRampFlight, :IfcRoof, :IfcShadingDevice, :IfcSlab, :IfcStairFlight, :IfcWall, :IfcWindow .

:IfcStairFlight
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :treadLength_IfcStairFlight
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcInteger ;
        owl:onProperty :numberOfTreads_IfcStairFlight
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcInteger ;
        owl:onProperty :numberOfRisers_IfcStairFlight
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcInteger ;
        owl:onProperty :numberOfRisers_IfcStairFlight
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcInteger ;
        owl:onProperty :numberOfTreads_IfcStairFlight
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStairFlightTypeEnum ;
        owl:onProperty :predefinedType_IfcStairFlight
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :riserHeight_IfcStairFlight
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :riserHeight_IfcStairFlight
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcStairFlightTypeEnum ;
        owl:onProperty :predefinedType_IfcStairFlight
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :treadLength_IfcStairFlight
    ] ;
    owl:disjointWith :IfcBeam, :IfcBuildingElementProxy, :IfcChimney, :IfcColumn, :IfcCovering, :IfcCurtainWall, :IfcDoor, :IfcFooting, :IfcMember, :IfcPile, :IfcPlate, :IfcRailing, :IfcRamp, :IfcRampFlight, :IfcRoof, :IfcShadingDevice, :IfcSlab, :IfcStair, :IfcWall, :IfcWindow .

:IfcStairFlightType
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElementType, [
        a owl:Restriction ;
        owl:onClass :IfcStairFlightTypeEnum ;
        owl:onProperty :predefinedType_IfcStairFlightType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStairFlightTypeEnum ;
        owl:onProperty :predefinedType_IfcStairFlightType
    ] ;
    owl:disjointWith :IfcBeamType, :IfcBuildingElementProxyType, :IfcChimneyType, :IfcColumnType, :IfcCoveringType, :IfcCurtainWallType, :IfcDoorType, :IfcFootingType, :IfcMemberType, :IfcPileType, :IfcPlateType, :IfcRailingType, :IfcRampFlightType, :IfcRampType, :IfcRoofType, :IfcShadingDeviceType, :IfcSlabType, :IfcStairType, :IfcWallType, :IfcWindowType .

:IfcStairFlightTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcStairType
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElementType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStairTypeEnum ;
        owl:onProperty :predefinedType_IfcStairType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcStairTypeEnum ;
        owl:onProperty :predefinedType_IfcStairType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcBeamType, :IfcBuildingElementProxyType, :IfcChimneyType, :IfcColumnType, :IfcCoveringType, :IfcCurtainWallType, :IfcDoorType, :IfcFootingType, :IfcMemberType, :IfcPileType, :IfcPlateType, :IfcRailingType, :IfcRampFlightType, :IfcRampType, :IfcRoofType, :IfcShadingDeviceType, :IfcSlabType, :IfcStairFlightType, :IfcWallType, :IfcWindowType .

:IfcStairTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcStateEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcStructuralAction
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralActivity, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :destabilizingLoad_IfcStructuralAction
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :destabilizingLoad_IfcStructuralAction
    ], [
        a owl:Class ;
        owl:unionOf (:IfcStructuralSurfaceAction
            :IfcStructuralCurveAction
            :IfcStructuralPointAction
        )
    ] ;
    owl:disjointWith :IfcStructuralReaction .

:IfcStructuralActivity
    a owl:Class ;
    rdfs:subClassOf :IfcProduct, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRelConnectsStructuralActivity ;
        owl:onProperty :assignedToStructuralItem_IfcStructuralActivity
    ], [
        a owl:Restriction ;
        owl:onClass :IfcStructuralLoad ;
        owl:onProperty :appliedLoad_IfcStructuralActivity ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStructuralLoad ;
        owl:onProperty :appliedLoad_IfcStructuralActivity
    ], [
        a owl:Restriction ;
        owl:onClass :IfcGlobalOrLocalEnum ;
        owl:onProperty :globalOrLocal_IfcStructuralActivity ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Class ;
        owl:unionOf (:IfcStructuralAction
            :IfcStructuralReaction
        )
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelConnectsStructuralActivity ;
        owl:onProperty :assignedToStructuralItem_IfcStructuralActivity
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcGlobalOrLocalEnum ;
        owl:onProperty :globalOrLocal_IfcStructuralActivity
    ] ;
    owl:disjointWith :IfcAnnotation, :IfcElement, :IfcGrid, :IfcPort, :IfcProxy, :IfcSpatialElement, :IfcStructuralItem .

:IfcStructuralActivityAssignmentSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcStructuralAnalysisModel
    a owl:Class ;
    rdfs:subClassOf :IfcSystem, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAnalysisModelTypeEnum ;
        owl:onProperty :predefinedType_IfcStructuralAnalysisModel
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAxis2Placement3D ;
        owl:onProperty :orientationOf2DPlane_IfcStructuralAnalysisModel
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcObjectPlacement ;
        owl:onProperty :sharedPlacement_IfcStructuralAnalysisModel
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcObjectPlacement ;
        owl:onProperty :sharedPlacement_IfcStructuralAnalysisModel
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStructuralLoadGroup ;
        owl:onProperty :loadedBy_IfcStructuralAnalysisModel
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStructuralResultGroup ;
        owl:onProperty :hasResults_IfcStructuralAnalysisModel
    ], [
        a owl:Restriction ;
        owl:onClass :IfcAnalysisModelTypeEnum ;
        owl:onProperty :predefinedType_IfcStructuralAnalysisModel ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAxis2Placement3D ;
        owl:onProperty :orientationOf2DPlane_IfcStructuralAnalysisModel
    ] ;
    owl:disjointWith :IfcBuildingSystem, :IfcDistributionSystem, :IfcZone .

:IfcStructuralConnection
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralItem, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcBoundaryCondition ;
        owl:onProperty :appliedCondition_IfcStructuralConnection
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoundaryCondition ;
        owl:onProperty :appliedCondition_IfcStructuralConnection
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRelConnectsStructuralMember ;
        owl:onProperty :connectsStructuralMembers_IfcStructuralConnection
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelConnectsStructuralMember ;
        owl:onProperty :connectsStructuralMembers_IfcStructuralConnection
    ], [
        a owl:Class ;
        owl:unionOf (:IfcStructuralCurveConnection
            :IfcStructuralSurfaceConnection
            :IfcStructuralPointConnection
        )
    ] ;
    owl:disjointWith :IfcStructuralMember .

:IfcStructuralConnectionCondition
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcStructuralConnectionCondition
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcStructuralConnectionCondition
    ], [
        a owl:Class ;
        owl:unionOf (:IfcSlippageConnectionCondition
            :IfcFailureConnectionCondition
        )
    ] .

:IfcStructuralCurveAction
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralAction, [
        a owl:Restriction ;
        owl:onClass :IfcStructuralCurveActivityTypeEnum ;
        owl:onProperty :predefinedType_IfcStructuralCurveAction ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcProjectedOrTrueLengthEnum ;
        owl:onProperty :projectedOrTrue_IfcStructuralCurveAction
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProjectedOrTrueLengthEnum ;
        owl:onProperty :projectedOrTrue_IfcStructuralCurveAction
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStructuralCurveActivityTypeEnum ;
        owl:onProperty :predefinedType_IfcStructuralCurveAction
    ] ;
    owl:disjointWith :IfcStructuralPointAction, :IfcStructuralSurfaceAction .

:IfcStructuralCurveActivityTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcStructuralCurveConnection
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralConnection, [
        a owl:Restriction ;
        owl:onClass :IfcDirection ;
        owl:onProperty :axis_IfcStructuralCurveConnection ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDirection ;
        owl:onProperty :axis_IfcStructuralCurveConnection
    ] ;
    owl:disjointWith :IfcStructuralPointConnection, :IfcStructuralSurfaceConnection .

:IfcStructuralCurveMember
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralMember, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStructuralCurveMemberTypeEnum ;
        owl:onProperty :predefinedType_IfcStructuralCurveMember
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDirection ;
        owl:onProperty :axis_IfcStructuralCurveMember ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDirection ;
        owl:onProperty :axis_IfcStructuralCurveMember
    ], [
        a owl:Restriction ;
        owl:onClass :IfcStructuralCurveMemberTypeEnum ;
        owl:onProperty :predefinedType_IfcStructuralCurveMember ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcStructuralSurfaceMember .

:IfcStructuralCurveMemberTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcStructuralCurveMemberVarying
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralCurveMember .

:IfcStructuralCurveReaction
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralReaction, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStructuralCurveActivityTypeEnum ;
        owl:onProperty :predefinedType_IfcStructuralCurveReaction
    ], [
        a owl:Restriction ;
        owl:onClass :IfcStructuralCurveActivityTypeEnum ;
        owl:onProperty :predefinedType_IfcStructuralCurveReaction ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcStructuralPointReaction, :IfcStructuralSurfaceReaction .

:IfcStructuralItem
    a owl:Class ;
    rdfs:subClassOf :IfcProduct, :IfcStructuralActivityAssignmentSelect, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelConnectsStructuralActivity ;
        owl:onProperty :assignedStructuralActivity_IfcStructuralItem
    ], [
        a owl:Class ;
        owl:unionOf (:IfcStructuralMember
            :IfcStructuralConnection
        )
    ] ;
    owl:disjointWith :IfcAnnotation, :IfcElement, :IfcGrid, :IfcPort, :IfcProxy, :IfcSpatialElement, :IfcStructuralActivity .

:IfcStructuralLinearAction
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralCurveAction .

:IfcStructuralLoad
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcStructuralLoad
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcStructuralLoad
    ], [
        a owl:Class ;
        owl:unionOf (:IfcStructuralLoadConfiguration
            :IfcStructuralLoadOrResult
        )
    ] .

:IfcStructuralLoadCase
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralLoadGroup, [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:allValuesFrom [
                a owl:Restriction ;
                owl:allValuesFrom [
                    a owl:Restriction ;
                    owl:onClass :IfcRatioMeasure_EmptyList ;
                    owl:onProperty list:hasNext ;
                    owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
                ] ;
                owl:onProperty list:hasNext
            ] ;
            owl:onProperty list:hasNext
        ] ;
        owl:onProperty :selfWeightCoefficients_IfcStructuralLoadCase
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRatioMeasure_List ;
        owl:onProperty :selfWeightCoefficients_IfcStructuralLoadCase
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom [
                    a owl:Restriction ;
                    owl:onProperty list:hasNext ;
                    owl:someValuesFrom :IfcRatioMeasure_List
                ]
            ]
        ] ;
        owl:onProperty :selfWeightCoefficients_IfcStructuralLoadCase
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRatioMeasure_List ;
        owl:onProperty :selfWeightCoefficients_IfcStructuralLoadCase
    ] .

:IfcStructuralLoadConfiguration
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralLoad, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure_List_List ;
        owl:onProperty :locations_IfcStructuralLoadConfiguration
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcLengthMeasure_List_List
        ] ;
        owl:onProperty :locations_IfcStructuralLoadConfiguration
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure_List_List ;
        owl:onProperty :locations_IfcStructuralLoadConfiguration
    ], [
        a owl:Restriction ;
        owl:onClass :IfcStructuralLoadOrResult_List ;
        owl:onProperty :values_IfcStructuralLoadConfiguration ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcStructuralLoadOrResult_List
        ] ;
        owl:onProperty :values_IfcStructuralLoadConfiguration
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStructuralLoadOrResult_List ;
        owl:onProperty :values_IfcStructuralLoadConfiguration
    ] ;
    owl:disjointWith :IfcStructuralLoadOrResult .

:IfcStructuralLoadGroup
    a owl:Class ;
    rdfs:subClassOf :IfcGroup, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcStructuralResultGroup ;
        owl:onProperty :sourceOfResultGroup_IfcStructuralLoadGroup
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStructuralResultGroup ;
        owl:onProperty :sourceOfResultGroup_IfcStructuralLoadGroup
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLoadGroupTypeEnum ;
        owl:onProperty :predefinedType_IfcStructuralLoadGroup
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRatioMeasure ;
        owl:onProperty :coefficient_IfcStructuralLoadGroup
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRatioMeasure ;
        owl:onProperty :coefficient_IfcStructuralLoadGroup
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :purpose_IfcStructuralLoadGroup
    ], [
        a owl:Restriction ;
        owl:onClass :IfcActionSourceTypeEnum ;
        owl:onProperty :actionSource_IfcStructuralLoadGroup ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :purpose_IfcStructuralLoadGroup
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLoadGroupTypeEnum ;
        owl:onProperty :predefinedType_IfcStructuralLoadGroup ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStructuralAnalysisModel ;
        owl:onProperty :loadGroupFor_IfcStructuralLoadGroup
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcActionTypeEnum ;
        owl:onProperty :actionType_IfcStructuralLoadGroup
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcActionSourceTypeEnum ;
        owl:onProperty :actionSource_IfcStructuralLoadGroup
    ], [
        a owl:Restriction ;
        owl:onClass :IfcActionTypeEnum ;
        owl:onProperty :actionType_IfcStructuralLoadGroup ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAsset, :IfcInventory, :IfcStructuralResultGroup, :IfcSystem .

:IfcStructuralLoadLinearForce
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralLoadStatic, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLinearForceMeasure ;
        owl:onProperty :linearForceZ_IfcStructuralLoadLinearForce
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLinearMomentMeasure ;
        owl:onProperty :linearMomentY_IfcStructuralLoadLinearForce
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLinearMomentMeasure ;
        owl:onProperty :linearMomentX_IfcStructuralLoadLinearForce
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLinearMomentMeasure ;
        owl:onProperty :linearMomentZ_IfcStructuralLoadLinearForce
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLinearForceMeasure ;
        owl:onProperty :linearForceZ_IfcStructuralLoadLinearForce
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLinearMomentMeasure ;
        owl:onProperty :linearMomentZ_IfcStructuralLoadLinearForce
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLinearForceMeasure ;
        owl:onProperty :linearForceX_IfcStructuralLoadLinearForce
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLinearForceMeasure ;
        owl:onProperty :linearForceY_IfcStructuralLoadLinearForce
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLinearForceMeasure ;
        owl:onProperty :linearForceY_IfcStructuralLoadLinearForce
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLinearForceMeasure ;
        owl:onProperty :linearForceX_IfcStructuralLoadLinearForce
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLinearMomentMeasure ;
        owl:onProperty :linearMomentY_IfcStructuralLoadLinearForce
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLinearMomentMeasure ;
        owl:onProperty :linearMomentX_IfcStructuralLoadLinearForce
    ] ;
    owl:disjointWith :IfcStructuralLoadPlanarForce, :IfcStructuralLoadSingleDisplacement, :IfcStructuralLoadSingleForce, :IfcStructuralLoadTemperature .

:IfcStructuralLoadOrResult
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralLoad, [
        a owl:Class ;
        owl:unionOf (:IfcSurfaceReinforcementArea
            :IfcStructuralLoadStatic
        )
    ] ;
    owl:disjointWith :IfcStructuralLoadConfiguration .

:IfcStructuralLoadOrResult_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralLoadOrResult_List, list:EmptyList .

:IfcStructuralLoadOrResult_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStructuralLoadOrResult_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStructuralLoadOrResult_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStructuralLoadOrResult ;
        owl:onProperty list:hasContents
    ] .

:IfcStructuralLoadPlanarForce
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralLoadStatic, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPlanarForceMeasure ;
        owl:onProperty :planarForceZ_IfcStructuralLoadPlanarForce
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPlanarForceMeasure ;
        owl:onProperty :planarForceZ_IfcStructuralLoadPlanarForce
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPlanarForceMeasure ;
        owl:onProperty :planarForceY_IfcStructuralLoadPlanarForce
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPlanarForceMeasure ;
        owl:onProperty :planarForceY_IfcStructuralLoadPlanarForce
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPlanarForceMeasure ;
        owl:onProperty :planarForceX_IfcStructuralLoadPlanarForce
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPlanarForceMeasure ;
        owl:onProperty :planarForceX_IfcStructuralLoadPlanarForce
    ] ;
    owl:disjointWith :IfcStructuralLoadLinearForce, :IfcStructuralLoadSingleDisplacement, :IfcStructuralLoadSingleForce, :IfcStructuralLoadTemperature .

:IfcStructuralLoadSingleDisplacement
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralLoadStatic, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPlaneAngleMeasure ;
        owl:onProperty :rotationalDisplacementRX_IfcStructuralLoadSingleDisplacement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPlaneAngleMeasure ;
        owl:onProperty :rotationalDisplacementRY_IfcStructuralLoadSingleDisplacement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :displacementZ_IfcStructuralLoadSingleDisplacement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPlaneAngleMeasure ;
        owl:onProperty :rotationalDisplacementRX_IfcStructuralLoadSingleDisplacement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :displacementY_IfcStructuralLoadSingleDisplacement
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :displacementY_IfcStructuralLoadSingleDisplacement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :displacementX_IfcStructuralLoadSingleDisplacement
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPlaneAngleMeasure ;
        owl:onProperty :rotationalDisplacementRY_IfcStructuralLoadSingleDisplacement
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :displacementZ_IfcStructuralLoadSingleDisplacement
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :displacementX_IfcStructuralLoadSingleDisplacement
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPlaneAngleMeasure ;
        owl:onProperty :rotationalDisplacementRZ_IfcStructuralLoadSingleDisplacement
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPlaneAngleMeasure ;
        owl:onProperty :rotationalDisplacementRZ_IfcStructuralLoadSingleDisplacement
    ] ;
    owl:disjointWith :IfcStructuralLoadLinearForce, :IfcStructuralLoadPlanarForce, :IfcStructuralLoadSingleForce, :IfcStructuralLoadTemperature .

:IfcStructuralLoadSingleDisplacementDistortion
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralLoadSingleDisplacement, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCurvatureMeasure ;
        owl:onProperty :distortion_IfcStructuralLoadSingleDisplacementDistortion
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurvatureMeasure ;
        owl:onProperty :distortion_IfcStructuralLoadSingleDisplacementDistortion
    ] .

:IfcStructuralLoadSingleForce
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralLoadStatic, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcForceMeasure ;
        owl:onProperty :forceZ_IfcStructuralLoadSingleForce
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcForceMeasure ;
        owl:onProperty :forceX_IfcStructuralLoadSingleForce
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcForceMeasure ;
        owl:onProperty :forceY_IfcStructuralLoadSingleForce
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTorqueMeasure ;
        owl:onProperty :momentX_IfcStructuralLoadSingleForce
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTorqueMeasure ;
        owl:onProperty :momentY_IfcStructuralLoadSingleForce
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTorqueMeasure ;
        owl:onProperty :momentZ_IfcStructuralLoadSingleForce
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcForceMeasure ;
        owl:onProperty :forceZ_IfcStructuralLoadSingleForce
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcForceMeasure ;
        owl:onProperty :forceY_IfcStructuralLoadSingleForce
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTorqueMeasure ;
        owl:onProperty :momentY_IfcStructuralLoadSingleForce
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcForceMeasure ;
        owl:onProperty :forceX_IfcStructuralLoadSingleForce
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTorqueMeasure ;
        owl:onProperty :momentX_IfcStructuralLoadSingleForce
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTorqueMeasure ;
        owl:onProperty :momentZ_IfcStructuralLoadSingleForce
    ] ;
    owl:disjointWith :IfcStructuralLoadLinearForce, :IfcStructuralLoadPlanarForce, :IfcStructuralLoadSingleDisplacement, :IfcStructuralLoadTemperature .

:IfcStructuralLoadSingleForceWarping
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralLoadSingleForce, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcWarpingMomentMeasure ;
        owl:onProperty :warpingMoment_IfcStructuralLoadSingleForceWarping
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcWarpingMomentMeasure ;
        owl:onProperty :warpingMoment_IfcStructuralLoadSingleForceWarping
    ] .

:IfcStructuralLoadStatic
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralLoadOrResult, [
        a owl:Class ;
        owl:unionOf (:IfcStructuralLoadTemperature
            :IfcStructuralLoadPlanarForce
            :IfcStructuralLoadSingleForce
            :IfcStructuralLoadLinearForce
            :IfcStructuralLoadSingleDisplacement
        )
    ] ;
    owl:disjointWith :IfcSurfaceReinforcementArea .

:IfcStructuralLoadTemperature
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralLoadStatic, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcThermodynamicTemperatureMeasure ;
        owl:onProperty :deltaTConstant_IfcStructuralLoadTemperature
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcThermodynamicTemperatureMeasure ;
        owl:onProperty :deltaTZ_IfcStructuralLoadTemperature
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcThermodynamicTemperatureMeasure ;
        owl:onProperty :deltaTY_IfcStructuralLoadTemperature
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcThermodynamicTemperatureMeasure ;
        owl:onProperty :deltaTY_IfcStructuralLoadTemperature
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcThermodynamicTemperatureMeasure ;
        owl:onProperty :deltaTZ_IfcStructuralLoadTemperature
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcThermodynamicTemperatureMeasure ;
        owl:onProperty :deltaTConstant_IfcStructuralLoadTemperature
    ] ;
    owl:disjointWith :IfcStructuralLoadLinearForce, :IfcStructuralLoadPlanarForce, :IfcStructuralLoadSingleDisplacement, :IfcStructuralLoadSingleForce .

:IfcStructuralMember
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralItem, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelConnectsStructuralMember ;
        owl:onProperty :connectedBy_IfcStructuralMember
    ], [
        a owl:Class ;
        owl:unionOf (:IfcStructuralCurveMember
            :IfcStructuralSurfaceMember
        )
    ] ;
    owl:disjointWith :IfcStructuralConnection .

:IfcStructuralPlanarAction
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralSurfaceAction .

:IfcStructuralPointAction
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralAction ;
    owl:disjointWith :IfcStructuralCurveAction, :IfcStructuralSurfaceAction .

:IfcStructuralPointConnection
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralConnection, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAxis2Placement3D ;
        owl:onProperty :conditionCoordinateSystem_IfcStructuralPointConnection
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAxis2Placement3D ;
        owl:onProperty :conditionCoordinateSystem_IfcStructuralPointConnection
    ] ;
    owl:disjointWith :IfcStructuralCurveConnection, :IfcStructuralSurfaceConnection .

:IfcStructuralPointReaction
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralReaction ;
    owl:disjointWith :IfcStructuralCurveReaction, :IfcStructuralSurfaceReaction .

:IfcStructuralReaction
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralActivity, [
        a owl:Class ;
        owl:unionOf (:IfcStructuralSurfaceReaction
            :IfcStructuralCurveReaction
            :IfcStructuralPointReaction
        )
    ] ;
    owl:disjointWith :IfcStructuralAction .

:IfcStructuralResultGroup
    a owl:Class ;
    rdfs:subClassOf :IfcGroup, [
        a owl:Restriction ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :isLinear_IfcStructuralResultGroup ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcStructuralAnalysisModel ;
        owl:onProperty :resultGroupFor_IfcStructuralResultGroup
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStructuralLoadGroup ;
        owl:onProperty :resultForLoadGroup_IfcStructuralResultGroup
    ], [
        a owl:Restriction ;
        owl:onClass :IfcAnalysisTheoryTypeEnum ;
        owl:onProperty :theoryType_IfcStructuralResultGroup ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :isLinear_IfcStructuralResultGroup
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStructuralAnalysisModel ;
        owl:onProperty :resultGroupFor_IfcStructuralResultGroup
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAnalysisTheoryTypeEnum ;
        owl:onProperty :theoryType_IfcStructuralResultGroup
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcStructuralLoadGroup ;
        owl:onProperty :resultForLoadGroup_IfcStructuralResultGroup
    ] ;
    owl:disjointWith :IfcAsset, :IfcInventory, :IfcStructuralLoadGroup, :IfcSystem .

:IfcStructuralSurfaceAction
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralAction, [
        a owl:Restriction ;
        owl:onClass :IfcStructuralSurfaceActivityTypeEnum ;
        owl:onProperty :predefinedType_IfcStructuralSurfaceAction ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStructuralSurfaceActivityTypeEnum ;
        owl:onProperty :predefinedType_IfcStructuralSurfaceAction
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcProjectedOrTrueLengthEnum ;
        owl:onProperty :projectedOrTrue_IfcStructuralSurfaceAction
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProjectedOrTrueLengthEnum ;
        owl:onProperty :projectedOrTrue_IfcStructuralSurfaceAction
    ] ;
    owl:disjointWith :IfcStructuralCurveAction, :IfcStructuralPointAction .

:IfcStructuralSurfaceActivityTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcStructuralSurfaceConnection
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralConnection ;
    owl:disjointWith :IfcStructuralCurveConnection, :IfcStructuralPointConnection .

:IfcStructuralSurfaceMember
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralMember, [
        a owl:Restriction ;
        owl:onClass :IfcStructuralSurfaceMemberTypeEnum ;
        owl:onProperty :predefinedType_IfcStructuralSurfaceMember ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStructuralSurfaceMemberTypeEnum ;
        owl:onProperty :predefinedType_IfcStructuralSurfaceMember
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :thickness_IfcStructuralSurfaceMember
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :thickness_IfcStructuralSurfaceMember
    ] ;
    owl:disjointWith :IfcStructuralCurveMember .

:IfcStructuralSurfaceMemberTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcStructuralSurfaceMemberVarying
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralSurfaceMember .

:IfcStructuralSurfaceReaction
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralReaction, [
        a owl:Restriction ;
        owl:onClass :IfcStructuralSurfaceActivityTypeEnum ;
        owl:onProperty :predefinedType_IfcStructuralSurfaceReaction ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStructuralSurfaceActivityTypeEnum ;
        owl:onProperty :predefinedType_IfcStructuralSurfaceReaction
    ] ;
    owl:disjointWith :IfcStructuralCurveReaction, :IfcStructuralPointReaction .

:IfcStyleAssignmentSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcStyleModel
    a owl:Class ;
    rdfs:subClassOf :IfcRepresentation, [
        a owl:Class ;
        owl:unionOf (:IfcStyledRepresentation
        )
    ] ;
    owl:disjointWith :IfcShapeModel .

:IfcStyledItem
    a owl:Class ;
    rdfs:subClassOf :IfcRepresentationItem, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRepresentationItem ;
        owl:onProperty :item_IfcStyledItem
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcStyleAssignmentSelect ;
        owl:onProperty :styles_IfcStyledItem
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcStyledItem
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcStyledItem
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRepresentationItem ;
        owl:onProperty :item_IfcStyledItem
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcStyleAssignmentSelect ;
        owl:onProperty :styles_IfcStyledItem
    ] ;
    owl:disjointWith :IfcGeometricRepresentationItem, :IfcMappedItem, :IfcTopologicalRepresentationItem .

:IfcStyledRepresentation
    a owl:Class ;
    rdfs:subClassOf :IfcStyleModel .

:IfcSubContractResource
    a owl:Class ;
    rdfs:subClassOf :IfcConstructionResource, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSubContractResourceTypeEnum ;
        owl:onProperty :predefinedType_IfcSubContractResource
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSubContractResourceTypeEnum ;
        owl:onProperty :predefinedType_IfcSubContractResource
    ] ;
    owl:disjointWith :IfcConstructionEquipmentResource, :IfcConstructionMaterialResource, :IfcConstructionProductResource, :IfcCrewResource, :IfcLaborResource .

:IfcSubContractResourceType
    a owl:Class ;
    rdfs:subClassOf :IfcConstructionResourceType, [
        a owl:Restriction ;
        owl:onClass :IfcSubContractResourceTypeEnum ;
        owl:onProperty :predefinedType_IfcSubContractResourceType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSubContractResourceTypeEnum ;
        owl:onProperty :predefinedType_IfcSubContractResourceType
    ] ;
    owl:disjointWith :IfcConstructionEquipmentResourceType, :IfcConstructionMaterialResourceType, :IfcConstructionProductResourceType, :IfcCrewResourceType, :IfcLaborResourceType .

:IfcSubContractResourceTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcSubedge
    a owl:Class ;
    rdfs:subClassOf :IfcEdge, [
        a owl:Restriction ;
        owl:onClass :IfcEdge ;
        owl:onProperty :parentEdge_IfcSubedge ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcEdge ;
        owl:onProperty :parentEdge_IfcSubedge
    ] ;
    owl:disjointWith :IfcEdgeCurve, :IfcOrientedEdge .

:IfcSurface
    a owl:Class ;
    rdfs:subClassOf :IfcGeometricRepresentationItem, :IfcGeometricSetSelect, :IfcSurfaceOrFaceSurface, [
        a owl:Class ;
        owl:unionOf (:IfcSweptSurface
            :IfcElementarySurface
            :IfcBoundedSurface
        )
    ] ;
    owl:disjointWith :IfcAnnotationFillArea, :IfcBooleanResult, :IfcBoundingBox, :IfcCartesianPointList, :IfcCartesianTransformationOperator, :IfcCompositeCurveSegment, :IfcCsgPrimitive3D, :IfcCurve, :IfcDirection, :IfcFaceBasedSurfaceModel, :IfcFillAreaStyleHatching, :IfcFillAreaStyleTiles, :IfcGeometricSet, :IfcHalfSpaceSolid, :IfcLightSource, :IfcPlacement, :IfcPlanarExtent, :IfcPoint, :IfcSectionedSpine, :IfcShellBasedSurfaceModel, :IfcSolidModel, :IfcTessellatedItem, :IfcTextLiteral, :IfcVector .

:IfcSurfaceCurveSweptAreaSolid
    a owl:Class ;
    rdfs:subClassOf :IfcSweptAreaSolid, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue ;
        owl:onProperty :endParam_IfcSurfaceCurveSweptAreaSolid
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurve ;
        owl:onProperty :directrix_IfcSurfaceCurveSweptAreaSolid
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcParameterValue ;
        owl:onProperty :startParam_IfcSurfaceCurveSweptAreaSolid
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCurve ;
        owl:onProperty :directrix_IfcSurfaceCurveSweptAreaSolid ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue ;
        owl:onProperty :startParam_IfcSurfaceCurveSweptAreaSolid
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSurface ;
        owl:onProperty :referenceSurface_IfcSurfaceCurveSweptAreaSolid
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcParameterValue ;
        owl:onProperty :endParam_IfcSurfaceCurveSweptAreaSolid
    ], [
        a owl:Restriction ;
        owl:onClass :IfcSurface ;
        owl:onProperty :referenceSurface_IfcSurfaceCurveSweptAreaSolid ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcExtrudedAreaSolid, :IfcFixedReferenceSweptAreaSolid, :IfcRevolvedAreaSolid .

:IfcSurfaceFeature
    a owl:Class ;
    rdfs:subClassOf :IfcFeatureElement, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSurfaceFeatureTypeEnum ;
        owl:onProperty :predefinedType_IfcSurfaceFeature
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSurfaceFeatureTypeEnum ;
        owl:onProperty :predefinedType_IfcSurfaceFeature
    ] ;
    owl:disjointWith :IfcFeatureElementAddition, :IfcFeatureElementSubtraction .

:IfcSurfaceFeatureTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcSurfaceOfLinearExtrusion
    a owl:Class ;
    rdfs:subClassOf :IfcSweptSurface, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :depth_IfcSurfaceOfLinearExtrusion
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :depth_IfcSurfaceOfLinearExtrusion ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDirection ;
        owl:onProperty :extrudedDirection_IfcSurfaceOfLinearExtrusion ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDirection ;
        owl:onProperty :extrudedDirection_IfcSurfaceOfLinearExtrusion
    ] ;
    owl:disjointWith :IfcSurfaceOfRevolution .

:IfcSurfaceOfRevolution
    a owl:Class ;
    rdfs:subClassOf :IfcSweptSurface, [
        a owl:Restriction ;
        owl:onClass :IfcAxis1Placement ;
        owl:onProperty :axisPosition_IfcSurfaceOfRevolution ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAxis1Placement ;
        owl:onProperty :axisPosition_IfcSurfaceOfRevolution
    ] ;
    owl:disjointWith :IfcSurfaceOfLinearExtrusion .

:IfcSurfaceOrFaceSurface
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcSurfaceReinforcementArea
    a owl:Class ;
    rdfs:subClassOf :IfcStructuralLoadOrResult, [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:allValuesFrom [
                a owl:Restriction ;
                owl:allValuesFrom [
                    a owl:Restriction ;
                    owl:onClass :IfcLengthMeasure_EmptyList ;
                    owl:onProperty list:hasNext ;
                    owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
                ] ;
                owl:onProperty list:hasNext
            ] ;
            owl:onProperty list:hasNext
        ] ;
        owl:onProperty :surfaceReinforcement1_IfcSurfaceReinforcementArea
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:allValuesFrom [
                a owl:Restriction ;
                owl:allValuesFrom [
                    a owl:Restriction ;
                    owl:onClass :IfcLengthMeasure_EmptyList ;
                    owl:onProperty list:hasNext ;
                    owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
                ] ;
                owl:onProperty list:hasNext
            ] ;
            owl:onProperty list:hasNext
        ] ;
        owl:onProperty :surfaceReinforcement2_IfcSurfaceReinforcementArea
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure_List ;
        owl:onProperty :surfaceReinforcement1_IfcSurfaceReinforcementArea
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure_List ;
        owl:onProperty :surfaceReinforcement1_IfcSurfaceReinforcementArea
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom :IfcLengthMeasure_List
            ]
        ] ;
        owl:onProperty :surfaceReinforcement2_IfcSurfaceReinforcementArea
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom :IfcLengthMeasure_List
            ]
        ] ;
        owl:onProperty :surfaceReinforcement1_IfcSurfaceReinforcementArea
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure_List ;
        owl:onProperty :surfaceReinforcement2_IfcSurfaceReinforcementArea
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRatioMeasure ;
        owl:onProperty :shearReinforcement_IfcSurfaceReinforcementArea
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure_List ;
        owl:onProperty :surfaceReinforcement2_IfcSurfaceReinforcementArea
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRatioMeasure ;
        owl:onProperty :shearReinforcement_IfcSurfaceReinforcementArea
    ] ;
    owl:disjointWith :IfcStructuralLoadStatic .

:IfcSurfaceSide
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcSurfaceStyle
    a owl:Class ;
    rdfs:subClassOf :IfcPresentationStyle, :IfcPresentationStyleSelect, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "5"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSurfaceStyleElementSelect ;
        owl:onProperty :styles_IfcSurfaceStyle
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSurfaceStyleElementSelect ;
        owl:onProperty :styles_IfcSurfaceStyle
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSurfaceStyleElementSelect ;
        owl:onProperty :styles_IfcSurfaceStyle
    ], [
        a owl:Restriction ;
        owl:onClass :IfcSurfaceSide ;
        owl:onProperty :side_IfcSurfaceStyle ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSurfaceSide ;
        owl:onProperty :side_IfcSurfaceStyle
    ] ;
    owl:disjointWith :IfcCurveStyle, :IfcFillAreaStyle, :IfcTextStyle .

:IfcSurfaceStyleElementSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcSurfaceStyleLighting
    a owl:Class ;
    rdfs:subClassOf :IfcPresentationItem, :IfcSurfaceStyleElementSelect, [
        a owl:Restriction ;
        owl:onClass :IfcColourRgb ;
        owl:onProperty :reflectanceColour_IfcSurfaceStyleLighting ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcColourRgb ;
        owl:onProperty :diffuseReflectionColour_IfcSurfaceStyleLighting ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcColourRgb ;
        owl:onProperty :reflectanceColour_IfcSurfaceStyleLighting
    ], [
        a owl:Restriction ;
        owl:onClass :IfcColourRgb ;
        owl:onProperty :diffuseTransmissionColour_IfcSurfaceStyleLighting ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcColourRgb ;
        owl:onProperty :transmissionColour_IfcSurfaceStyleLighting ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcColourRgb ;
        owl:onProperty :transmissionColour_IfcSurfaceStyleLighting
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcColourRgb ;
        owl:onProperty :diffuseReflectionColour_IfcSurfaceStyleLighting
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcColourRgb ;
        owl:onProperty :diffuseTransmissionColour_IfcSurfaceStyleLighting
    ] ;
    owl:disjointWith :IfcColourRgbList, :IfcColourSpecification, :IfcCurveStyleFont, :IfcCurveStyleFontAndScaling, :IfcCurveStyleFontPattern, :IfcIndexedColourMap, :IfcPreDefinedItem, :IfcSurfaceStyleRefraction, :IfcSurfaceStyleShading, :IfcSurfaceStyleWithTextures, :IfcSurfaceTexture, :IfcTextStyleForDefinedFont, :IfcTextStyleTextModel, :IfcTextureCoordinate, :IfcTextureVertex, :IfcTextureVertexList .

:IfcSurfaceStyleRefraction
    a owl:Class ;
    rdfs:subClassOf :IfcPresentationItem, :IfcSurfaceStyleElementSelect, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcReal ;
        owl:onProperty :refractionIndex_IfcSurfaceStyleRefraction
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReal ;
        owl:onProperty :dispersionFactor_IfcSurfaceStyleRefraction
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReal ;
        owl:onProperty :refractionIndex_IfcSurfaceStyleRefraction
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcReal ;
        owl:onProperty :dispersionFactor_IfcSurfaceStyleRefraction
    ] ;
    owl:disjointWith :IfcColourRgbList, :IfcColourSpecification, :IfcCurveStyleFont, :IfcCurveStyleFontAndScaling, :IfcCurveStyleFontPattern, :IfcIndexedColourMap, :IfcPreDefinedItem, :IfcSurfaceStyleLighting, :IfcSurfaceStyleShading, :IfcSurfaceStyleWithTextures, :IfcSurfaceTexture, :IfcTextStyleForDefinedFont, :IfcTextStyleTextModel, :IfcTextureCoordinate, :IfcTextureVertex, :IfcTextureVertexList .

:IfcSurfaceStyleRendering
    a owl:Class ;
    rdfs:subClassOf :IfcSurfaceStyleShading, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNormalisedRatioMeasure ;
        owl:onProperty :transparency_IfcSurfaceStyleRendering
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcColourOrFactor ;
        owl:onProperty :diffuseTransmissionColour_IfcSurfaceStyleRendering
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcColourOrFactor ;
        owl:onProperty :reflectionColour_IfcSurfaceStyleRendering
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcColourOrFactor ;
        owl:onProperty :diffuseColour_IfcSurfaceStyleRendering
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSpecularHighlightSelect ;
        owl:onProperty :specularHighlight_IfcSurfaceStyleRendering
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcColourOrFactor ;
        owl:onProperty :reflectionColour_IfcSurfaceStyleRendering
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNormalisedRatioMeasure ;
        owl:onProperty :transparency_IfcSurfaceStyleRendering
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcColourOrFactor ;
        owl:onProperty :diffuseTransmissionColour_IfcSurfaceStyleRendering
    ], [
        a owl:Restriction ;
        owl:onClass :IfcReflectanceMethodEnum ;
        owl:onProperty :reflectanceMethod_IfcSurfaceStyleRendering ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcColourOrFactor ;
        owl:onProperty :specularColour_IfcSurfaceStyleRendering
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReflectanceMethodEnum ;
        owl:onProperty :reflectanceMethod_IfcSurfaceStyleRendering
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSpecularHighlightSelect ;
        owl:onProperty :specularHighlight_IfcSurfaceStyleRendering
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcColourOrFactor ;
        owl:onProperty :diffuseColour_IfcSurfaceStyleRendering
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcColourOrFactor ;
        owl:onProperty :specularColour_IfcSurfaceStyleRendering
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcColourOrFactor ;
        owl:onProperty :transmissionColour_IfcSurfaceStyleRendering
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcColourOrFactor ;
        owl:onProperty :transmissionColour_IfcSurfaceStyleRendering
    ] .

:IfcSurfaceStyleShading
    a owl:Class ;
    rdfs:subClassOf :IfcPresentationItem, :IfcSurfaceStyleElementSelect, [
        a owl:Restriction ;
        owl:onClass :IfcColourRgb ;
        owl:onProperty :surfaceColour_IfcSurfaceStyleShading ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcColourRgb ;
        owl:onProperty :surfaceColour_IfcSurfaceStyleShading
    ] ;
    owl:disjointWith :IfcColourRgbList, :IfcColourSpecification, :IfcCurveStyleFont, :IfcCurveStyleFontAndScaling, :IfcCurveStyleFontPattern, :IfcIndexedColourMap, :IfcPreDefinedItem, :IfcSurfaceStyleLighting, :IfcSurfaceStyleRefraction, :IfcSurfaceStyleWithTextures, :IfcSurfaceTexture, :IfcTextStyleForDefinedFont, :IfcTextStyleTextModel, :IfcTextureCoordinate, :IfcTextureVertex, :IfcTextureVertexList .

:IfcSurfaceStyleWithTextures
    a owl:Class ;
    rdfs:subClassOf :IfcPresentationItem, :IfcSurfaceStyleElementSelect, [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcSurfaceTexture_List
        ] ;
        owl:onProperty :textures_IfcSurfaceStyleWithTextures
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSurfaceTexture_List ;
        owl:onProperty :textures_IfcSurfaceStyleWithTextures
    ], [
        a owl:Restriction ;
        owl:onClass :IfcSurfaceTexture_List ;
        owl:onProperty :textures_IfcSurfaceStyleWithTextures ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcColourRgbList, :IfcColourSpecification, :IfcCurveStyleFont, :IfcCurveStyleFontAndScaling, :IfcCurveStyleFontPattern, :IfcIndexedColourMap, :IfcPreDefinedItem, :IfcSurfaceStyleLighting, :IfcSurfaceStyleRefraction, :IfcSurfaceStyleShading, :IfcSurfaceTexture, :IfcTextStyleForDefinedFont, :IfcTextStyleTextModel, :IfcTextureCoordinate, :IfcTextureVertex, :IfcTextureVertexList .

:IfcSurfaceTexture
    a owl:Class ;
    rdfs:subClassOf :IfcPresentationItem, [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcIdentifier_List
        ] ;
        owl:onProperty :parameter_IfcSurfaceTexture
    ], [
        a owl:Restriction ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :repeatS_IfcSurfaceTexture ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcCartesianTransformationOperator2D ;
        owl:onProperty :textureTransform_IfcSurfaceTexture
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :mode_IfcSurfaceTexture
    ], [
        a owl:Class ;
        owl:unionOf (:IfcImageTexture
            :IfcPixelTexture
            :IfcBlobTexture
        )
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier_List ;
        owl:onProperty :parameter_IfcSurfaceTexture
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCartesianTransformationOperator2D ;
        owl:onProperty :textureTransform_IfcSurfaceTexture
    ], [
        a owl:Restriction ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :repeatT_IfcSurfaceTexture ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier_List ;
        owl:onProperty :parameter_IfcSurfaceTexture
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :mode_IfcSurfaceTexture
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :repeatT_IfcSurfaceTexture
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :repeatS_IfcSurfaceTexture
    ] ;
    owl:disjointWith :IfcColourRgbList, :IfcColourSpecification, :IfcCurveStyleFont, :IfcCurveStyleFontAndScaling, :IfcCurveStyleFontPattern, :IfcIndexedColourMap, :IfcPreDefinedItem, :IfcSurfaceStyleLighting, :IfcSurfaceStyleRefraction, :IfcSurfaceStyleShading, :IfcSurfaceStyleWithTextures, :IfcTextStyleForDefinedFont, :IfcTextStyleTextModel, :IfcTextureCoordinate, :IfcTextureVertex, :IfcTextureVertexList .

:IfcSurfaceTexture_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcSurfaceTexture_List, list:EmptyList .

:IfcSurfaceTexture_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSurfaceTexture ;
        owl:onProperty list:hasContents
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSurfaceTexture_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSurfaceTexture_List ;
        owl:onProperty list:isFollowedBy
    ] .

:IfcSweptAreaSolid
    a owl:Class ;
    rdfs:subClassOf :IfcSolidModel, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAxis2Placement3D ;
        owl:onProperty :position_IfcSweptAreaSolid
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProfileDef ;
        owl:onProperty :sweptArea_IfcSweptAreaSolid
    ], [
        a owl:Class ;
        owl:unionOf (:IfcExtrudedAreaSolid
            :IfcRevolvedAreaSolid
            :IfcFixedReferenceSweptAreaSolid
            :IfcSurfaceCurveSweptAreaSolid
        )
    ], [
        a owl:Restriction ;
        owl:onClass :IfcProfileDef ;
        owl:onProperty :sweptArea_IfcSweptAreaSolid ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAxis2Placement3D ;
        owl:onProperty :position_IfcSweptAreaSolid
    ] ;
    owl:disjointWith :IfcCsgSolid, :IfcManifoldSolidBrep, :IfcSweptDiskSolid .

:IfcSweptDiskSolid
    a owl:Class ;
    rdfs:subClassOf :IfcSolidModel, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue ;
        owl:onProperty :endParam_IfcSweptDiskSolid
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurve ;
        owl:onProperty :directrix_IfcSweptDiskSolid
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :radius_IfcSweptDiskSolid ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue ;
        owl:onProperty :startParam_IfcSweptDiskSolid
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcParameterValue ;
        owl:onProperty :startParam_IfcSweptDiskSolid
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :innerRadius_IfcSweptDiskSolid
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :innerRadius_IfcSweptDiskSolid
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :radius_IfcSweptDiskSolid
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcParameterValue ;
        owl:onProperty :endParam_IfcSweptDiskSolid
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCurve ;
        owl:onProperty :directrix_IfcSweptDiskSolid ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcCsgSolid, :IfcManifoldSolidBrep, :IfcSweptAreaSolid .

:IfcSweptDiskSolidPolygonal
    a owl:Class ;
    rdfs:subClassOf :IfcSweptDiskSolid, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :filletRadius_IfcSweptDiskSolidPolygonal
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :filletRadius_IfcSweptDiskSolidPolygonal
    ] .

:IfcSweptSurface
    a owl:Class ;
    rdfs:subClassOf :IfcSurface, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAxis2Placement3D ;
        owl:onProperty :position_IfcSweptSurface
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAxis2Placement3D ;
        owl:onProperty :position_IfcSweptSurface
    ], [
        a owl:Restriction ;
        owl:onClass :IfcProfileDef ;
        owl:onProperty :sweptCurve_IfcSweptSurface ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcProfileDef ;
        owl:onProperty :sweptCurve_IfcSweptSurface
    ], [
        a owl:Class ;
        owl:unionOf (:IfcSurfaceOfRevolution
            :IfcSurfaceOfLinearExtrusion
        )
    ] ;
    owl:disjointWith :IfcBoundedSurface, :IfcElementarySurface .

:IfcSwitchingDevice
    a owl:Class ;
    rdfs:subClassOf :IfcFlowController, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSwitchingDeviceTypeEnum ;
        owl:onProperty :predefinedType_IfcSwitchingDevice
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSwitchingDeviceTypeEnum ;
        owl:onProperty :predefinedType_IfcSwitchingDevice
    ] ;
    owl:disjointWith :IfcAirTerminalBox, :IfcDamper, :IfcElectricDistributionBoard, :IfcElectricTimeControl, :IfcFlowMeter, :IfcProtectiveDevice, :IfcValve .

:IfcSwitchingDeviceType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowControllerType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSwitchingDeviceTypeEnum ;
        owl:onProperty :predefinedType_IfcSwitchingDeviceType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcSwitchingDeviceTypeEnum ;
        owl:onProperty :predefinedType_IfcSwitchingDeviceType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAirTerminalBoxType, :IfcDamperType, :IfcElectricDistributionBoardType, :IfcElectricTimeControlType, :IfcFlowMeterType, :IfcProtectiveDeviceType, :IfcValveType .

:IfcSwitchingDeviceTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcSystem
    a owl:Class ;
    rdfs:subClassOf :IfcGroup, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRelServicesBuildings ;
        owl:onProperty :servicesBuildings_IfcSystem
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelServicesBuildings ;
        owl:onProperty :servicesBuildings_IfcSystem
    ] ;
    owl:disjointWith :IfcAsset, :IfcInventory, :IfcStructuralLoadGroup, :IfcStructuralResultGroup .

:IfcSystemFurnitureElement
    a owl:Class ;
    rdfs:subClassOf :IfcFurnishingElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSystemFurnitureElementTypeEnum ;
        owl:onProperty :predefinedType_IfcSystemFurnitureElement
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSystemFurnitureElementTypeEnum ;
        owl:onProperty :predefinedType_IfcSystemFurnitureElement
    ] ;
    owl:disjointWith :IfcFurniture .

:IfcSystemFurnitureElementType
    a owl:Class ;
    rdfs:subClassOf :IfcFurnishingElementType, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSystemFurnitureElementTypeEnum ;
        owl:onProperty :predefinedType_IfcSystemFurnitureElementType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSystemFurnitureElementTypeEnum ;
        owl:onProperty :predefinedType_IfcSystemFurnitureElementType
    ] ;
    owl:disjointWith :IfcFurnitureType .

:IfcSystemFurnitureElementTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcTShapeProfileDef
    a owl:Class ;
    rdfs:subClassOf :IfcParameterizedProfileDef, [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :depth_IfcTShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :flangeWidth_IfcTShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPlaneAngleMeasure ;
        owl:onProperty :flangeSlope_IfcTShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNonNegativeLengthMeasure ;
        owl:onProperty :flangeEdgeRadius_IfcTShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :depth_IfcTShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNonNegativeLengthMeasure ;
        owl:onProperty :filletRadius_IfcTShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNonNegativeLengthMeasure ;
        owl:onProperty :webEdgeRadius_IfcTShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNonNegativeLengthMeasure ;
        owl:onProperty :webEdgeRadius_IfcTShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPlaneAngleMeasure ;
        owl:onProperty :flangeSlope_IfcTShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :flangeThickness_IfcTShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :webThickness_IfcTShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :webThickness_IfcTShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPlaneAngleMeasure ;
        owl:onProperty :webSlope_IfcTShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPlaneAngleMeasure ;
        owl:onProperty :webSlope_IfcTShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :flangeWidth_IfcTShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :flangeThickness_IfcTShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNonNegativeLengthMeasure ;
        owl:onProperty :filletRadius_IfcTShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNonNegativeLengthMeasure ;
        owl:onProperty :flangeEdgeRadius_IfcTShapeProfileDef
    ] ;
    owl:disjointWith :IfcAsymmetricIShapeProfileDef, :IfcCShapeProfileDef, :IfcCircleProfileDef, :IfcEllipseProfileDef, :IfcIShapeProfileDef, :IfcLShapeProfileDef, :IfcRectangleProfileDef, :IfcTrapeziumProfileDef, :IfcUShapeProfileDef, :IfcZShapeProfileDef .

:IfcTable
    a owl:Class ;
    rdfs:subClassOf :IfcMetricValueSelect, :IfcObjectReferenceSelect, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTableColumn_List ;
        owl:onProperty :columns_IfcTable
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcTable
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTableRow_List ;
        owl:onProperty :rows_IfcTable
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcTableRow_List
        ] ;
        owl:onProperty :rows_IfcTable
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcTableColumn_List
        ] ;
        owl:onProperty :columns_IfcTable
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTableRow_List ;
        owl:onProperty :rows_IfcTable
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTableColumn_List ;
        owl:onProperty :columns_IfcTable
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcTable
    ] .

:IfcTableColumn
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcTableColumn
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcTableColumn
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcTableColumn
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReference ;
        owl:onProperty :referencePath_IfcTableColumn
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcReference ;
        owl:onProperty :referencePath_IfcTableColumn
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcTableColumn
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :identifier_IfcTableColumn
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcUnit ;
        owl:onProperty :unit_IfcTableColumn
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcUnit ;
        owl:onProperty :unit_IfcTableColumn
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :identifier_IfcTableColumn
    ] .

:IfcTableColumn_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcTableColumn_List, list:EmptyList .

:IfcTableColumn_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTableColumn_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTableColumn_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTableColumn ;
        owl:onProperty list:hasContents
    ] .

:IfcTableRow
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :isHeading_IfcTableRow
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :isHeading_IfcTableRow
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcValue_List ;
        owl:onProperty :rowCells_IfcTableRow
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcValue_List
        ] ;
        owl:onProperty :rowCells_IfcTableRow
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcValue_List ;
        owl:onProperty :rowCells_IfcTableRow
    ] .

:IfcTableRow_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcTableRow_List, list:EmptyList .

:IfcTableRow_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTableRow_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTableRow ;
        owl:onProperty list:hasContents
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTableRow_List ;
        owl:onProperty list:hasNext
    ] .

:IfcTank
    a owl:Class ;
    rdfs:subClassOf :IfcFlowStorageDevice, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTankTypeEnum ;
        owl:onProperty :predefinedType_IfcTank
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTankTypeEnum ;
        owl:onProperty :predefinedType_IfcTank
    ] ;
    owl:disjointWith :IfcElectricFlowStorageDevice .

:IfcTankType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowStorageDeviceType, [
        a owl:Restriction ;
        owl:onClass :IfcTankTypeEnum ;
        owl:onProperty :predefinedType_IfcTankType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTankTypeEnum ;
        owl:onProperty :predefinedType_IfcTankType
    ] ;
    owl:disjointWith :IfcElectricFlowStorageDeviceType .

:IfcTankTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcTask
    a owl:Class ;
    rdfs:subClassOf :IfcProcess, [
        a owl:Restriction ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :isMilestone_IfcTask ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :isMilestone_IfcTask
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTaskTime ;
        owl:onProperty :taskTime_IfcTask
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :status_IfcTask
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :workMethod_IfcTask
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcInteger ;
        owl:onProperty :priority_IfcTask
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTaskTypeEnum ;
        owl:onProperty :predefinedType_IfcTask
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTaskTime ;
        owl:onProperty :taskTime_IfcTask
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTaskTypeEnum ;
        owl:onProperty :predefinedType_IfcTask
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :workMethod_IfcTask
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :status_IfcTask
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcInteger ;
        owl:onProperty :priority_IfcTask
    ] ;
    owl:disjointWith :IfcEvent, :IfcProcedure .

:IfcTaskDurationEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcTaskTime
    a owl:Class ;
    rdfs:subClassOf :IfcSchedulingTime, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :scheduleStart_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :statusTime_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :earlyFinish_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTaskDurationEnum ;
        owl:onProperty :durationType_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :actualStart_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :isCritical_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDuration ;
        owl:onProperty :remainingTime_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDuration ;
        owl:onProperty :remainingTime_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :earlyFinish_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :lateStart_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :earlyStart_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :actualFinish_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :isCritical_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveRatioMeasure ;
        owl:onProperty :completion_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDuration ;
        owl:onProperty :scheduleDuration_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveRatioMeasure ;
        owl:onProperty :completion_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDuration ;
        owl:onProperty :freeFloat_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :scheduleFinish_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTaskDurationEnum ;
        owl:onProperty :durationType_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :actualFinish_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :earlyStart_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :scheduleStart_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDuration ;
        owl:onProperty :freeFloat_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :lateFinish_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :scheduleFinish_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :statusTime_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDuration ;
        owl:onProperty :actualDuration_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDuration ;
        owl:onProperty :actualDuration_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDuration ;
        owl:onProperty :scheduleDuration_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDuration ;
        owl:onProperty :totalFloat_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDuration ;
        owl:onProperty :totalFloat_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :lateFinish_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :lateStart_IfcTaskTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :actualStart_IfcTaskTime
    ] ;
    owl:disjointWith :IfcEventTime, :IfcLagTime, :IfcResourceTime, :IfcWorkTime .

:IfcTaskTimeRecurring
    a owl:Class ;
    rdfs:subClassOf :IfcTaskTime, [
        a owl:Restriction ;
        owl:onClass :IfcRecurrencePattern ;
        owl:onProperty :recurrence_IfcTaskTimeRecurring ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRecurrencePattern ;
        owl:onProperty :recurrence_IfcTaskTimeRecurring
    ] .

:IfcTaskType
    a owl:Class ;
    rdfs:subClassOf :IfcTypeProcess, [
        a owl:Restriction ;
        owl:onClass :IfcTaskTypeEnum ;
        owl:onProperty :predefinedType_IfcTaskType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTaskTypeEnum ;
        owl:onProperty :predefinedType_IfcTaskType
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :workMethod_IfcTaskType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :workMethod_IfcTaskType
    ] ;
    owl:disjointWith :IfcEventType, :IfcProcedureType .

:IfcTaskTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcTelecomAddress
    a owl:Class ;
    rdfs:subClassOf :IfcAddress, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcURIReference_List ;
        owl:onProperty :messagingIDs_IfcTelecomAddress
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel_List ;
        owl:onProperty :facsimileNumbers_IfcTelecomAddress
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcURIReference ;
        owl:onProperty :wWWHomePageURL_IfcTelecomAddress
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel_List ;
        owl:onProperty :telephoneNumbers_IfcTelecomAddress
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel_List ;
        owl:onProperty :electronicMailAddresses_IfcTelecomAddress
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :pagerNumber_IfcTelecomAddress
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel_List ;
        owl:onProperty :telephoneNumbers_IfcTelecomAddress
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcURIReference ;
        owl:onProperty :wWWHomePageURL_IfcTelecomAddress
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcURIReference_List ;
        owl:onProperty :messagingIDs_IfcTelecomAddress
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :pagerNumber_IfcTelecomAddress
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcURIReference_List
        ] ;
        owl:onProperty :messagingIDs_IfcTelecomAddress
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel_List ;
        owl:onProperty :electronicMailAddresses_IfcTelecomAddress
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcLabel_List
        ] ;
        owl:onProperty :facsimileNumbers_IfcTelecomAddress
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcLabel_List
        ] ;
        owl:onProperty :telephoneNumbers_IfcTelecomAddress
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcLabel_List
        ] ;
        owl:onProperty :electronicMailAddresses_IfcTelecomAddress
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel_List ;
        owl:onProperty :facsimileNumbers_IfcTelecomAddress
    ] ;
    owl:disjointWith :IfcPostalAddress .

:IfcTemperatureGradientMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcTemperatureRateOfChangeMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcTendon
    a owl:Class ;
    rdfs:subClassOf :IfcReinforcingElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :nominalDiameter_IfcTendon
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcForceMeasure ;
        owl:onProperty :tensionForce_IfcTendon
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPressureMeasure ;
        owl:onProperty :preStress_IfcTendon
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :minCurvatureRadius_IfcTendon
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAreaMeasure ;
        owl:onProperty :crossSectionArea_IfcTendon
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcForceMeasure ;
        owl:onProperty :tensionForce_IfcTendon
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :nominalDiameter_IfcTendon
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTendonTypeEnum ;
        owl:onProperty :predefinedType_IfcTendon
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :minCurvatureRadius_IfcTendon
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNormalisedRatioMeasure ;
        owl:onProperty :frictionCoefficient_IfcTendon
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAreaMeasure ;
        owl:onProperty :crossSectionArea_IfcTendon
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTendonTypeEnum ;
        owl:onProperty :predefinedType_IfcTendon
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNormalisedRatioMeasure ;
        owl:onProperty :frictionCoefficient_IfcTendon
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPressureMeasure ;
        owl:onProperty :preStress_IfcTendon
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :anchorageSlip_IfcTendon
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :anchorageSlip_IfcTendon
    ] ;
    owl:disjointWith :IfcReinforcingBar, :IfcReinforcingMesh, :IfcTendonAnchor .

:IfcTendonAnchor
    a owl:Class ;
    rdfs:subClassOf :IfcReinforcingElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTendonAnchorTypeEnum ;
        owl:onProperty :predefinedType_IfcTendonAnchor
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTendonAnchorTypeEnum ;
        owl:onProperty :predefinedType_IfcTendonAnchor
    ] ;
    owl:disjointWith :IfcReinforcingBar, :IfcReinforcingMesh, :IfcTendon .

:IfcTendonAnchorType
    a owl:Class ;
    rdfs:subClassOf :IfcReinforcingElementType, [
        a owl:Restriction ;
        owl:onClass :IfcTendonAnchorTypeEnum ;
        owl:onProperty :predefinedType_IfcTendonAnchorType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTendonAnchorTypeEnum ;
        owl:onProperty :predefinedType_IfcTendonAnchorType
    ] ;
    owl:disjointWith :IfcReinforcingBarType, :IfcReinforcingMeshType, :IfcTendonType .

:IfcTendonAnchorTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcTendonType
    a owl:Class ;
    rdfs:subClassOf :IfcReinforcingElementType, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :sheethDiameter_IfcTendonType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :nominalDiameter_IfcTendonType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :sheethDiameter_IfcTendonType
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :nominalDiameter_IfcTendonType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTendonTypeEnum ;
        owl:onProperty :predefinedType_IfcTendonType
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcAreaMeasure ;
        owl:onProperty :crossSectionArea_IfcTendonType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAreaMeasure ;
        owl:onProperty :crossSectionArea_IfcTendonType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcTendonTypeEnum ;
        owl:onProperty :predefinedType_IfcTendonType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcReinforcingBarType, :IfcReinforcingMeshType, :IfcTendonAnchorType .

:IfcTendonTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcTessellatedFaceSet
    a owl:Class ;
    rdfs:subClassOf :IfcTessellatedItem, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :closed_IfcTessellatedFaceSet
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIndexedColourMap ;
        owl:onProperty :hasColours_IfcTessellatedFaceSet
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCartesianPointList3D ;
        owl:onProperty :coordinates_IfcTessellatedFaceSet ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcParameterValue_List_List
        ] ;
        owl:onProperty :normals_IfcTessellatedFaceSet
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIndexedTextureMap ;
        owl:onProperty :hasTextures_IfcTessellatedFaceSet
    ], [
        a owl:Class ;
        owl:unionOf (:IfcTriangulatedFaceSet
        )
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcParameterValue_List_List ;
        owl:onProperty :normals_IfcTessellatedFaceSet
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCartesianPointList3D ;
        owl:onProperty :coordinates_IfcTessellatedFaceSet
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue_List_List ;
        owl:onProperty :normals_IfcTessellatedFaceSet
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :closed_IfcTessellatedFaceSet
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIndexedColourMap ;
        owl:onProperty :hasColours_IfcTessellatedFaceSet
    ] .

:IfcTessellatedItem
    a owl:Class ;
    rdfs:subClassOf :IfcGeometricRepresentationItem, [
        a owl:Class ;
        owl:unionOf (:IfcTessellatedFaceSet
        )
    ] ;
    owl:disjointWith :IfcAnnotationFillArea, :IfcBooleanResult, :IfcBoundingBox, :IfcCartesianPointList, :IfcCartesianTransformationOperator, :IfcCompositeCurveSegment, :IfcCsgPrimitive3D, :IfcCurve, :IfcDirection, :IfcFaceBasedSurfaceModel, :IfcFillAreaStyleHatching, :IfcFillAreaStyleTiles, :IfcGeometricSet, :IfcHalfSpaceSolid, :IfcLightSource, :IfcPlacement, :IfcPlanarExtent, :IfcPoint, :IfcSectionedSpine, :IfcShellBasedSurfaceModel, :IfcSolidModel, :IfcSurface, :IfcTextLiteral, :IfcVector .

:IfcText
    a owl:Class ;
    rdfs:subClassOf expr:STRING, :IfcSimpleValue .

:IfcTextAlignment
    a owl:Class ;
    rdfs:subClassOf expr:STRING .

:IfcTextDecoration
    a owl:Class ;
    rdfs:subClassOf expr:STRING .

:IfcTextFontName
    a owl:Class ;
    rdfs:subClassOf expr:STRING .

:IfcTextFontName_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcTextFontName_List, list:EmptyList .

:IfcTextFontName_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTextFontName_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTextFontName_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTextFontName ;
        owl:onProperty list:hasContents
    ] .

:IfcTextFontSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcTextLiteral
    a owl:Class ;
    rdfs:subClassOf :IfcGeometricRepresentationItem, [
        a owl:Restriction ;
        owl:onClass :IfcAxis2Placement ;
        owl:onProperty :placement_IfcTextLiteral ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcAxis2Placement ;
        owl:onProperty :placement_IfcTextLiteral
    ], [
        a owl:Restriction ;
        owl:onClass :IfcTextPath ;
        owl:onProperty :path_IfcTextLiteral ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTextPath ;
        owl:onProperty :path_IfcTextLiteral
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPresentableText ;
        owl:onProperty :literal_IfcTextLiteral ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPresentableText ;
        owl:onProperty :literal_IfcTextLiteral
    ] ;
    owl:disjointWith :IfcAnnotationFillArea, :IfcBooleanResult, :IfcBoundingBox, :IfcCartesianPointList, :IfcCartesianTransformationOperator, :IfcCompositeCurveSegment, :IfcCsgPrimitive3D, :IfcCurve, :IfcDirection, :IfcFaceBasedSurfaceModel, :IfcFillAreaStyleHatching, :IfcFillAreaStyleTiles, :IfcGeometricSet, :IfcHalfSpaceSolid, :IfcLightSource, :IfcPlacement, :IfcPlanarExtent, :IfcPoint, :IfcSectionedSpine, :IfcShellBasedSurfaceModel, :IfcSolidModel, :IfcSurface, :IfcTessellatedItem, :IfcVector .

:IfcTextLiteralWithExtent
    a owl:Class ;
    rdfs:subClassOf :IfcTextLiteral, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPlanarExtent ;
        owl:onProperty :extent_IfcTextLiteralWithExtent
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoxAlignment ;
        owl:onProperty :boxAlignment_IfcTextLiteralWithExtent
    ], [
        a owl:Restriction ;
        owl:onClass :IfcBoxAlignment ;
        owl:onProperty :boxAlignment_IfcTextLiteralWithExtent ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPlanarExtent ;
        owl:onProperty :extent_IfcTextLiteralWithExtent ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] .

:IfcTextPath
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcTextStyle
    a owl:Class ;
    rdfs:subClassOf :IfcPresentationStyle, :IfcPresentationStyleSelect, [
        a owl:Restriction ;
        owl:onClass :IfcTextFontSelect ;
        owl:onProperty :textFontStyle_IfcTextStyle ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTextFontSelect ;
        owl:onProperty :textFontStyle_IfcTextStyle
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :modelOrDraughting_IfcTextStyle
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTextStyleForDefinedFont ;
        owl:onProperty :textCharacterAppearance_IfcTextStyle
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTextStyleTextModel ;
        owl:onProperty :textStyle_IfcTextStyle
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :modelOrDraughting_IfcTextStyle
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTextStyleTextModel ;
        owl:onProperty :textStyle_IfcTextStyle
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTextStyleForDefinedFont ;
        owl:onProperty :textCharacterAppearance_IfcTextStyle
    ] ;
    owl:disjointWith :IfcCurveStyle, :IfcFillAreaStyle, :IfcSurfaceStyle .

:IfcTextStyleFontModel
    a owl:Class ;
    rdfs:subClassOf :IfcPreDefinedTextFont, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcFontVariant ;
        owl:onProperty :fontVariant_IfcTextStyleFontModel
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFontStyle ;
        owl:onProperty :fontStyle_IfcTextStyleFontModel
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFontVariant ;
        owl:onProperty :fontVariant_IfcTextStyleFontModel
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFontWeight ;
        owl:onProperty :fontWeight_IfcTextStyleFontModel
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcTextFontName_List
        ] ;
        owl:onProperty :fontFamily_IfcTextStyleFontModel
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTextFontName_List ;
        owl:onProperty :fontFamily_IfcTextStyleFontModel
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSizeSelect ;
        owl:onProperty :fontSize_IfcTextStyleFontModel
    ], [
        a owl:Restriction ;
        owl:onClass :IfcTextFontName_List ;
        owl:onProperty :fontFamily_IfcTextStyleFontModel ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcFontWeight ;
        owl:onProperty :fontWeight_IfcTextStyleFontModel
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcFontStyle ;
        owl:onProperty :fontStyle_IfcTextStyleFontModel
    ], [
        a owl:Restriction ;
        owl:onClass :IfcSizeSelect ;
        owl:onProperty :fontSize_IfcTextStyleFontModel ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] .

:IfcTextStyleForDefinedFont
    a owl:Class ;
    rdfs:subClassOf :IfcPresentationItem, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcColour ;
        owl:onProperty :backgroundColour_IfcTextStyleForDefinedFont
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcColour ;
        owl:onProperty :backgroundColour_IfcTextStyleForDefinedFont
    ], [
        a owl:Restriction ;
        owl:onClass :IfcColour ;
        owl:onProperty :colour_IfcTextStyleForDefinedFont ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcColour ;
        owl:onProperty :colour_IfcTextStyleForDefinedFont
    ] ;
    owl:disjointWith :IfcColourRgbList, :IfcColourSpecification, :IfcCurveStyleFont, :IfcCurveStyleFontAndScaling, :IfcCurveStyleFontPattern, :IfcIndexedColourMap, :IfcPreDefinedItem, :IfcSurfaceStyleLighting, :IfcSurfaceStyleRefraction, :IfcSurfaceStyleShading, :IfcSurfaceStyleWithTextures, :IfcSurfaceTexture, :IfcTextStyleTextModel, :IfcTextureCoordinate, :IfcTextureVertex, :IfcTextureVertexList .

:IfcTextStyleTextModel
    a owl:Class ;
    rdfs:subClassOf :IfcPresentationItem, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTextAlignment ;
        owl:onProperty :textAlign_IfcTextStyleTextModel
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTextTransformation ;
        owl:onProperty :textTransform_IfcTextStyleTextModel
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSizeSelect ;
        owl:onProperty :wordSpacing_IfcTextStyleTextModel
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSizeSelect ;
        owl:onProperty :lineHeight_IfcTextStyleTextModel
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSizeSelect ;
        owl:onProperty :textIndent_IfcTextStyleTextModel
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSizeSelect ;
        owl:onProperty :wordSpacing_IfcTextStyleTextModel
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSizeSelect ;
        owl:onProperty :letterSpacing_IfcTextStyleTextModel
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSizeSelect ;
        owl:onProperty :textIndent_IfcTextStyleTextModel
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcSizeSelect ;
        owl:onProperty :letterSpacing_IfcTextStyleTextModel
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTextDecoration ;
        owl:onProperty :textDecoration_IfcTextStyleTextModel
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSizeSelect ;
        owl:onProperty :lineHeight_IfcTextStyleTextModel
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTextDecoration ;
        owl:onProperty :textDecoration_IfcTextStyleTextModel
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTextTransformation ;
        owl:onProperty :textTransform_IfcTextStyleTextModel
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTextAlignment ;
        owl:onProperty :textAlign_IfcTextStyleTextModel
    ] ;
    owl:disjointWith :IfcColourRgbList, :IfcColourSpecification, :IfcCurveStyleFont, :IfcCurveStyleFontAndScaling, :IfcCurveStyleFontPattern, :IfcIndexedColourMap, :IfcPreDefinedItem, :IfcSurfaceStyleLighting, :IfcSurfaceStyleRefraction, :IfcSurfaceStyleShading, :IfcSurfaceStyleWithTextures, :IfcSurfaceTexture, :IfcTextStyleForDefinedFont, :IfcTextureCoordinate, :IfcTextureVertex, :IfcTextureVertexList .

:IfcTextTransformation
    a owl:Class ;
    rdfs:subClassOf expr:STRING .

:IfcTextureCoordinate
    a owl:Class ;
    rdfs:subClassOf :IfcPresentationItem, [
        a owl:Class ;
        owl:unionOf (:IfcIndexedTextureMap
            :IfcTextureMap
            :IfcTextureCoordinateGenerator
        )
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcSurfaceTexture_List ;
        owl:onProperty :maps_IfcTextureCoordinate
    ], [
        a owl:Restriction ;
        owl:onClass :IfcSurfaceTexture_List ;
        owl:onProperty :maps_IfcTextureCoordinate ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcSurfaceTexture_List
        ] ;
        owl:onProperty :maps_IfcTextureCoordinate
    ] ;
    owl:disjointWith :IfcColourRgbList, :IfcColourSpecification, :IfcCurveStyleFont, :IfcCurveStyleFontAndScaling, :IfcCurveStyleFontPattern, :IfcIndexedColourMap, :IfcPreDefinedItem, :IfcSurfaceStyleLighting, :IfcSurfaceStyleRefraction, :IfcSurfaceStyleShading, :IfcSurfaceStyleWithTextures, :IfcSurfaceTexture, :IfcTextStyleForDefinedFont, :IfcTextStyleTextModel, :IfcTextureVertex, :IfcTextureVertexList .

:IfcTextureCoordinateGenerator
    a owl:Class ;
    rdfs:subClassOf :IfcTextureCoordinate, [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcReal_List
        ] ;
        owl:onProperty :parameter_IfcTextureCoordinateGenerator
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcReal_List ;
        owl:onProperty :parameter_IfcTextureCoordinateGenerator
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLabel ;
        owl:onProperty :mode_IfcTextureCoordinateGenerator ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :mode_IfcTextureCoordinateGenerator
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcReal_List ;
        owl:onProperty :parameter_IfcTextureCoordinateGenerator
    ] ;
    owl:disjointWith :IfcIndexedTextureMap, :IfcTextureMap .

:IfcTextureMap
    a owl:Class ;
    rdfs:subClassOf :IfcTextureCoordinate, [
        a owl:Restriction ;
        owl:onClass :IfcFace ;
        owl:onProperty :mappedTo_IfcTextureMap ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcFace ;
        owl:onProperty :mappedTo_IfcTextureMap
    ], [
        a owl:Restriction ;
        owl:onClass :IfcTextureVertex_List ;
        owl:onProperty :vertices_IfcTextureMap ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom [
                    a owl:Restriction ;
                    owl:onProperty list:hasNext ;
                    owl:someValuesFrom :IfcTextureVertex_List
                ]
            ]
        ] ;
        owl:onProperty :vertices_IfcTextureMap
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTextureVertex_List ;
        owl:onProperty :vertices_IfcTextureMap
    ] ;
    owl:disjointWith :IfcIndexedTextureMap, :IfcTextureCoordinateGenerator .

:IfcTextureVertex
    a owl:Class ;
    rdfs:subClassOf :IfcPresentationItem, [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:allValuesFrom [
                a owl:Restriction ;
                owl:onClass :IfcParameterValue_EmptyList ;
                owl:onProperty list:hasNext ;
                owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
            ] ;
            owl:onProperty list:hasNext
        ] ;
        owl:onProperty :coordinates_IfcTextureVertex
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom :IfcParameterValue_List
            ]
        ] ;
        owl:onProperty :coordinates_IfcTextureVertex
    ], [
        a owl:Restriction ;
        owl:onClass :IfcParameterValue_List ;
        owl:onProperty :coordinates_IfcTextureVertex ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue_List ;
        owl:onProperty :coordinates_IfcTextureVertex
    ] ;
    owl:disjointWith :IfcColourRgbList, :IfcColourSpecification, :IfcCurveStyleFont, :IfcCurveStyleFontAndScaling, :IfcCurveStyleFontPattern, :IfcIndexedColourMap, :IfcPreDefinedItem, :IfcSurfaceStyleLighting, :IfcSurfaceStyleRefraction, :IfcSurfaceStyleShading, :IfcSurfaceStyleWithTextures, :IfcSurfaceTexture, :IfcTextStyleForDefinedFont, :IfcTextStyleTextModel, :IfcTextureCoordinate, :IfcTextureVertexList .

:IfcTextureVertexList
    a owl:Class ;
    rdfs:subClassOf :IfcPresentationItem, [
        a owl:Restriction ;
        owl:onClass :IfcParameterValue_List_List ;
        owl:onProperty :texCoordsList_IfcTextureVertexList ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcParameterValue_List_List ;
        owl:onProperty :texCoordsList_IfcTextureVertexList
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcParameterValue_List_List
        ] ;
        owl:onProperty :texCoordsList_IfcTextureVertexList
    ] ;
    owl:disjointWith :IfcColourRgbList, :IfcColourSpecification, :IfcCurveStyleFont, :IfcCurveStyleFontAndScaling, :IfcCurveStyleFontPattern, :IfcIndexedColourMap, :IfcPreDefinedItem, :IfcSurfaceStyleLighting, :IfcSurfaceStyleRefraction, :IfcSurfaceStyleShading, :IfcSurfaceStyleWithTextures, :IfcSurfaceTexture, :IfcTextStyleForDefinedFont, :IfcTextStyleTextModel, :IfcTextureCoordinate, :IfcTextureVertex .

:IfcTextureVertex_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcTextureVertex_List, list:EmptyList .

:IfcTextureVertex_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTextureVertex_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTextureVertex ;
        owl:onProperty list:hasContents
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTextureVertex_List ;
        owl:onProperty list:isFollowedBy
    ] .

:IfcThermalAdmittanceMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcThermalConductivityMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcThermalExpansionCoefficientMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcThermalResistanceMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcThermalTransmittanceMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcThermodynamicTemperatureMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcMeasureValue .

:IfcTime
    a owl:Class ;
    rdfs:subClassOf expr:STRING, :IfcSimpleValue .

:IfcTimeMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcMeasureValue .

:IfcTimeOrRatioSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcTimePeriod
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTime ;
        owl:onProperty :endTime_IfcTimePeriod
    ], [
        a owl:Restriction ;
        owl:onClass :IfcTime ;
        owl:onProperty :startTime_IfcTimePeriod ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcTime ;
        owl:onProperty :endTime_IfcTimePeriod ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTime ;
        owl:onProperty :startTime_IfcTimePeriod
    ] .

:IfcTimePeriod_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcTimePeriod_List, list:EmptyList .

:IfcTimePeriod_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTimePeriod_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTimePeriod_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTimePeriod ;
        owl:onProperty list:hasContents
    ] .

:IfcTimeSeries
    a owl:Class ;
    rdfs:subClassOf :IfcMetricValueSelect, :IfcObjectReferenceSelect, :IfcResourceObjectSelect, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcUnit ;
        owl:onProperty :unit_IfcTimeSeries
    ], [
        a owl:Class ;
        owl:unionOf (:IfcRegularTimeSeries
            :IfcIrregularTimeSeries
        )
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTimeSeriesDataTypeEnum ;
        owl:onProperty :timeSeriesDataType_IfcTimeSeries
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :startTime_IfcTimeSeries
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :startTime_IfcTimeSeries ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :description_IfcTimeSeries
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDataOriginEnum ;
        owl:onProperty :dataOrigin_IfcTimeSeries
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :endTime_IfcTimeSeries ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :description_IfcTimeSeries
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :userDefinedDataOrigin_IfcTimeSeries
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcUnit ;
        owl:onProperty :unit_IfcTimeSeries
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :name_IfcTimeSeries
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :endTime_IfcTimeSeries
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLabel ;
        owl:onProperty :name_IfcTimeSeries ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDataOriginEnum ;
        owl:onProperty :dataOrigin_IfcTimeSeries ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcTimeSeriesDataTypeEnum ;
        owl:onProperty :timeSeriesDataType_IfcTimeSeries ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :userDefinedDataOrigin_IfcTimeSeries
    ] .

:IfcTimeSeriesDataTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcTimeSeriesValue
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:allValuesFrom :IfcValue_List ;
        owl:onProperty :listValues_IfcTimeSeriesValue
    ], [
        a owl:Restriction ;
        owl:onClass :IfcValue_List ;
        owl:onProperty :listValues_IfcTimeSeriesValue ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcValue_List
        ] ;
        owl:onProperty :listValues_IfcTimeSeriesValue
    ] .

:IfcTimeSeriesValue_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcTimeSeriesValue_List, list:EmptyList .

:IfcTimeSeriesValue_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTimeSeriesValue ;
        owl:onProperty list:hasContents
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTimeSeriesValue_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTimeSeriesValue_List ;
        owl:onProperty list:isFollowedBy
    ] .

:IfcTimeStamp
    a owl:Class ;
    rdfs:subClassOf expr:INTEGER, :IfcSimpleValue .

:IfcTopologicalRepresentationItem
    a owl:Class ;
    rdfs:subClassOf :IfcRepresentationItem, [
        a owl:Class ;
        owl:unionOf (:IfcPath
            :IfcFaceBound
            :IfcEdge
            :IfcLoop
            :IfcFace
            :IfcConnectedFaceSet
            :IfcVertex
        )
    ] ;
    owl:disjointWith :IfcGeometricRepresentationItem, :IfcMappedItem, :IfcStyledItem .

:IfcTopologyRepresentation
    a owl:Class ;
    rdfs:subClassOf :IfcShapeModel ;
    owl:disjointWith :IfcShapeRepresentation .

:IfcTorqueMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcTransformer
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDevice, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTransformerTypeEnum ;
        owl:onProperty :predefinedType_IfcTransformer
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTransformerTypeEnum ;
        owl:onProperty :predefinedType_IfcTransformer
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecovery, :IfcBoiler, :IfcBurner, :IfcChiller, :IfcCoil, :IfcCondenser, :IfcCooledBeam, :IfcCoolingTower, :IfcElectricGenerator, :IfcElectricMotor, :IfcEngine, :IfcEvaporativeCooler, :IfcEvaporator, :IfcHeatExchanger, :IfcHumidifier, :IfcMotorConnection, :IfcSolarDevice, :IfcTubeBundle, :IfcUnitaryEquipment .

:IfcTransformerType
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDeviceType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTransformerTypeEnum ;
        owl:onProperty :predefinedType_IfcTransformerType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcTransformerTypeEnum ;
        owl:onProperty :predefinedType_IfcTransformerType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecoveryType, :IfcBoilerType, :IfcBurnerType, :IfcChillerType, :IfcCoilType, :IfcCondenserType, :IfcCooledBeamType, :IfcCoolingTowerType, :IfcElectricGeneratorType, :IfcElectricMotorType, :IfcEngineType, :IfcEvaporativeCoolerType, :IfcEvaporatorType, :IfcHeatExchangerType, :IfcHumidifierType, :IfcMotorConnectionType, :IfcSolarDeviceType, :IfcTubeBundleType, :IfcUnitaryEquipmentType .

:IfcTransformerTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcTransitionCode
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcTranslationalStiffnessSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcTransportElement
    a owl:Class ;
    rdfs:subClassOf :IfcElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTransportElementTypeEnum ;
        owl:onProperty :predefinedType_IfcTransportElement
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTransportElementTypeEnum ;
        owl:onProperty :predefinedType_IfcTransportElement
    ] ;
    owl:disjointWith :IfcBuildingElement, :IfcCivilElement, :IfcDistributionElement, :IfcElementAssembly, :IfcElementComponent, :IfcFeatureElement, :IfcFurnishingElement, :IfcGeographicElement, :IfcVirtualElement .

:IfcTransportElementType
    a owl:Class ;
    rdfs:subClassOf :IfcElementType, [
        a owl:Restriction ;
        owl:onClass :IfcTransportElementTypeEnum ;
        owl:onProperty :predefinedType_IfcTransportElementType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTransportElementTypeEnum ;
        owl:onProperty :predefinedType_IfcTransportElementType
    ] ;
    owl:disjointWith :IfcBuildingElementType, :IfcCivilElementType, :IfcDistributionElementType, :IfcElementAssemblyType, :IfcElementComponentType, :IfcFurnishingElementType, :IfcGeographicElementType .

:IfcTransportElementTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcTrapeziumProfileDef
    a owl:Class ;
    rdfs:subClassOf :IfcParameterizedProfileDef, [
        a owl:Restriction ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :topXOffset_IfcTrapeziumProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :yDim_IfcTrapeziumProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :topXDim_IfcTrapeziumProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :bottomXDim_IfcTrapeziumProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :topXOffset_IfcTrapeziumProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :topXDim_IfcTrapeziumProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :yDim_IfcTrapeziumProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :bottomXDim_IfcTrapeziumProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAsymmetricIShapeProfileDef, :IfcCShapeProfileDef, :IfcCircleProfileDef, :IfcEllipseProfileDef, :IfcIShapeProfileDef, :IfcLShapeProfileDef, :IfcRectangleProfileDef, :IfcTShapeProfileDef, :IfcUShapeProfileDef, :IfcZShapeProfileDef .

:IfcTriangulatedFaceSet
    a owl:Class ;
    rdfs:subClassOf :IfcTessellatedFaceSet, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveInteger_List_List ;
        owl:onProperty :normalIndex_IfcTriangulatedFaceSet
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcPositiveInteger_List_List
        ] ;
        owl:onProperty :normalIndex_IfcTriangulatedFaceSet
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveInteger_List_List ;
        owl:onProperty :normalIndex_IfcTriangulatedFaceSet
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveInteger_List_List ;
        owl:onProperty :coordIndex_IfcTriangulatedFaceSet ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcPositiveInteger_List_List
        ] ;
        owl:onProperty :coordIndex_IfcTriangulatedFaceSet
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveInteger_List_List ;
        owl:onProperty :coordIndex_IfcTriangulatedFaceSet
    ] .

:IfcTrimmedCurve
    a owl:Class ;
    rdfs:subClassOf :IfcBoundedCurve, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "2"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTrimmingSelect ;
        owl:onProperty :trim1_IfcTrimmedCurve
    ], [
        a owl:Restriction ;
        owl:onClass :IfcTrimmingPreference ;
        owl:onProperty :masterRepresentation_IfcTrimmedCurve ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTrimmingPreference ;
        owl:onProperty :masterRepresentation_IfcTrimmedCurve
    ], [
        a owl:Restriction ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :senseAgreement_IfcTrimmedCurve ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTrimmingSelect ;
        owl:onProperty :trim2_IfcTrimmedCurve
    ], [
        a owl:Restriction ;
        owl:onClass :IfcCurve ;
        owl:onProperty :basisCurve_IfcTrimmedCurve ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTrimmingSelect ;
        owl:onProperty :trim1_IfcTrimmedCurve
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :senseAgreement_IfcTrimmedCurve
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "2"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTrimmingSelect ;
        owl:onProperty :trim2_IfcTrimmedCurve
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTrimmingSelect ;
        owl:onProperty :trim1_IfcTrimmedCurve
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcCurve ;
        owl:onProperty :basisCurve_IfcTrimmedCurve
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTrimmingSelect ;
        owl:onProperty :trim2_IfcTrimmedCurve
    ] ;
    owl:disjointWith :IfcBSplineCurve, :IfcCompositeCurve, :IfcIndexedPolyCurve, :IfcPolyline .

:IfcTrimmingPreference
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcTrimmingSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcTubeBundle
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDevice, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcTubeBundleTypeEnum ;
        owl:onProperty :predefinedType_IfcTubeBundle
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTubeBundleTypeEnum ;
        owl:onProperty :predefinedType_IfcTubeBundle
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecovery, :IfcBoiler, :IfcBurner, :IfcChiller, :IfcCoil, :IfcCondenser, :IfcCooledBeam, :IfcCoolingTower, :IfcElectricGenerator, :IfcElectricMotor, :IfcEngine, :IfcEvaporativeCooler, :IfcEvaporator, :IfcHeatExchanger, :IfcHumidifier, :IfcMotorConnection, :IfcSolarDevice, :IfcTransformer, :IfcUnitaryEquipment .

:IfcTubeBundleType
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDeviceType, [
        a owl:Restriction ;
        owl:onClass :IfcTubeBundleTypeEnum ;
        owl:onProperty :predefinedType_IfcTubeBundleType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcTubeBundleTypeEnum ;
        owl:onProperty :predefinedType_IfcTubeBundleType
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecoveryType, :IfcBoilerType, :IfcBurnerType, :IfcChillerType, :IfcCoilType, :IfcCondenserType, :IfcCooledBeamType, :IfcCoolingTowerType, :IfcElectricGeneratorType, :IfcElectricMotorType, :IfcEngineType, :IfcEvaporativeCoolerType, :IfcEvaporatorType, :IfcHeatExchangerType, :IfcHumidifierType, :IfcMotorConnectionType, :IfcSolarDeviceType, :IfcTransformerType, :IfcUnitaryEquipmentType .

:IfcTubeBundleTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcTypeObject
    a owl:Class ;
    rdfs:subClassOf :IfcObjectDefinition, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRelDefinesByType ;
        owl:onProperty :types_IfcTypeObject
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPropertySetDefinition ;
        owl:onProperty :hasPropertySets_IfcTypeObject
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :applicableOccurrence_IfcTypeObject
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRelDefinesByType ;
        owl:onProperty :types_IfcTypeObject
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :applicableOccurrence_IfcTypeObject
    ] ;
    owl:disjointWith :IfcContext, :IfcObject .

:IfcTypeProcess
    a owl:Class ;
    rdfs:subClassOf :IfcProcessSelect, :IfcTypeObject, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :longDescription_IfcTypeProcess
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :longDescription_IfcTypeProcess
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :identification_IfcTypeProcess
    ], [
        a owl:Class ;
        owl:unionOf (:IfcEventType
            :IfcTaskType
            :IfcProcedureType
        )
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :identification_IfcTypeProcess
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :processType_IfcTypeProcess
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :processType_IfcTypeProcess
    ] ;
    owl:disjointWith :IfcTypeProduct, :IfcTypeResource .

:IfcTypeProduct
    a owl:Class ;
    rdfs:subClassOf :IfcProductSelect, :IfcTypeObject, [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom :IfcRepresentationMap_List
        ] ;
        owl:onProperty :representationMaps_IfcTypeProduct
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRepresentationMap_List ;
        owl:onProperty :representationMaps_IfcTypeProduct
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRepresentationMap_List ;
        owl:onProperty :representationMaps_IfcTypeProduct
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :tag_IfcTypeProduct
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :tag_IfcTypeProduct
    ] ;
    owl:disjointWith :IfcTypeProcess, :IfcTypeResource .

:IfcTypeResource
    a owl:Class ;
    rdfs:subClassOf :IfcResourceSelect, :IfcTypeObject, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcIdentifier ;
        owl:onProperty :identification_IfcTypeResource
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcText ;
        owl:onProperty :longDescription_IfcTypeResource
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :resourceType_IfcTypeResource
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :resourceType_IfcTypeResource
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcText ;
        owl:onProperty :longDescription_IfcTypeResource
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcIdentifier ;
        owl:onProperty :identification_IfcTypeResource
    ], [
        a owl:Class ;
        owl:unionOf (:IfcConstructionResourceType
        )
    ] ;
    owl:disjointWith :IfcTypeProcess, :IfcTypeProduct .

:IfcURIReference
    a owl:Class ;
    rdfs:subClassOf expr:STRING .

:IfcURIReference_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcURIReference_List, list:EmptyList .

:IfcURIReference_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcURIReference_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcURIReference_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcURIReference ;
        owl:onProperty list:hasContents
    ] .

:IfcUShapeProfileDef
    a owl:Class ;
    rdfs:subClassOf :IfcParameterizedProfileDef, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :flangeThickness_IfcUShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :flangeThickness_IfcUShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNonNegativeLengthMeasure ;
        owl:onProperty :filletRadius_IfcUShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :webThickness_IfcUShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPlaneAngleMeasure ;
        owl:onProperty :flangeSlope_IfcUShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :webThickness_IfcUShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :depth_IfcUShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNonNegativeLengthMeasure ;
        owl:onProperty :edgeRadius_IfcUShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNonNegativeLengthMeasure ;
        owl:onProperty :edgeRadius_IfcUShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :flangeWidth_IfcUShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNonNegativeLengthMeasure ;
        owl:onProperty :filletRadius_IfcUShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :flangeWidth_IfcUShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :depth_IfcUShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPlaneAngleMeasure ;
        owl:onProperty :flangeSlope_IfcUShapeProfileDef
    ] ;
    owl:disjointWith :IfcAsymmetricIShapeProfileDef, :IfcCShapeProfileDef, :IfcCircleProfileDef, :IfcEllipseProfileDef, :IfcIShapeProfileDef, :IfcLShapeProfileDef, :IfcRectangleProfileDef, :IfcTShapeProfileDef, :IfcTrapeziumProfileDef, :IfcZShapeProfileDef .

:IfcUnit
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcUnitAssignment
    a owl:Class ;
    rdfs:subClassOf [
        a owl:Restriction ;
        owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcUnit ;
        owl:onProperty :units_IfcUnitAssignment
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcUnit ;
        owl:onProperty :units_IfcUnitAssignment
    ] .

:IfcUnitEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcUnitaryControlElement
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionControlElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcUnitaryControlElementTypeEnum ;
        owl:onProperty :predefinedType_IfcUnitaryControlElement
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcUnitaryControlElementTypeEnum ;
        owl:onProperty :predefinedType_IfcUnitaryControlElement
    ] ;
    owl:disjointWith :IfcActuator, :IfcAlarm, :IfcController, :IfcFlowInstrument, :IfcProtectiveDeviceTrippingUnit, :IfcSensor .

:IfcUnitaryControlElementType
    a owl:Class ;
    rdfs:subClassOf :IfcDistributionControlElementType, [
        a owl:Restriction ;
        owl:onClass :IfcUnitaryControlElementTypeEnum ;
        owl:onProperty :predefinedType_IfcUnitaryControlElementType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcUnitaryControlElementTypeEnum ;
        owl:onProperty :predefinedType_IfcUnitaryControlElementType
    ] ;
    owl:disjointWith :IfcActuatorType, :IfcAlarmType, :IfcControllerType, :IfcFlowInstrumentType, :IfcProtectiveDeviceTrippingUnitType, :IfcSensorType .

:IfcUnitaryControlElementTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcUnitaryEquipment
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDevice, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcUnitaryEquipmentTypeEnum ;
        owl:onProperty :predefinedType_IfcUnitaryEquipment
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcUnitaryEquipmentTypeEnum ;
        owl:onProperty :predefinedType_IfcUnitaryEquipment
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecovery, :IfcBoiler, :IfcBurner, :IfcChiller, :IfcCoil, :IfcCondenser, :IfcCooledBeam, :IfcCoolingTower, :IfcElectricGenerator, :IfcElectricMotor, :IfcEngine, :IfcEvaporativeCooler, :IfcEvaporator, :IfcHeatExchanger, :IfcHumidifier, :IfcMotorConnection, :IfcSolarDevice, :IfcTransformer, :IfcTubeBundle .

:IfcUnitaryEquipmentType
    a owl:Class ;
    rdfs:subClassOf :IfcEnergyConversionDeviceType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcUnitaryEquipmentTypeEnum ;
        owl:onProperty :predefinedType_IfcUnitaryEquipmentType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcUnitaryEquipmentTypeEnum ;
        owl:onProperty :predefinedType_IfcUnitaryEquipmentType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAirToAirHeatRecoveryType, :IfcBoilerType, :IfcBurnerType, :IfcChillerType, :IfcCoilType, :IfcCondenserType, :IfcCooledBeamType, :IfcCoolingTowerType, :IfcElectricGeneratorType, :IfcElectricMotorType, :IfcEngineType, :IfcEvaporativeCoolerType, :IfcEvaporatorType, :IfcHeatExchangerType, :IfcHumidifierType, :IfcMotorConnectionType, :IfcSolarDeviceType, :IfcTransformerType, :IfcTubeBundleType .

:IfcUnitaryEquipmentTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcValue
    a owl:Class ;
    rdfs:subClassOf expr:SELECT, :IfcAppliedValueSelect, :IfcMetricValueSelect .

:IfcValue_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcValue_List, list:EmptyList .

:IfcValue_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcValue_List ;
        owl:onProperty list:isFollowedBy
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcValue_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcValue ;
        owl:onProperty list:hasContents
    ] .

:IfcValve
    a owl:Class ;
    rdfs:subClassOf :IfcFlowController, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcValveTypeEnum ;
        owl:onProperty :predefinedType_IfcValve
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcValveTypeEnum ;
        owl:onProperty :predefinedType_IfcValve
    ] ;
    owl:disjointWith :IfcAirTerminalBox, :IfcDamper, :IfcElectricDistributionBoard, :IfcElectricTimeControl, :IfcFlowMeter, :IfcProtectiveDevice, :IfcSwitchingDevice .

:IfcValveType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowControllerType, [
        a owl:Restriction ;
        owl:onClass :IfcValveTypeEnum ;
        owl:onProperty :predefinedType_IfcValveType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcValveTypeEnum ;
        owl:onProperty :predefinedType_IfcValveType
    ] ;
    owl:disjointWith :IfcAirTerminalBoxType, :IfcDamperType, :IfcElectricDistributionBoardType, :IfcElectricTimeControlType, :IfcFlowMeterType, :IfcProtectiveDeviceType, :IfcSwitchingDeviceType .

:IfcValveTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcVaporPermeabilityMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcVector
    a owl:Class ;
    rdfs:subClassOf :IfcGeometricRepresentationItem, :IfcHatchLineDistanceSelect, :IfcVectorOrDirection, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :magnitude_IfcVector
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDirection ;
        owl:onProperty :orientation_IfcVector ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :magnitude_IfcVector ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDirection ;
        owl:onProperty :orientation_IfcVector
    ] ;
    owl:disjointWith :IfcAnnotationFillArea, :IfcBooleanResult, :IfcBoundingBox, :IfcCartesianPointList, :IfcCartesianTransformationOperator, :IfcCompositeCurveSegment, :IfcCsgPrimitive3D, :IfcCurve, :IfcDirection, :IfcFaceBasedSurfaceModel, :IfcFillAreaStyleHatching, :IfcFillAreaStyleTiles, :IfcGeometricSet, :IfcHalfSpaceSolid, :IfcLightSource, :IfcPlacement, :IfcPlanarExtent, :IfcPoint, :IfcSectionedSpine, :IfcShellBasedSurfaceModel, :IfcSolidModel, :IfcSurface, :IfcTessellatedItem, :IfcTextLiteral .

:IfcVectorOrDirection
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcVector_EmptyList
    a owl:Class ;
    rdfs:subClassOf :IfcVector_List, list:EmptyList .

:IfcVector_List
    a owl:Class ;
    rdfs:subClassOf list:OWLList, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcVector ;
        owl:onProperty list:hasContents
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcVector_List ;
        owl:onProperty list:hasNext
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcVector_List ;
        owl:onProperty list:isFollowedBy
    ] .

:IfcVertex
    a owl:Class ;
    rdfs:subClassOf :IfcTopologicalRepresentationItem ;
    owl:disjointWith :IfcConnectedFaceSet, :IfcEdge, :IfcFace, :IfcFaceBound, :IfcLoop, :IfcPath .

:IfcVertexLoop
    a owl:Class ;
    rdfs:subClassOf :IfcLoop, [
        a owl:Restriction ;
        owl:onClass :IfcVertex ;
        owl:onProperty :loopVertex_IfcVertexLoop ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcVertex ;
        owl:onProperty :loopVertex_IfcVertexLoop
    ] ;
    owl:disjointWith :IfcEdgeLoop, :IfcPolyLoop .

:IfcVertexPoint
    a owl:Class ;
    rdfs:subClassOf :IfcPointOrVertexPoint, :IfcVertex, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPoint ;
        owl:onProperty :vertexGeometry_IfcVertexPoint
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPoint ;
        owl:onProperty :vertexGeometry_IfcVertexPoint ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] .

:IfcVibrationIsolator
    a owl:Class ;
    rdfs:subClassOf :IfcElementComponent, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcVibrationIsolatorTypeEnum ;
        owl:onProperty :predefinedType_IfcVibrationIsolator
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcVibrationIsolatorTypeEnum ;
        owl:onProperty :predefinedType_IfcVibrationIsolator
    ] ;
    owl:disjointWith :IfcBuildingElementPart, :IfcDiscreteAccessory, :IfcFastener, :IfcMechanicalFastener, :IfcReinforcingElement .

:IfcVibrationIsolatorType
    a owl:Class ;
    rdfs:subClassOf :IfcElementComponentType, [
        a owl:Restriction ;
        owl:onClass :IfcVibrationIsolatorTypeEnum ;
        owl:onProperty :predefinedType_IfcVibrationIsolatorType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcVibrationIsolatorTypeEnum ;
        owl:onProperty :predefinedType_IfcVibrationIsolatorType
    ] ;
    owl:disjointWith :IfcBuildingElementPartType, :IfcDiscreteAccessoryType, :IfcFastenerType, :IfcMechanicalFastenerType, :IfcReinforcingElementType .

:IfcVibrationIsolatorTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcVirtualElement
    a owl:Class ;
    rdfs:subClassOf :IfcElement ;
    owl:disjointWith :IfcBuildingElement, :IfcCivilElement, :IfcDistributionElement, :IfcElementAssembly, :IfcElementComponent, :IfcFeatureElement, :IfcFurnishingElement, :IfcGeographicElement, :IfcTransportElement .

:IfcVirtualGridIntersection
    a owl:Class ;
    rdfs:subClassOf :IfcGridPlacementDirectionSelect, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcGridAxis_List ;
        owl:onProperty :intersectingAxes_IfcVirtualGridIntersection
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure_List ;
        owl:onProperty :offsetDistances_IfcVirtualGridIntersection
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:allValuesFrom [
                a owl:Restriction ;
                owl:allValuesFrom [
                    a owl:Restriction ;
                    owl:onClass :IfcLengthMeasure_EmptyList ;
                    owl:onProperty list:hasNext ;
                    owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
                ] ;
                owl:onProperty list:hasNext
            ] ;
            owl:onProperty list:hasNext
        ] ;
        owl:onProperty :offsetDistances_IfcVirtualGridIntersection
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom :IfcGridAxis_List
            ]
        ] ;
        owl:onProperty :intersectingAxes_IfcVirtualGridIntersection
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:allValuesFrom [
                a owl:Restriction ;
                owl:onClass :IfcGridAxis_EmptyList ;
                owl:onProperty list:hasNext ;
                owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
            ] ;
            owl:onProperty list:hasNext
        ] ;
        owl:onProperty :intersectingAxes_IfcVirtualGridIntersection
    ], [
        a owl:Restriction ;
        owl:onClass :IfcLengthMeasure_List ;
        owl:onProperty :offsetDistances_IfcVirtualGridIntersection ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom [
            a owl:Restriction ;
            owl:onProperty list:hasNext ;
            owl:someValuesFrom [
                a owl:Restriction ;
                owl:onProperty list:hasNext ;
                owl:someValuesFrom :IfcLengthMeasure_List
            ]
        ] ;
        owl:onProperty :offsetDistances_IfcVirtualGridIntersection
    ], [
        a owl:Restriction ;
        owl:onClass :IfcGridAxis_List ;
        owl:onProperty :intersectingAxes_IfcVirtualGridIntersection ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] .

:IfcVoidingFeature
    a owl:Class ;
    rdfs:subClassOf :IfcFeatureElementSubtraction, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcVoidingFeatureTypeEnum ;
        owl:onProperty :predefinedType_IfcVoidingFeature
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcVoidingFeatureTypeEnum ;
        owl:onProperty :predefinedType_IfcVoidingFeature
    ] ;
    owl:disjointWith :IfcOpeningElement .

:IfcVoidingFeatureTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcVolumeMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcMeasureValue .

:IfcVolumetricFlowRateMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcWall
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElement, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcWallTypeEnum ;
        owl:onProperty :predefinedType_IfcWall
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcWallTypeEnum ;
        owl:onProperty :predefinedType_IfcWall
    ] ;
    owl:disjointWith :IfcBeam, :IfcBuildingElementProxy, :IfcChimney, :IfcColumn, :IfcCovering, :IfcCurtainWall, :IfcDoor, :IfcFooting, :IfcMember, :IfcPile, :IfcPlate, :IfcRailing, :IfcRamp, :IfcRampFlight, :IfcRoof, :IfcShadingDevice, :IfcSlab, :IfcStair, :IfcStairFlight, :IfcWindow .

:IfcWallElementedCase
    a owl:Class ;
    rdfs:subClassOf :IfcWall ;
    owl:disjointWith :IfcWallStandardCase .

:IfcWallStandardCase
    a owl:Class ;
    rdfs:subClassOf :IfcWall ;
    owl:disjointWith :IfcWallElementedCase .

:IfcWallType
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElementType, [
        a owl:Restriction ;
        owl:onClass :IfcWallTypeEnum ;
        owl:onProperty :predefinedType_IfcWallType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcWallTypeEnum ;
        owl:onProperty :predefinedType_IfcWallType
    ] ;
    owl:disjointWith :IfcBeamType, :IfcBuildingElementProxyType, :IfcChimneyType, :IfcColumnType, :IfcCoveringType, :IfcCurtainWallType, :IfcDoorType, :IfcFootingType, :IfcMemberType, :IfcPileType, :IfcPlateType, :IfcRailingType, :IfcRampFlightType, :IfcRampType, :IfcRoofType, :IfcShadingDeviceType, :IfcSlabType, :IfcStairFlightType, :IfcStairType, :IfcWindowType .

:IfcWallTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcWarpingConstantMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue .

:IfcWarpingMomentMeasure
    a owl:Class ;
    rdfs:subClassOf expr:REAL, :IfcDerivedMeasureValue, :IfcWarpingStiffnessSelect .

:IfcWarpingStiffnessSelect
    a owl:Class ;
    rdfs:subClassOf expr:SELECT .

:IfcWasteTerminal
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminal, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcWasteTerminalTypeEnum ;
        owl:onProperty :predefinedType_IfcWasteTerminal
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcWasteTerminalTypeEnum ;
        owl:onProperty :predefinedType_IfcWasteTerminal
    ] ;
    owl:disjointWith :IfcAirTerminal, :IfcAudioVisualAppliance, :IfcCommunicationsAppliance, :IfcElectricAppliance, :IfcFireSuppressionTerminal, :IfcLamp, :IfcLightFixture, :IfcMedicalDevice, :IfcOutlet, :IfcSanitaryTerminal, :IfcSpaceHeater, :IfcStackTerminal .

:IfcWasteTerminalType
    a owl:Class ;
    rdfs:subClassOf :IfcFlowTerminalType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcWasteTerminalTypeEnum ;
        owl:onProperty :predefinedType_IfcWasteTerminalType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcWasteTerminalTypeEnum ;
        owl:onProperty :predefinedType_IfcWasteTerminalType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] ;
    owl:disjointWith :IfcAirTerminalType, :IfcAudioVisualApplianceType, :IfcCommunicationsApplianceType, :IfcElectricApplianceType, :IfcFireSuppressionTerminalType, :IfcLampType, :IfcLightFixtureType, :IfcMedicalDeviceType, :IfcOutletType, :IfcSanitaryTerminalType, :IfcSpaceHeaterType, :IfcStackTerminalType .

:IfcWasteTerminalTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcWindow
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElement, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :overallHeight_IfcWindow
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcWindowTypeEnum ;
        owl:onProperty :predefinedType_IfcWindow
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :userDefinedPartitioningType_IfcWindow
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcWindowTypePartitioningEnum ;
        owl:onProperty :partitioningType_IfcWindow
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcWindowTypePartitioningEnum ;
        owl:onProperty :partitioningType_IfcWindow
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcWindowTypeEnum ;
        owl:onProperty :predefinedType_IfcWindow
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :overallWidth_IfcWindow
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :userDefinedPartitioningType_IfcWindow
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :overallWidth_IfcWindow
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :overallHeight_IfcWindow
    ] ;
    owl:disjointWith :IfcBeam, :IfcBuildingElementProxy, :IfcChimney, :IfcColumn, :IfcCovering, :IfcCurtainWall, :IfcDoor, :IfcFooting, :IfcMember, :IfcPile, :IfcPlate, :IfcRailing, :IfcRamp, :IfcRampFlight, :IfcRoof, :IfcShadingDevice, :IfcSlab, :IfcStair, :IfcStairFlight, :IfcWall .

:IfcWindowLiningProperties
    a owl:Class ;
    rdfs:subClassOf :IfcPreDefinedPropertySet, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNonNegativeLengthMeasure ;
        owl:onProperty :transomThickness_IfcWindowLiningProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNonNegativeLengthMeasure ;
        owl:onProperty :transomThickness_IfcWindowLiningProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :liningOffset_IfcWindowLiningProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNormalisedRatioMeasure ;
        owl:onProperty :firstTransomOffset_IfcWindowLiningProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNormalisedRatioMeasure ;
        owl:onProperty :secondMullionOffset_IfcWindowLiningProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNormalisedRatioMeasure ;
        owl:onProperty :firstMullionOffset_IfcWindowLiningProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :liningDepth_IfcWindowLiningProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNonNegativeLengthMeasure ;
        owl:onProperty :liningThickness_IfcWindowLiningProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :liningToPanelOffsetX_IfcWindowLiningProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNormalisedRatioMeasure ;
        owl:onProperty :firstMullionOffset_IfcWindowLiningProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLengthMeasure ;
        owl:onProperty :liningToPanelOffsetY_IfcWindowLiningProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcShapeAspect ;
        owl:onProperty :shapeAspectStyle_IfcWindowLiningProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNormalisedRatioMeasure ;
        owl:onProperty :secondTransomOffset_IfcWindowLiningProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNonNegativeLengthMeasure ;
        owl:onProperty :liningThickness_IfcWindowLiningProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcShapeAspect ;
        owl:onProperty :shapeAspectStyle_IfcWindowLiningProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNormalisedRatioMeasure ;
        owl:onProperty :secondTransomOffset_IfcWindowLiningProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :liningToPanelOffsetY_IfcWindowLiningProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNormalisedRatioMeasure ;
        owl:onProperty :firstTransomOffset_IfcWindowLiningProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNormalisedRatioMeasure ;
        owl:onProperty :secondMullionOffset_IfcWindowLiningProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :liningOffset_IfcWindowLiningProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNonNegativeLengthMeasure ;
        owl:onProperty :mullionThickness_IfcWindowLiningProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :liningDepth_IfcWindowLiningProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNonNegativeLengthMeasure ;
        owl:onProperty :mullionThickness_IfcWindowLiningProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLengthMeasure ;
        owl:onProperty :liningToPanelOffsetX_IfcWindowLiningProperties
    ] ;
    owl:disjointWith :IfcDoorLiningProperties, :IfcDoorPanelProperties, :IfcPermeableCoveringProperties, :IfcReinforcementDefinitionProperties, :IfcWindowPanelProperties .

:IfcWindowPanelOperationEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcWindowPanelPositionEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcWindowPanelProperties
    a owl:Class ;
    rdfs:subClassOf :IfcPreDefinedPropertySet, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcShapeAspect ;
        owl:onProperty :shapeAspectStyle_IfcWindowPanelProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcWindowPanelPositionEnum ;
        owl:onProperty :panelPosition_IfcWindowPanelProperties
    ], [
        a owl:Restriction ;
        owl:onClass :IfcWindowPanelOperationEnum ;
        owl:onProperty :operationType_IfcWindowPanelProperties ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :frameThickness_IfcWindowPanelProperties
    ], [
        a owl:Restriction ;
        owl:onClass :IfcWindowPanelPositionEnum ;
        owl:onProperty :panelPosition_IfcWindowPanelProperties ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :frameThickness_IfcWindowPanelProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :frameDepth_IfcWindowPanelProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcShapeAspect ;
        owl:onProperty :shapeAspectStyle_IfcWindowPanelProperties
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :frameDepth_IfcWindowPanelProperties
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcWindowPanelOperationEnum ;
        owl:onProperty :operationType_IfcWindowPanelProperties
    ] ;
    owl:disjointWith :IfcDoorLiningProperties, :IfcDoorPanelProperties, :IfcPermeableCoveringProperties, :IfcReinforcementDefinitionProperties, :IfcWindowLiningProperties .

:IfcWindowStandardCase
    a owl:Class ;
    rdfs:subClassOf :IfcWindow .

:IfcWindowStyle
    a owl:Class ;
    rdfs:subClassOf :IfcTypeProduct, [
        a owl:Restriction ;
        owl:onClass :IfcWindowStyleConstructionEnum ;
        owl:onProperty :constructionType_IfcWindowStyle ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcWindowStyleOperationEnum ;
        owl:onProperty :operationType_IfcWindowStyle ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcWindowStyleConstructionEnum ;
        owl:onProperty :constructionType_IfcWindowStyle
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :parameterTakesPrecedence_IfcWindowStyle
    ], [
        a owl:Restriction ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :sizeable_IfcWindowStyle ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :parameterTakesPrecedence_IfcWindowStyle ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :sizeable_IfcWindowStyle
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcWindowStyleOperationEnum ;
        owl:onProperty :operationType_IfcWindowStyle
    ] ;
    owl:disjointWith :IfcDoorStyle, :IfcElementType, :IfcSpatialElementType .

:IfcWindowStyleConstructionEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcWindowStyleOperationEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcWindowType
    a owl:Class ;
    rdfs:subClassOf :IfcBuildingElementType, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcWindowTypeEnum ;
        owl:onProperty :predefinedType_IfcWindowType
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcBoolean ;
        owl:onProperty :parameterTakesPrecedence_IfcWindowType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcBoolean ;
        owl:onProperty :parameterTakesPrecedence_IfcWindowType
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :userDefinedPartitioningType_IfcWindowType
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :userDefinedPartitioningType_IfcWindowType
    ], [
        a owl:Restriction ;
        owl:onClass :IfcWindowTypeEnum ;
        owl:onProperty :predefinedType_IfcWindowType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcWindowTypePartitioningEnum ;
        owl:onProperty :partitioningType_IfcWindowType ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcWindowTypePartitioningEnum ;
        owl:onProperty :partitioningType_IfcWindowType
    ] ;
    owl:disjointWith :IfcBeamType, :IfcBuildingElementProxyType, :IfcChimneyType, :IfcColumnType, :IfcCoveringType, :IfcCurtainWallType, :IfcDoorType, :IfcFootingType, :IfcMemberType, :IfcPileType, :IfcPlateType, :IfcRailingType, :IfcRampFlightType, :IfcRampType, :IfcRoofType, :IfcShadingDeviceType, :IfcSlabType, :IfcStairFlightType, :IfcStairType, :IfcWallType .

:IfcWindowTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcWindowTypePartitioningEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcWorkCalendar
    a owl:Class ;
    rdfs:subClassOf :IfcControl, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcWorkCalendarTypeEnum ;
        owl:onProperty :predefinedType_IfcWorkCalendar
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcWorkCalendarTypeEnum ;
        owl:onProperty :predefinedType_IfcWorkCalendar
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcWorkTime ;
        owl:onProperty :exceptionTimes_IfcWorkCalendar
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcWorkTime ;
        owl:onProperty :workingTimes_IfcWorkCalendar
    ] ;
    owl:disjointWith :IfcActionRequest, :IfcCostItem, :IfcCostSchedule, :IfcPerformanceHistory, :IfcPermit, :IfcProjectOrder, :IfcWorkControl .

:IfcWorkCalendarTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcWorkControl
    a owl:Class ;
    rdfs:subClassOf :IfcControl, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPerson ;
        owl:onProperty :creators_IfcWorkControl
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :creationDate_IfcWorkControl ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :purpose_IfcWorkControl
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDuration ;
        owl:onProperty :duration_IfcWorkControl
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDuration ;
        owl:onProperty :totalFloat_IfcWorkControl
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :creationDate_IfcWorkControl
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :finishTime_IfcWorkControl
    ], [
        a owl:Restriction ;
        owl:onClass :IfcDateTime ;
        owl:onProperty :startTime_IfcWorkControl ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :startTime_IfcWorkControl
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDuration ;
        owl:onProperty :duration_IfcWorkControl
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :purpose_IfcWorkControl
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDateTime ;
        owl:onProperty :finishTime_IfcWorkControl
    ], [
        a owl:Class ;
        owl:unionOf (:IfcWorkPlan
            :IfcWorkSchedule
        )
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDuration ;
        owl:onProperty :totalFloat_IfcWorkControl
    ] ;
    owl:disjointWith :IfcActionRequest, :IfcCostItem, :IfcCostSchedule, :IfcPerformanceHistory, :IfcPermit, :IfcProjectOrder, :IfcWorkCalendar .

:IfcWorkPlan
    a owl:Class ;
    rdfs:subClassOf :IfcWorkControl, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcWorkPlanTypeEnum ;
        owl:onProperty :predefinedType_IfcWorkPlan
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcWorkPlanTypeEnum ;
        owl:onProperty :predefinedType_IfcWorkPlan
    ] ;
    owl:disjointWith :IfcWorkSchedule .

:IfcWorkPlanTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcWorkSchedule
    a owl:Class ;
    rdfs:subClassOf :IfcWorkControl, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcWorkScheduleTypeEnum ;
        owl:onProperty :predefinedType_IfcWorkSchedule
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcWorkScheduleTypeEnum ;
        owl:onProperty :predefinedType_IfcWorkSchedule
    ] ;
    owl:disjointWith :IfcWorkPlan .

:IfcWorkScheduleTypeEnum
    a owl:Class ;
    rdfs:subClassOf expr:ENUMERATION .

:IfcWorkTime
    a owl:Class ;
    rdfs:subClassOf :IfcSchedulingTime, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDate ;
        owl:onProperty :start_IfcWorkTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcRecurrencePattern ;
        owl:onProperty :recurrencePattern_IfcWorkTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcDate ;
        owl:onProperty :finish_IfcWorkTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDate ;
        owl:onProperty :finish_IfcWorkTime
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcRecurrencePattern ;
        owl:onProperty :recurrencePattern_IfcWorkTime
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcDate ;
        owl:onProperty :start_IfcWorkTime
    ] ;
    owl:disjointWith :IfcEventTime, :IfcLagTime, :IfcResourceTime, :IfcTaskTime .

:IfcZShapeProfileDef
    a owl:Class ;
    rdfs:subClassOf :IfcParameterizedProfileDef, [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNonNegativeLengthMeasure ;
        owl:onProperty :edgeRadius_IfcZShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNonNegativeLengthMeasure ;
        owl:onProperty :filletRadius_IfcZShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :flangeWidth_IfcZShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :flangeThickness_IfcZShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :webThickness_IfcZShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcNonNegativeLengthMeasure ;
        owl:onProperty :filletRadius_IfcZShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :flangeThickness_IfcZShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :flangeWidth_IfcZShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:onClass :IfcPositiveLengthMeasure ;
        owl:onProperty :depth_IfcZShapeProfileDef ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :depth_IfcZShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcNonNegativeLengthMeasure ;
        owl:onProperty :edgeRadius_IfcZShapeProfileDef
    ], [
        a owl:Restriction ;
        owl:allValuesFrom :IfcPositiveLengthMeasure ;
        owl:onProperty :webThickness_IfcZShapeProfileDef
    ] ;
    owl:disjointWith :IfcAsymmetricIShapeProfileDef, :IfcCShapeProfileDef, :IfcCircleProfileDef, :IfcEllipseProfileDef, :IfcIShapeProfileDef, :IfcLShapeProfileDef, :IfcRectangleProfileDef, :IfcTShapeProfileDef, :IfcTrapeziumProfileDef, :IfcUShapeProfileDef .

:IfcZone
    a owl:Class ;
    rdfs:subClassOf :IfcSystem, [
        a owl:Restriction ;
        owl:allValuesFrom :IfcLabel ;
        owl:onProperty :longName_IfcZone
    ], [
        a owl:Restriction ;
        owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
        owl:onClass :IfcLabel ;
        owl:onProperty :longName_IfcZone
    ] ;
    owl:disjointWith :IfcBuildingSystem, :IfcDistributionSystem, :IfcStructuralAnalysisModel .

:JALOUSIE
    a owl:NamedIndividual, :IfcShadingDeviceTypeEnum ;
    rdfs:label "JALOUSIE" .

:JETGROUTING
    a owl:NamedIndividual, :IfcPileTypeEnum ;
    rdfs:label "JETGROUTING" .

:JOIST
    a owl:NamedIndividual, :IfcBeamTypeEnum ;
    rdfs:label "JOIST" .

:JOULE
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "JOULE" .

:JUNCTION
    a owl:NamedIndividual, :IfcCableFittingTypeEnum, :IfcDuctFittingTypeEnum, :IfcPipeFittingTypeEnum ;
    rdfs:label "JUNCTION" .

:KELVIN
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "KELVIN" .

:KEYPAD
    a owl:NamedIndividual, :IfcSwitchingDeviceTypeEnum ;
    rdfs:label "KEYPAD" .

:KILO
    a owl:NamedIndividual, :IfcSIPrefix ;
    rdfs:label "KILO" .

:KINEMATICVISCOSITYUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "KINEMATICVISCOSITYUNIT" .

:KITCHENMACHINE
    a owl:NamedIndividual, :IfcElectricApplianceTypeEnum ;
    rdfs:label "KITCHENMACHINE" .

:LACK_OF_FIT
    a owl:NamedIndividual, :IfcActionSourceTypeEnum ;
    rdfs:label "LACK_OF_FIT" .

:LANDING
    a owl:NamedIndividual, :IfcSlabTypeEnum ;
    rdfs:label "LANDING" .

:LANDSCAPING
    a owl:NamedIndividual, :IfcLaborResourceTypeEnum ;
    rdfs:label "LANDSCAPING" .

:LED
    a owl:NamedIndividual, :IfcLampTypeEnum ;
    rdfs:label "LED" .

:LEFT
    a owl:NamedIndividual, :IfcDoorPanelPositionEnum, :IfcTextPath, :IfcWindowPanelPositionEnum ;
    rdfs:label "LEFT" .

:LENGTHUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "LENGTHUNIT" .

:LESSEE
    a owl:NamedIndividual, :IfcOccupantTypeEnum ;
    rdfs:label "LESSEE" .

:LESSOR
    a owl:NamedIndividual, :IfcOccupantTypeEnum ;
    rdfs:label "LESSOR" .

:LESSTHAN
    a owl:NamedIndividual, :IfcBenchmarkEnum ;
    rdfs:label "LESSTHAN" .

:LESSTHANOREQUALTO
    a owl:NamedIndividual, :IfcBenchmarkEnum ;
    rdfs:label "LESSTHANOREQUALTO" .

:LETTINGAGENT
    a owl:NamedIndividual, :IfcOccupantTypeEnum ;
    rdfs:label "LETTINGAGENT" .

:LEVELSENSOR
    a owl:NamedIndividual, :IfcSensorTypeEnum ;
    rdfs:label "LEVELSENSOR" .

:LIFTINGGEAR
    a owl:NamedIndividual, :IfcTransportElementTypeEnum ;
    rdfs:label "LIFTINGGEAR" .

:LIGATURE
    a owl:NamedIndividual, :IfcReinforcingBarRoleEnum, :IfcReinforcingBarTypeEnum ;
    rdfs:label "LIGATURE" .

:LIGHT
    a owl:NamedIndividual, :IfcAlarmTypeEnum ;
    rdfs:label "LIGHT" .

:LIGHTDOME
    a owl:NamedIndividual, :IfcWindowTypeEnum ;
    rdfs:label "LIGHTDOME" .

:LIGHTEMITTINGDIODE
    a owl:NamedIndividual, :IfcLightEmissionSourceEnum ;
    rdfs:label "LIGHTEMITTINGDIODE" .

:LIGHTING
    a owl:NamedIndividual, :IfcConstructionEquipmentResourceTypeEnum, :IfcDistributionSystemEnum, :IfcSpatialZoneTypeEnum ;
    rdfs:label "LIGHTING" .

:LIGHTNINGPROTECTION
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "LIGHTNINGPROTECTION" .

:LIGHTSENSOR
    a owl:NamedIndividual, :IfcSensorTypeEnum ;
    rdfs:label "LIGHTSENSOR" .

:LINEAR
    a owl:NamedIndividual, :IfcCurveInterpolationEnum, :IfcStructuralCurveActivityTypeEnum ;
    rdfs:label "LINEAR" .

:LINEARFORCEUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "LINEARFORCEUNIT" .

:LINEARMOMENTUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "LINEARMOMENTUNIT" .

:LINEARSTIFFNESSUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "LINEARSTIFFNESSUNIT" .

:LINEARVELOCITYUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "LINEARVELOCITYUNIT" .

:LINTEL
    a owl:NamedIndividual, :IfcBeamTypeEnum ;
    rdfs:label "LINTEL" .

:LIVE_LOAD_Q
    a owl:NamedIndividual, :IfcActionSourceTypeEnum ;
    rdfs:label "LIVE_LOAD_Q" .

:LOADBEARING
    a owl:NamedIndividual, :IfcBuildingSystemTypeEnum ;
    rdfs:label "LOADBEARING" .

:LOADING_3D
    a owl:NamedIndividual, :IfcAnalysisModelTypeEnum ;
    rdfs:label "LOADING_3D" .

:LOAD_CASE
    a owl:NamedIndividual, :IfcLoadGroupTypeEnum ;
    rdfs:label "LOAD_CASE" .

:LOAD_COMBINATION
    a owl:NamedIndividual, :IfcLoadGroupTypeEnum ;
    rdfs:label "LOAD_COMBINATION" .

:LOAD_GROUP
    a owl:NamedIndividual, :IfcLoadGroupTypeEnum ;
    rdfs:label "LOAD_GROUP" .

:LOCAL_COORDS
    a owl:NamedIndividual, :IfcGlobalOrLocalEnum ;
    rdfs:label "LOCAL_COORDS" .

:LOCKED
    a owl:NamedIndividual, :IfcStateEnum ;
    rdfs:label "LOCKED" .

:LOGICALAND
    a owl:NamedIndividual, :IfcLogicalOperatorEnum ;
    rdfs:label "LOGICALAND" .

:LOGICALNOTAND
    a owl:NamedIndividual, :IfcLogicalOperatorEnum ;
    rdfs:label "LOGICALNOTAND" .

:LOGICALNOTOR
    a owl:NamedIndividual, :IfcLogicalOperatorEnum ;
    rdfs:label "LOGICALNOTOR" .

:LOGICALOR
    a owl:NamedIndividual, :IfcLogicalOperatorEnum ;
    rdfs:label "LOGICALOR" .

:LOGICALXOR
    a owl:NamedIndividual, :IfcLogicalOperatorEnum ;
    rdfs:label "LOGICALXOR" .

:LOGISTIC
    a owl:NamedIndividual, :IfcTaskTypeEnum ;
    rdfs:label "LOGISTIC" .

:LOG_LINEAR
    a owl:NamedIndividual, :IfcCurveInterpolationEnum ;
    rdfs:label "LOG_LINEAR" .

:LOG_LOG
    a owl:NamedIndividual, :IfcCurveInterpolationEnum ;
    rdfs:label "LOG_LOG" .

:LOUVER
    a owl:NamedIndividual, :IfcPermeableCoveringOperationEnum ;
    rdfs:label "LOUVER" .

:LOUVRE
    a owl:NamedIndividual, :IfcAirTerminalTypeEnum ;
    rdfs:label "LOUVRE" .

:LOWPRESSURESODIUM
    a owl:NamedIndividual, :IfcLightEmissionSourceEnum ;
    rdfs:label "LOWPRESSURESODIUM" .

:LOWVOLTAGEHALOGEN
    a owl:NamedIndividual, :IfcLightEmissionSourceEnum ;
    rdfs:label "LOWVOLTAGEHALOGEN" .

:LUMEN
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "LUMEN" .

:LUMINOUSFLUXUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "LUMINOUSFLUXUNIT" .

:LUMINOUSINTENSITYDISTRIBUTIONUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "LUMINOUSINTENSITYDISTRIBUTIONUNIT" .

:LUMINOUSINTENSITYUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "LUMINOUSINTENSITYUNIT" .

:LUX
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "LUX" .

:MAGNETICFLUXDENSITYUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "MAGNETICFLUXDENSITYUNIT" .

:MAGNETICFLUXUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "MAGNETICFLUXUNIT" .

:MAIN
    a owl:NamedIndividual, :IfcReinforcingBarRoleEnum, :IfcReinforcingBarTypeEnum ;
    rdfs:label "MAIN" .

:MAINTENANCE
    a owl:NamedIndividual, :IfcTaskTypeEnum ;
    rdfs:label "MAINTENANCE" .

:MAINTENANCEWORKORDER
    a owl:NamedIndividual, :IfcProjectOrderTypeEnum ;
    rdfs:label "MAINTENANCEWORKORDER" .

:MAINVOLTAGEHALOGEN
    a owl:NamedIndividual, :IfcLightEmissionSourceEnum ;
    rdfs:label "MAINVOLTAGEHALOGEN" .

:MANHOLE
    a owl:NamedIndividual, :IfcDistributionChamberElementTypeEnum ;
    rdfs:label "MANHOLE" .

:MANSARD_ROOF
    a owl:NamedIndividual, :IfcRoofTypeEnum ;
    rdfs:label "MANSARD_ROOF" .

:MANUALPULLBOX
    a owl:NamedIndividual, :IfcAlarmTypeEnum ;
    rdfs:label "MANUALPULLBOX" .

:MANUFACTURER
    a owl:NamedIndividual, :IfcRoleEnum ;
    rdfs:label "MANUFACTURER" .

:MARK
    a owl:NamedIndividual, :IfcSurfaceFeatureTypeEnum ;
    rdfs:label "MARK" .

:MASONRY
    a owl:NamedIndividual, :IfcConstructionMaterialResourceTypeEnum, :IfcLaborResourceTypeEnum ;
    rdfs:label "MASONRY" .

:MASSDENSITYUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "MASSDENSITYUNIT" .

:MASSFLOWRATEUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "MASSFLOWRATEUNIT" .

:MASSPERLENGTHUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "MASSPERLENGTHUNIT" .

:MASSUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "MASSUNIT" .

:MATT
    a owl:NamedIndividual, :IfcReflectanceMethodEnum ;
    rdfs:label "MATT" .

:MEASURED
    a owl:NamedIndividual, :IfcDataOriginEnum ;
    rdfs:label "MEASURED" .

:MECHANICALENGINEER
    a owl:NamedIndividual, :IfcRoleEnum ;
    rdfs:label "MECHANICALENGINEER" .

:MECHANICALFORCEDDRAFT
    a owl:NamedIndividual, :IfcCoolingTowerTypeEnum ;
    rdfs:label "MECHANICALFORCEDDRAFT" .

:MECHANICALINDUCEDDRAFT
    a owl:NamedIndividual, :IfcCoolingTowerTypeEnum ;
    rdfs:label "MECHANICALINDUCEDDRAFT" .

:MEGA
    a owl:NamedIndividual, :IfcSIPrefix ;
    rdfs:label "MEGA" .

:MEMBER
    a owl:NamedIndividual, :IfcMemberTypeEnum ;
    rdfs:label "MEMBER" .

:MEMBRANE
    a owl:NamedIndividual, :IfcCoveringTypeEnum ;
    rdfs:label "MEMBRANE" .

:MEMBRANE_ELEMENT
    a owl:NamedIndividual, :IfcStructuralSurfaceMemberTypeEnum ;
    rdfs:label "MEMBRANE_ELEMENT" .

:MERGECONFLICT
    a owl:NamedIndividual, :IfcObjectiveEnum ;
    rdfs:label "MERGECONFLICT" .

:METAL
    a owl:NamedIndividual, :IfcConstructionMaterialResourceTypeEnum, :IfcReflectanceMethodEnum ;
    rdfs:label "METAL" .

:METALHALIDE
    a owl:NamedIndividual, :IfcLampTypeEnum, :IfcLightEmissionSourceEnum ;
    rdfs:label "METALHALIDE" .

:METERCHAMBER
    a owl:NamedIndividual, :IfcDistributionChamberElementTypeEnum ;
    rdfs:label "METERCHAMBER" .

:METRE
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "METRE" .

:MICRO
    a owl:NamedIndividual, :IfcSIPrefix ;
    rdfs:label "MICRO" .

:MICROPHONE
    a owl:NamedIndividual, :IfcAudioVisualApplianceTypeEnum ;
    rdfs:label "MICROPHONE" .

:MICROWAVE
    a owl:NamedIndividual, :IfcElectricApplianceTypeEnum ;
    rdfs:label "MICROWAVE" .

:MIDDLE
    a owl:NamedIndividual, :IfcDoorPanelPositionEnum, :IfcWindowPanelPositionEnum ;
    rdfs:label "MIDDLE" .

:MILLI
    a owl:NamedIndividual, :IfcSIPrefix ;
    rdfs:label "MILLI" .

:MIMICPANEL
    a owl:NamedIndividual, :IfcUnitaryControlElementTypeEnum ;
    rdfs:label "MIMICPANEL" .

:MIRROR
    a owl:NamedIndividual, :IfcReflectanceMethodEnum ;
    rdfs:label "MIRROR" .

:MITER
    a owl:NamedIndividual, :IfcVoidingFeatureTypeEnum ;
    rdfs:label "MITER" .

:MIXING
    a owl:NamedIndividual, :IfcValveTypeEnum ;
    rdfs:label "MIXING" .

:MODELVIEW
    a owl:NamedIndividual, :IfcObjectiveEnum ;
    rdfs:label "MODELVIEW" .

:MODEL_VIEW
    a owl:NamedIndividual, :IfcGeometricProjectionEnum ;
    rdfs:label "MODEL_VIEW" .

:MODEM
    a owl:NamedIndividual, :IfcCommunicationsApplianceTypeEnum ;
    rdfs:label "MODEM" .

:MODIFIED
    a owl:NamedIndividual, :IfcChangeActionEnum ;
    rdfs:label "MODIFIED" .

:MODULUSOFELASTICITYUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "MODULUSOFELASTICITYUNIT" .

:MODULUSOFLINEARSUBGRADEREACTIONUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "MODULUSOFLINEARSUBGRADEREACTIONUNIT" .

:MODULUSOFROTATIONALSUBGRADEREACTIONUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "MODULUSOFROTATIONALSUBGRADEREACTIONUNIT" .

:MODULUSOFSUBGRADEREACTIONUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "MODULUSOFSUBGRADEREACTIONUNIT" .

:MOISTUREDIFFUSIVITYUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "MOISTUREDIFFUSIVITYUNIT" .

:MOISTURESENSOR
    a owl:NamedIndividual, :IfcSensorTypeEnum ;
    rdfs:label "MOISTURESENSOR" .

:MOLDING
    a owl:NamedIndividual, :IfcCoveringTypeEnum ;
    rdfs:label "MOLDING" .

:MOLE
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "MOLE" .

:MOLECULARWEIGHTUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "MOLECULARWEIGHTUNIT" .

:MOMENTARYSWITCH
    a owl:NamedIndividual, :IfcSwitchingDeviceTypeEnum ;
    rdfs:label "MOMENTARYSWITCH" .

:MOMENTOFINERTIAUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "MOMENTOFINERTIAUNIT" .

:MONTHLY_BY_DAY_OF_MONTH
    a owl:NamedIndividual, :IfcRecurrenceTypeEnum ;
    rdfs:label "MONTHLY_BY_DAY_OF_MONTH" .

:MONTHLY_BY_POSITION
    a owl:NamedIndividual, :IfcRecurrenceTypeEnum ;
    rdfs:label "MONTHLY_BY_POSITION" .

:MORTAR
    a owl:NamedIndividual, :IfcFastenerTypeEnum ;
    rdfs:label "MORTAR" .

:MOTORCONTROLCENTRE
    a owl:NamedIndividual, :IfcElectricDistributionBoardTypeEnum ;
    rdfs:label "MOTORCONTROLCENTRE" .

:MOVABLE
    a owl:NamedIndividual, :IfcWallTypeEnum ;
    rdfs:label "MOVABLE" .

:MOVE
    a owl:NamedIndividual, :IfcTaskTypeEnum ;
    rdfs:label "MOVE" .

:MOVEMENTSENSOR
    a owl:NamedIndividual, :IfcSensorTypeEnum ;
    rdfs:label "MOVEMENTSENSOR" .

:MOVEORDER
    a owl:NamedIndividual, :IfcProjectOrderTypeEnum ;
    rdfs:label "MOVEORDER" .

:MOVINGWALKWAY
    a owl:NamedIndividual, :IfcTransportElementTypeEnum ;
    rdfs:label "MOVINGWALKWAY" .

:MULLION
    a owl:NamedIndividual, :IfcMemberTypeEnum ;
    rdfs:label "MULLION" .

:MULTIPLY
    a owl:NamedIndividual, :IfcArithmeticOperatorEnum ;
    rdfs:label "MULTIPLY" .

:MULTIPOSITION
    a owl:NamedIndividual, :IfcControllerTypeEnum ;
    rdfs:label "MULTIPOSITION" .

:MUNICIPALSOLIDWASTE
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "MUNICIPALSOLIDWASTE" .

:NAIL
    a owl:NamedIndividual, :IfcMechanicalFastenerTypeEnum ;
    rdfs:label "NAIL" .

:NAILPLATE
    a owl:NamedIndividual, :IfcMechanicalFastenerTypeEnum ;
    rdfs:label "NAILPLATE" .

:NANO
    a owl:NamedIndividual, :IfcSIPrefix ;
    rdfs:label "NANO" .

:NATURALDRAFT
    a owl:NamedIndividual, :IfcCoolingTowerTypeEnum ;
    rdfs:label "NATURALDRAFT" .

:NEGATIVE
    a owl:NamedIndividual, :IfcDirectionSenseEnum, :IfcSurfaceSide ;
    rdfs:label "NEGATIVE" .

:NETWORKAPPLIANCE
    a owl:NamedIndividual, :IfcCommunicationsApplianceTypeEnum ;
    rdfs:label "NETWORKAPPLIANCE" .

:NETWORKBRIDGE
    a owl:NamedIndividual, :IfcCommunicationsApplianceTypeEnum ;
    rdfs:label "NETWORKBRIDGE" .

:NETWORKHUB
    a owl:NamedIndividual, :IfcCommunicationsApplianceTypeEnum ;
    rdfs:label "NETWORKHUB" .

:NEWTON
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "NEWTON" .

:NOCHANGE
    a owl:NamedIndividual, :IfcChangeActionEnum ;
    rdfs:label "NOCHANGE" .

:NOTCH
    a owl:NamedIndividual, :IfcVoidingFeatureTypeEnum ;
    rdfs:label "NOTCH" .

:NOTDEFIEND
    a owl:NamedIndividual, :IfcExternalSpatialElementTypeEnum ;
    rdfs:label "NOTDEFIEND" .

:NOTDEFINED
    a owl:NamedIndividual, :IfcActionRequestTypeEnum, :IfcActionSourceTypeEnum, :IfcActionTypeEnum, :IfcActuatorTypeEnum, :IfcAirTerminalBoxTypeEnum, :IfcAirTerminalTypeEnum, :IfcAirToAirHeatRecoveryTypeEnum, :IfcAlarmTypeEnum, :IfcAnalysisModelTypeEnum, :IfcAnalysisTheoryTypeEnum, :IfcAssemblyPlaceEnum, :IfcAudioVisualApplianceTypeEnum, :IfcBeamTypeEnum, :IfcBoilerTypeEnum, :IfcBuildingElementPartTypeEnum, :IfcBuildingElementProxyTypeEnum, :IfcBuildingSystemTypeEnum, :IfcBurnerTypeEnum, :IfcCableCarrierFittingTypeEnum, :IfcCableCarrierSegmentTypeEnum, :IfcCableFittingTypeEnum, :IfcCableSegmentTypeEnum, :IfcChangeActionEnum, :IfcChillerTypeEnum, :IfcChimneyTypeEnum, :IfcCoilTypeEnum, :IfcColumnTypeEnum, :IfcCommunicationsApplianceTypeEnum, :IfcCompressorTypeEnum, :IfcCondenserTypeEnum, :IfcConnectionTypeEnum, :IfcConstraintEnum, :IfcConstructionEquipmentResourceTypeEnum, :IfcConstructionMaterialResourceTypeEnum, :IfcConstructionProductResourceTypeEnum, :IfcControllerTypeEnum, :IfcCooledBeamTypeEnum, :IfcCoolingTowerTypeEnum, :IfcCostItemTypeEnum, :IfcCostScheduleTypeEnum, :IfcCoveringTypeEnum, :IfcCrewResourceTypeEnum, :IfcCurtainWallTypeEnum, :IfcCurveInterpolationEnum, :IfcDamperTypeEnum, :IfcDataOriginEnum, :IfcDiscreteAccessoryTypeEnum, :IfcDistributionChamberElementTypeEnum, :IfcDistributionPortTypeEnum, :IfcDistributionSystemEnum, :IfcDocumentConfidentialityEnum, :IfcDocumentStatusEnum, :IfcDoorPanelOperationEnum, :IfcDoorPanelPositionEnum, :IfcDoorStyleConstructionEnum, :IfcDoorStyleOperationEnum, :IfcDoorTypeEnum, :IfcDoorTypeOperationEnum, :IfcDuctFittingTypeEnum, :IfcDuctSegmentTypeEnum, :IfcDuctSilencerTypeEnum, :IfcElectricApplianceTypeEnum, :IfcElectricDistributionBoardTypeEnum, :IfcElectricFlowStorageDeviceTypeEnum, :IfcElectricGeneratorTypeEnum, :IfcElectricMotorTypeEnum, :IfcElectricTimeControlTypeEnum, :IfcElementAssemblyTypeEnum, :IfcEngineTypeEnum, :IfcEvaporativeCoolerTypeEnum, :IfcEvaporatorTypeEnum, :IfcEventTriggerTypeEnum, :IfcEventTypeEnum, :IfcFanTypeEnum, :IfcFastenerTypeEnum, :IfcFilterTypeEnum, :IfcFireSuppressionTerminalTypeEnum, :IfcFlowDirectionEnum, :IfcFlowInstrumentTypeEnum, :IfcFlowMeterTypeEnum, :IfcFootingTypeEnum, :IfcFurnitureTypeEnum, :IfcGeographicElementTypeEnum, :IfcGeometricProjectionEnum, :IfcGridTypeEnum, :IfcHeatExchangerTypeEnum, :IfcHumidifierTypeEnum, :IfcInterceptorTypeEnum, :IfcInternalOrExternalEnum, :IfcInventoryTypeEnum, :IfcJunctionBoxTypeEnum, :IfcLaborResourceTypeEnum, :IfcLampTypeEnum, :IfcLightDistributionCurveEnum, :IfcLightEmissionSourceEnum, :IfcLightFixtureTypeEnum, :IfcLoadGroupTypeEnum, :IfcMechanicalFastenerTypeEnum, :IfcMedicalDeviceTypeEnum, :IfcMemberTypeEnum, :IfcMotorConnectionTypeEnum, :IfcObjectTypeEnum, :IfcObjectiveEnum, :IfcOccupantTypeEnum, :IfcOpeningElementTypeEnum, :IfcOutletTypeEnum, :IfcPerformanceHistoryTypeEnum, :IfcPermeableCoveringOperationEnum, :IfcPermitTypeEnum, :IfcPhysicalOrVirtualEnum, :IfcPileConstructionEnum, :IfcPileTypeEnum, :IfcPipeFittingTypeEnum, :IfcPipeSegmentTypeEnum, :IfcPlateTypeEnum, :IfcProcedureTypeEnum, :IfcProjectOrderTypeEnum, :IfcProjectionElementTypeEnum, :IfcPropertySetTemplateTypeEnum, :IfcProtectiveDeviceTrippingUnitTypeEnum, :IfcProtectiveDeviceTypeEnum, :IfcPumpTypeEnum, :IfcRailingTypeEnum, :IfcRampFlightTypeEnum, :IfcRampTypeEnum, :IfcReflectanceMethodEnum, :IfcReinforcingBarRoleEnum, :IfcReinforcingBarTypeEnum, :IfcReinforcingMeshTypeEnum, :IfcRoofTypeEnum, :IfcSanitaryTerminalTypeEnum, :IfcSensorTypeEnum, :IfcSequenceEnum, :IfcShadingDeviceTypeEnum, :IfcSlabTypeEnum, :IfcSolarDeviceTypeEnum, :IfcSpaceHeaterTypeEnum, :IfcSpaceTypeEnum, :IfcSpatialZoneTypeEnum, :IfcStackTerminalTypeEnum, :IfcStairFlightTypeEnum, :IfcStairTypeEnum, :IfcStructuralCurveActivityTypeEnum, :IfcStructuralCurveMemberTypeEnum, :IfcStructuralSurfaceActivityTypeEnum, :IfcStructuralSurfaceMemberTypeEnum, :IfcSubContractResourceTypeEnum, :IfcSurfaceFeatureTypeEnum, :IfcSwitchingDeviceTypeEnum, :IfcSystemFurnitureElementTypeEnum, :IfcTankTypeEnum, :IfcTaskDurationEnum, :IfcTaskTypeEnum, :IfcTendonAnchorTypeEnum, :IfcTendonTypeEnum, :IfcTimeSeriesDataTypeEnum, :IfcTransformerTypeEnum, :IfcTransportElementTypeEnum, :IfcTubeBundleTypeEnum, :IfcUnitaryControlElementTypeEnum, :IfcUnitaryEquipmentTypeEnum, :IfcValveTypeEnum, :IfcVibrationIsolatorTypeEnum, :IfcVoidingFeatureTypeEnum, :IfcWallTypeEnum, :IfcWasteTerminalTypeEnum, :IfcWindowPanelOperationEnum, :IfcWindowPanelPositionEnum, :IfcWindowStyleConstructionEnum, :IfcWindowStyleOperationEnum, :IfcWindowTypeEnum, :IfcWindowTypePartitioningEnum, :IfcWorkCalendarTypeEnum, :IfcWorkPlanTypeEnum, :IfcWorkScheduleTypeEnum ;
    rdfs:label "NOTDEFINED" .

:NOTEQUALTO
    a owl:NamedIndividual, :IfcBenchmarkEnum ;
    rdfs:label "NOTEQUALTO" .

:NOTINCLUDEDIN
    a owl:NamedIndividual, :IfcBenchmarkEnum ;
    rdfs:label "NOTINCLUDEDIN" .

:NOTINCLUDES
    a owl:NamedIndividual, :IfcBenchmarkEnum ;
    rdfs:label "NOTINCLUDES" .

:NULL
    a owl:NamedIndividual, :IfcNullStyle ;
    rdfs:label "NULL" .

:OBSTRUCTION
    a owl:NamedIndividual, :IfcDuctFittingTypeEnum, :IfcPipeFittingTypeEnum ;
    rdfs:label "OBSTRUCTION" .

:OCCUPANCY
    a owl:NamedIndividual, :IfcSpatialZoneTypeEnum ;
    rdfs:label "OCCUPANCY" .

:ODORFILTER
    a owl:NamedIndividual, :IfcFilterTypeEnum ;
    rdfs:label "ODORFILTER" .

:OFFICE
    a owl:NamedIndividual, :IfcAddressTypeEnum, :IfcCrewResourceTypeEnum ;
    rdfs:label "OFFICE" .

:OHM
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "OHM" .

:OIL
    a owl:NamedIndividual, :IfcDistributionSystemEnum, :IfcInterceptorTypeEnum ;
    rdfs:label "OIL" .

:OILFILTER
    a owl:NamedIndividual, :IfcFilterTypeEnum ;
    rdfs:label "OILFILTER" .

:OILMETER
    a owl:NamedIndividual, :IfcFlowMeterTypeEnum ;
    rdfs:label "OILMETER" .

:OLED
    a owl:NamedIndividual, :IfcLampTypeEnum ;
    rdfs:label "OLED" .

:OPENING
    a owl:NamedIndividual, :IfcOpeningElementTypeEnum ;
    rdfs:label "OPENING" .

:OPENTYPE
    a owl:NamedIndividual, :IfcCompressorTypeEnum ;
    rdfs:label "OPENTYPE" .

:OPERATION
    a owl:NamedIndividual, :IfcTaskTypeEnum ;
    rdfs:label "OPERATION" .

:OPERATIONAL
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "OPERATIONAL" .

:OTHEROPERATION
    a owl:NamedIndividual, :IfcWindowPanelOperationEnum ;
    rdfs:label "OTHEROPERATION" .

:OTHER_CONSTRUCTION
    a owl:NamedIndividual, :IfcWindowStyleConstructionEnum ;
    rdfs:label "OTHER_CONSTRUCTION" .

:OUTERSHELL
    a owl:NamedIndividual, :IfcBuildingSystemTypeEnum ;
    rdfs:label "OUTERSHELL" .

:OUT_PLANE_LOADING_2D
    a owl:NamedIndividual, :IfcAnalysisModelTypeEnum ;
    rdfs:label "OUT_PLANE_LOADING_2D" .

:OWNER
    a owl:NamedIndividual, :IfcOccupantTypeEnum, :IfcRoleEnum ;
    rdfs:label "OWNER" .

:OXYGENGENERATOR
    a owl:NamedIndividual, :IfcMedicalDeviceTypeEnum ;
    rdfs:label "OXYGENGENERATOR" .

:OXYGENPLANT
    a owl:NamedIndividual, :IfcMedicalDeviceTypeEnum ;
    rdfs:label "OXYGENPLANT" .

:PAD_FOOTING
    a owl:NamedIndividual, :IfcFootingTypeEnum ;
    rdfs:label "PAD_FOOTING" .

:PAINTING
    a owl:NamedIndividual, :IfcLaborResourceTypeEnum ;
    rdfs:label "PAINTING" .

:PANEL
    a owl:NamedIndividual, :IfcSystemFurnitureElementTypeEnum ;
    rdfs:label "PANEL" .

:PARABOLA
    a owl:NamedIndividual, :IfcStructuralCurveActivityTypeEnum ;
    rdfs:label "PARABOLA" .

:PARABOLIC_ARC
    a owl:NamedIndividual, :IfcBSplineCurveForm ;
    rdfs:label "PARABOLIC_ARC" .

:PARAMETER
    a owl:NamedIndividual, :IfcObjectiveEnum, :IfcTrimmingPreference ;
    rdfs:label "PARAMETER" .

:PARAPET
    a owl:NamedIndividual, :IfcWallTypeEnum ;
    rdfs:label "PARAPET" .

:PARKING
    a owl:NamedIndividual, :IfcSpaceTypeEnum ;
    rdfs:label "PARKING" .

:PARTIAL
    a owl:NamedIndividual, :IfcBuildingElementProxyTypeEnum, :IfcElementCompositionEnum ;
    rdfs:label "PARTIAL" .

:PARTITIONING
    a owl:NamedIndividual, :IfcWallTypeEnum ;
    rdfs:label "PARTITIONING" .

:PASCAL
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "PASCAL" .

:PASSIVE
    a owl:NamedIndividual, :IfcCooledBeamTypeEnum ;
    rdfs:label "PASSIVE" .

:PAVILION_ROOF
    a owl:NamedIndividual, :IfcRoofTypeEnum ;
    rdfs:label "PAVILION_ROOF" .

:PAVING
    a owl:NamedIndividual, :IfcConstructionEquipmentResourceTypeEnum, :IfcLaborResourceTypeEnum ;
    rdfs:label "PAVING" .

:PERMANENT_G
    a owl:NamedIndividual, :IfcActionTypeEnum ;
    rdfs:label "PERMANENT_G" .

:PERSONAL
    a owl:NamedIndividual, :IfcDocumentConfidentialityEnum ;
    rdfs:label "PERSONAL" .

:PETA
    a owl:NamedIndividual, :IfcSIPrefix ;
    rdfs:label "PETA" .

:PETROL
    a owl:NamedIndividual, :IfcInterceptorTypeEnum ;
    rdfs:label "PETROL" .

:PHASEANGLEMETER
    a owl:NamedIndividual, :IfcFlowInstrumentTypeEnum ;
    rdfs:label "PHASEANGLEMETER" .

:PHONE
    a owl:NamedIndividual, :IfcActionRequestTypeEnum ;
    rdfs:label "PHONE" .

:PHONG
    a owl:NamedIndividual, :IfcReflectanceMethodEnum ;
    rdfs:label "PHONG" .

:PHOTOCOPIER
    a owl:NamedIndividual, :IfcElectricApplianceTypeEnum ;
    rdfs:label "PHOTOCOPIER" .

:PHSENSOR
    a owl:NamedIndividual, :IfcSensorTypeEnum ;
    rdfs:label "PHSENSOR" .

:PHUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "PHUNIT" .

:PHYSICAL
    a owl:NamedIndividual, :IfcPhysicalOrVirtualEnum ;
    rdfs:label "PHYSICAL" .

:PICO
    a owl:NamedIndividual, :IfcSIPrefix ;
    rdfs:label "PICO" .

:PIECEWISEBINARY
    a owl:NamedIndividual, :IfcTimeSeriesDataTypeEnum ;
    rdfs:label "PIECEWISEBINARY" .

:PIECEWISECONSTANT
    a owl:NamedIndividual, :IfcTimeSeriesDataTypeEnum ;
    rdfs:label "PIECEWISECONSTANT" .

:PIECEWISECONTINUOUS
    a owl:NamedIndividual, :IfcTimeSeriesDataTypeEnum ;
    rdfs:label "PIECEWISECONTINUOUS" .

:PIECEWISE_BEZIER_KNOTS
    a owl:NamedIndividual, :IfcKnotType ;
    rdfs:label "PIECEWISE_BEZIER_KNOTS" .

:PILASTER
    a owl:NamedIndividual, :IfcColumnTypeEnum ;
    rdfs:label "PILASTER" .

:PILE_CAP
    a owl:NamedIndividual, :IfcFootingTypeEnum ;
    rdfs:label "PILE_CAP" .

:PIN_JOINED_MEMBER
    a owl:NamedIndividual, :IfcStructuralCurveMemberTypeEnum ;
    rdfs:label "PIN_JOINED_MEMBER" .

:PIPE
    a owl:NamedIndividual, :IfcDistributionPortTypeEnum ;
    rdfs:label "PIPE" .

:PIVOTHORIZONTAL
    a owl:NamedIndividual, :IfcWindowPanelOperationEnum ;
    rdfs:label "PIVOTHORIZONTAL" .

:PIVOTVERTICAL
    a owl:NamedIndividual, :IfcWindowPanelOperationEnum ;
    rdfs:label "PIVOTVERTICAL" .

:PLAIN
    a owl:NamedIndividual, :IfcReinforcingBarSurfaceEnum ;
    rdfs:label "PLAIN" .

:PLANARFORCEUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "PLANARFORCEUNIT" .

:PLANEANGLEUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "PLANEANGLEUNIT" .

:PLANE_SURF
    a owl:NamedIndividual, :IfcBSplineSurfaceForm ;
    rdfs:label "PLANE_SURF" .

:PLANNED
    a owl:NamedIndividual, :IfcWorkPlanTypeEnum, :IfcWorkScheduleTypeEnum ;
    rdfs:label "PLANNED" .

:PLAN_VIEW
    a owl:NamedIndividual, :IfcGeometricProjectionEnum ;
    rdfs:label "PLAN_VIEW" .

:PLASTIC
    a owl:NamedIndividual, :IfcConstructionMaterialResourceTypeEnum, :IfcDoorStyleConstructionEnum, :IfcReflectanceMethodEnum, :IfcWindowStyleConstructionEnum ;
    rdfs:label "PLASTIC" .

:PLATE
    a owl:NamedIndividual, :IfcHeatExchangerTypeEnum, :IfcMemberTypeEnum ;
    rdfs:label "PLATE" .

:PLAYER
    a owl:NamedIndividual, :IfcAudioVisualApplianceTypeEnum ;
    rdfs:label "PLAYER" .

:PLUMBING
    a owl:NamedIndividual, :IfcLaborResourceTypeEnum ;
    rdfs:label "PLUMBING" .

:PLUMBINGWALL
    a owl:NamedIndividual, :IfcWallTypeEnum ;
    rdfs:label "PLUMBINGWALL" .

:PNEUMATICACTUATOR
    a owl:NamedIndividual, :IfcActuatorTypeEnum ;
    rdfs:label "PNEUMATICACTUATOR" .

:POINTSOURCE
    a owl:NamedIndividual, :IfcLightFixtureTypeEnum ;
    rdfs:label "POINTSOURCE" .

:POLYGONAL
    a owl:NamedIndividual, :IfcStructuralCurveActivityTypeEnum, :IfcWallTypeEnum ;
    rdfs:label "POLYGONAL" .

:POLYLINE_FORM
    a owl:NamedIndividual, :IfcBSplineCurveForm ;
    rdfs:label "POLYLINE_FORM" .

:POLYPHASE
    a owl:NamedIndividual, :IfcElectricMotorTypeEnum ;
    rdfs:label "POLYPHASE" .

:POSITIVE
    a owl:NamedIndividual, :IfcDirectionSenseEnum, :IfcSurfaceSide ;
    rdfs:label "POSITIVE" .

:POST
    a owl:NamedIndividual, :IfcActionRequestTypeEnum, :IfcMemberTypeEnum ;
    rdfs:label "POST" .

:POWER
    a owl:NamedIndividual, :IfcJunctionBoxTypeEnum ;
    rdfs:label "POWER" .

:POWERFACTORMETER
    a owl:NamedIndividual, :IfcFlowInstrumentTypeEnum ;
    rdfs:label "POWERFACTORMETER" .

:POWERGENERATION
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "POWERGENERATION" .

:POWEROUTLET
    a owl:NamedIndividual, :IfcOutletTypeEnum ;
    rdfs:label "POWEROUTLET" .

:POWERUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "POWERUNIT" .

:PRECASTPANEL
    a owl:NamedIndividual, :IfcBuildingElementPartTypeEnum ;
    rdfs:label "PRECASTPANEL" .

:PRECAST_CONCRETE
    a owl:NamedIndividual, :IfcPileConstructionEnum ;
    rdfs:label "PRECAST_CONCRETE" .

:PREDICTED
    a owl:NamedIndividual, :IfcDataOriginEnum ;
    rdfs:label "PREDICTED" .

:PREFAB_STEEL
    a owl:NamedIndividual, :IfcPileConstructionEnum ;
    rdfs:label "PREFAB_STEEL" .

:PRESSUREGAUGE
    a owl:NamedIndividual, :IfcFlowInstrumentTypeEnum ;
    rdfs:label "PRESSUREGAUGE" .

:PRESSUREREDUCING
    a owl:NamedIndividual, :IfcValveTypeEnum ;
    rdfs:label "PRESSUREREDUCING" .

:PRESSURERELIEF
    a owl:NamedIndividual, :IfcValveTypeEnum ;
    rdfs:label "PRESSURERELIEF" .

:PRESSURESENSOR
    a owl:NamedIndividual, :IfcSensorTypeEnum ;
    rdfs:label "PRESSURESENSOR" .

:PRESSUREUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "PRESSUREUNIT" .

:PRESSUREVESSEL
    a owl:NamedIndividual, :IfcTankTypeEnum ;
    rdfs:label "PRESSUREVESSEL" .

:PRESTRESSING_P
    a owl:NamedIndividual, :IfcActionSourceTypeEnum ;
    rdfs:label "PRESTRESSING_P" .

:PRICEDBILLOFQUANTITIES
    a owl:NamedIndividual, :IfcCostScheduleTypeEnum ;
    rdfs:label "PRICEDBILLOFQUANTITIES" .

:PRINTER
    a owl:NamedIndividual, :IfcCommunicationsApplianceTypeEnum ;
    rdfs:label "PRINTER" .

:PROCESS
    a owl:NamedIndividual, :IfcObjectTypeEnum ;
    rdfs:label "PROCESS" .

:PRODUCT
    a owl:NamedIndividual, :IfcObjectTypeEnum ;
    rdfs:label "PRODUCT" .

:PROGRAMMABLE
    a owl:NamedIndividual, :IfcControllerTypeEnum ;
    rdfs:label "PROGRAMMABLE" .

:PROJECT
    a owl:NamedIndividual, :IfcObjectTypeEnum ;
    rdfs:label "PROJECT" .

:PROJECTED_LENGTH
    a owl:NamedIndividual, :IfcProjectedOrTrueLengthEnum ;
    rdfs:label "PROJECTED_LENGTH" .

:PROJECTMANAGER
    a owl:NamedIndividual, :IfcRoleEnum ;
    rdfs:label "PROJECTMANAGER" .

:PROJECTOR
    a owl:NamedIndividual, :IfcAudioVisualApplianceTypeEnum ;
    rdfs:label "PROJECTOR" .

:PROPELLORAXIAL
    a owl:NamedIndividual, :IfcFanTypeEnum ;
    rdfs:label "PROPELLORAXIAL" .

:PROPORTIONAL
    a owl:NamedIndividual, :IfcControllerTypeEnum ;
    rdfs:label "PROPORTIONAL" .

:PROPPING
    a owl:NamedIndividual, :IfcActionSourceTypeEnum ;
    rdfs:label "PROPPING" .

:PROVISIONFORVOID
    a owl:NamedIndividual, :IfcBuildingElementProxyTypeEnum ;
    rdfs:label "PROVISIONFORVOID" .

:PSET_OCCURRENCEDRIVEN
    a owl:NamedIndividual, :IfcPropertySetTemplateTypeEnum ;
    rdfs:label "PSET_OCCURRENCEDRIVEN" .

:PSET_PERFORMANCEDRIVEN
    a owl:NamedIndividual, :IfcPropertySetTemplateTypeEnum ;
    rdfs:label "PSET_PERFORMANCEDRIVEN" .

:PSET_TYPEDRIVENONLY
    a owl:NamedIndividual, :IfcPropertySetTemplateTypeEnum ;
    rdfs:label "PSET_TYPEDRIVENONLY" .

:PSET_TYPEDRIVENOVERRIDE
    a owl:NamedIndividual, :IfcPropertySetTemplateTypeEnum ;
    rdfs:label "PSET_TYPEDRIVENOVERRIDE" .

:PUBLIC
    a owl:NamedIndividual, :IfcDocumentConfidentialityEnum ;
    rdfs:label "PUBLIC" .

:PUMPING
    a owl:NamedIndividual, :IfcConstructionEquipmentResourceTypeEnum ;
    rdfs:label "PUMPING" .

:PUNCHING
    a owl:NamedIndividual, :IfcReinforcingBarRoleEnum, :IfcReinforcingBarTypeEnum ;
    rdfs:label "PUNCHING" .

:PURCHASE
    a owl:NamedIndividual, :IfcSubContractResourceTypeEnum ;
    rdfs:label "PURCHASE" .

:PURCHASEORDER
    a owl:NamedIndividual, :IfcProjectOrderTypeEnum ;
    rdfs:label "PURCHASEORDER" .

:PURLIN
    a owl:NamedIndividual, :IfcMemberTypeEnum ;
    rdfs:label "PURLIN" .

:P_BOUNDEDVALUE
    a owl:NamedIndividual, :IfcSimplePropertyTemplateTypeEnum ;
    rdfs:label "P_BOUNDEDVALUE" .

:P_COMPLEX
    a owl:NamedIndividual, :IfcComplexPropertyTemplateTypeEnum ;
    rdfs:label "P_COMPLEX" .

:P_ENUMERATEDVALUE
    a owl:NamedIndividual, :IfcSimplePropertyTemplateTypeEnum ;
    rdfs:label "P_ENUMERATEDVALUE" .

:P_LISTVALUE
    a owl:NamedIndividual, :IfcSimplePropertyTemplateTypeEnum ;
    rdfs:label "P_LISTVALUE" .

:P_REFERENCEVALUE
    a owl:NamedIndividual, :IfcSimplePropertyTemplateTypeEnum ;
    rdfs:label "P_REFERENCEVALUE" .

:P_SINGLEVALUE
    a owl:NamedIndividual, :IfcSimplePropertyTemplateTypeEnum ;
    rdfs:label "P_SINGLEVALUE" .

:P_TABLEVALUE
    a owl:NamedIndividual, :IfcSimplePropertyTemplateTypeEnum ;
    rdfs:label "P_TABLEVALUE" .

:QTO_OCCURRENCEDRIVEN
    a owl:NamedIndividual, :IfcPropertySetTemplateTypeEnum ;
    rdfs:label "QTO_OCCURRENCEDRIVEN" .

:QTO_TYPEDRIVENONLY
    a owl:NamedIndividual, :IfcPropertySetTemplateTypeEnum ;
    rdfs:label "QTO_TYPEDRIVENONLY" .

:QTO_TYPEDRIVENOVERRIDE
    a owl:NamedIndividual, :IfcPropertySetTemplateTypeEnum ;
    rdfs:label "QTO_TYPEDRIVENOVERRIDE" .

:QUADRIC_SURF
    a owl:NamedIndividual, :IfcBSplineSurfaceForm ;
    rdfs:label "QUADRIC_SURF" .

:QUARTER_TURN_RAMP
    a owl:NamedIndividual, :IfcRampTypeEnum ;
    rdfs:label "QUARTER_TURN_RAMP" .

:QUARTER_TURN_STAIR
    a owl:NamedIndividual, :IfcStairTypeEnum ;
    rdfs:label "QUARTER_TURN_STAIR" .

:QUARTER_WINDING_STAIR
    a owl:NamedIndividual, :IfcStairTypeEnum ;
    rdfs:label "QUARTER_WINDING_STAIR" .

:QUASI_UNIFORM_KNOTS
    a owl:NamedIndividual, :IfcKnotType ;
    rdfs:label "QUASI_UNIFORM_KNOTS" .

:Q_AREA
    a owl:NamedIndividual, :IfcSimplePropertyTemplateTypeEnum ;
    rdfs:label "Q_AREA" .

:Q_COMPLEX
    a owl:NamedIndividual, :IfcComplexPropertyTemplateTypeEnum ;
    rdfs:label "Q_COMPLEX" .

:Q_COUNT
    a owl:NamedIndividual, :IfcSimplePropertyTemplateTypeEnum ;
    rdfs:label "Q_COUNT" .

:Q_LENGTH
    a owl:NamedIndividual, :IfcSimplePropertyTemplateTypeEnum ;
    rdfs:label "Q_LENGTH" .

:Q_TIME
    a owl:NamedIndividual, :IfcSimplePropertyTemplateTypeEnum ;
    rdfs:label "Q_TIME" .

:Q_VOLUME
    a owl:NamedIndividual, :IfcSimplePropertyTemplateTypeEnum ;
    rdfs:label "Q_VOLUME" .

:Q_WEIGHT
    a owl:NamedIndividual, :IfcSimplePropertyTemplateTypeEnum ;
    rdfs:label "Q_WEIGHT" .

:RADIAL
    a owl:NamedIndividual, :IfcGridTypeEnum ;
    rdfs:label "RADIAL" .

:RADIAN
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "RADIAN" .

:RADIATIONSENSOR
    a owl:NamedIndividual, :IfcSensorTypeEnum ;
    rdfs:label "RADIATIONSENSOR" .

:RADIATOR
    a owl:NamedIndividual, :IfcSpaceHeaterTypeEnum ;
    rdfs:label "RADIATOR" .

:RADIOACTIVITYSENSOR
    a owl:NamedIndividual, :IfcSensorTypeEnum ;
    rdfs:label "RADIOACTIVITYSENSOR" .

:RADIOACTIVITYUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "RADIOACTIVITYUNIT" .

:RAFTER
    a owl:NamedIndividual, :IfcMemberTypeEnum ;
    rdfs:label "RAFTER" .

:RAIN
    a owl:NamedIndividual, :IfcActionSourceTypeEnum ;
    rdfs:label "RAIN" .

:RAINBOW_ROOF
    a owl:NamedIndividual, :IfcRoofTypeEnum ;
    rdfs:label "RAINBOW_ROOF" .

:RAINWATER
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "RAINWATER" .

:RAINWATERHOPPER
    a owl:NamedIndividual, :IfcStackTerminalTypeEnum ;
    rdfs:label "RAINWATERHOPPER" .

:READONLY
    a owl:NamedIndividual, :IfcStateEnum ;
    rdfs:label "READONLY" .

:READONLYLOCKED
    a owl:NamedIndividual, :IfcStateEnum ;
    rdfs:label "READONLYLOCKED" .

:READWRITE
    a owl:NamedIndividual, :IfcStateEnum ;
    rdfs:label "READWRITE" .

:READWRITELOCKED
    a owl:NamedIndividual, :IfcStateEnum ;
    rdfs:label "READWRITELOCKED" .

:RECEIVER
    a owl:NamedIndividual, :IfcAudioVisualApplianceTypeEnum ;
    rdfs:label "RECEIVER" .

:RECESS
    a owl:NamedIndividual, :IfcOpeningElementTypeEnum ;
    rdfs:label "RECESS" .

:RECIPROCATING
    a owl:NamedIndividual, :IfcCompressorTypeEnum ;
    rdfs:label "RECIPROCATING" .

:RECTANGULAR
    a owl:NamedIndividual, :IfcDuctSilencerTypeEnum, :IfcGridTypeEnum ;
    rdfs:label "RECTANGULAR" .

:RECTIFIER
    a owl:NamedIndividual, :IfcTransformerTypeEnum ;
    rdfs:label "RECTIFIER" .

:REDUCER
    a owl:NamedIndividual, :IfcCableCarrierFittingTypeEnum ;
    rdfs:label "REDUCER" .

:REFLECTED_PLAN_VIEW
    a owl:NamedIndividual, :IfcGeometricProjectionEnum ;
    rdfs:label "REFLECTED_PLAN_VIEW" .

:REFRIGERATION
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "REFRIGERATION" .

:REFRIGERATOR
    a owl:NamedIndividual, :IfcElectricApplianceTypeEnum ;
    rdfs:label "REFRIGERATOR" .

:REGISTER
    a owl:NamedIndividual, :IfcAirTerminalTypeEnum ;
    rdfs:label "REGISTER" .

:REGULATING
    a owl:NamedIndividual, :IfcValveTypeEnum ;
    rdfs:label "REGULATING" .

:REINFORCEMENT_UNIT
    a owl:NamedIndividual, :IfcElementAssemblyTypeEnum ;
    rdfs:label "REINFORCEMENT_UNIT" .

:RELAY
    a owl:NamedIndividual, :IfcElectricTimeControlTypeEnum ;
    rdfs:label "RELAY" .

:RELIEFDAMPER
    a owl:NamedIndividual, :IfcDamperTypeEnum ;
    rdfs:label "RELIEFDAMPER" .

:RELUCTANCESYNCHRONOUS
    a owl:NamedIndividual, :IfcElectricMotorTypeEnum ;
    rdfs:label "RELUCTANCESYNCHRONOUS" .

:REMOVABLECASEMENT
    a owl:NamedIndividual, :IfcWindowPanelOperationEnum ;
    rdfs:label "REMOVABLECASEMENT" .

:REMOVAL
    a owl:NamedIndividual, :IfcTaskTypeEnum ;
    rdfs:label "REMOVAL" .

:RENOVATION
    a owl:NamedIndividual, :IfcTaskTypeEnum ;
    rdfs:label "RENOVATION" .

:REPEATER
    a owl:NamedIndividual, :IfcCommunicationsApplianceTypeEnum ;
    rdfs:label "REPEATER" .

:REQUIREMENT
    a owl:NamedIndividual, :IfcObjectiveEnum ;
    rdfs:label "REQUIREMENT" .

:RESELLER
    a owl:NamedIndividual, :IfcRoleEnum ;
    rdfs:label "RESELLER" .

:RESIDUALCURRENT
    a owl:NamedIndividual, :IfcProtectiveDeviceTrippingUnitTypeEnum ;
    rdfs:label "RESIDUALCURRENT" .

:RESIDUALCURRENTCIRCUITBREAKER
    a owl:NamedIndividual, :IfcProtectiveDeviceTypeEnum ;
    rdfs:label "RESIDUALCURRENTCIRCUITBREAKER" .

:RESIDUALCURRENTSWITCH
    a owl:NamedIndividual, :IfcProtectiveDeviceTypeEnum ;
    rdfs:label "RESIDUALCURRENTSWITCH" .

:RESOURCE
    a owl:NamedIndividual, :IfcObjectTypeEnum ;
    rdfs:label "RESOURCE" .

:RESTRICTED
    a owl:NamedIndividual, :IfcDocumentConfidentialityEnum ;
    rdfs:label "RESTRICTED" .

:REVISION
    a owl:NamedIndividual, :IfcDocumentStatusEnum ;
    rdfs:label "REVISION" .

:REVOLVING
    a owl:NamedIndividual, :IfcDoorPanelOperationEnum, :IfcDoorStyleOperationEnum, :IfcDoorTypeOperationEnum ;
    rdfs:label "REVOLVING" .

:RIGHT
    a owl:NamedIndividual, :IfcDoorPanelPositionEnum, :IfcTextPath, :IfcWindowPanelPositionEnum ;
    rdfs:label "RIGHT" .

:RIGIDSEGMENT
    a owl:NamedIndividual, :IfcDuctSegmentTypeEnum, :IfcPipeSegmentTypeEnum ;
    rdfs:label "RIGIDSEGMENT" .

:RIGID_FRAME
    a owl:NamedIndividual, :IfcElementAssemblyTypeEnum ;
    rdfs:label "RIGID_FRAME" .

:RIGID_JOINED_MEMBER
    a owl:NamedIndividual, :IfcStructuralCurveMemberTypeEnum ;
    rdfs:label "RIGID_JOINED_MEMBER" .

:RING
    a owl:NamedIndividual, :IfcReinforcingBarRoleEnum, :IfcReinforcingBarTypeEnum ;
    rdfs:label "RING" .

:RIVET
    a owl:NamedIndividual, :IfcMechanicalFastenerTypeEnum ;
    rdfs:label "RIVET" .

:ROLLINGPISTON
    a owl:NamedIndividual, :IfcCompressorTypeEnum ;
    rdfs:label "ROLLINGPISTON" .

:ROLLINGUP
    a owl:NamedIndividual, :IfcDoorPanelOperationEnum, :IfcDoorStyleOperationEnum, :IfcDoorTypeOperationEnum ;
    rdfs:label "ROLLINGUP" .

:ROOF
    a owl:NamedIndividual, :IfcSlabTypeEnum ;
    rdfs:label "ROOF" .

:ROOFDRAIN
    a owl:NamedIndividual, :IfcWasteTerminalTypeEnum ;
    rdfs:label "ROOFDRAIN" .

:ROOFING
    a owl:NamedIndividual, :IfcCoveringTypeEnum, :IfcLaborResourceTypeEnum ;
    rdfs:label "ROOFING" .

:ROOFTOPUNIT
    a owl:NamedIndividual, :IfcUnitaryEquipmentTypeEnum ;
    rdfs:label "ROOFTOPUNIT" .

:ROTARY
    a owl:NamedIndividual, :IfcCompressorTypeEnum ;
    rdfs:label "ROTARY" .

:ROTARYVANE
    a owl:NamedIndividual, :IfcCompressorTypeEnum ;
    rdfs:label "ROTARYVANE" .

:ROTARYWHEEL
    a owl:NamedIndividual, :IfcAirToAirHeatRecoveryTypeEnum ;
    rdfs:label "ROTARYWHEEL" .

:ROTATIONALFREQUENCYUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "ROTATIONALFREQUENCYUNIT" .

:ROTATIONALMASSUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "ROTATIONALMASSUNIT" .

:ROTATIONALSTIFFNESSUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "ROTATIONALSTIFFNESSUNIT" .

:ROUND
    a owl:NamedIndividual, :IfcDuctSilencerTypeEnum ;
    rdfs:label "ROUND" .

:ROUTER
    a owl:NamedIndividual, :IfcCommunicationsApplianceTypeEnum ;
    rdfs:label "ROUTER" .

:RULED_SURF
    a owl:NamedIndividual, :IfcBSplineSurfaceForm ;
    rdfs:label "RULED_SURF" .

:RUNAROUNDCOILLOOP
    a owl:NamedIndividual, :IfcAirToAirHeatRecoveryTypeEnum ;
    rdfs:label "RUNAROUNDCOILLOOP" .

:SAFETYCUTOFF
    a owl:NamedIndividual, :IfcValveTypeEnum ;
    rdfs:label "SAFETYCUTOFF" .

:SANITARYFOUNTAIN
    a owl:NamedIndividual, :IfcSanitaryTerminalTypeEnum ;
    rdfs:label "SANITARYFOUNTAIN" .

:SCANNER
    a owl:NamedIndividual, :IfcCommunicationsApplianceTypeEnum ;
    rdfs:label "SCANNER" .

:SCHEDULEOFRATES
    a owl:NamedIndividual, :IfcCostScheduleTypeEnum ;
    rdfs:label "SCHEDULEOFRATES" .

:SCREEN
    a owl:NamedIndividual, :IfcPermeableCoveringOperationEnum ;
    rdfs:label "SCREEN" .

:SCREW
    a owl:NamedIndividual, :IfcMechanicalFastenerTypeEnum ;
    rdfs:label "SCREW" .

:SCROLL
    a owl:NamedIndividual, :IfcCompressorTypeEnum ;
    rdfs:label "SCROLL" .

:SECOND
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "SECOND" .

:SECONDSHIFT
    a owl:NamedIndividual, :IfcWorkCalendarTypeEnum ;
    rdfs:label "SECONDSHIFT" .

:SECOND_ORDER_THEORY
    a owl:NamedIndividual, :IfcAnalysisTheoryTypeEnum ;
    rdfs:label "SECOND_ORDER_THEORY" .

:SECTIONAREAINTEGRALUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "SECTIONAREAINTEGRALUNIT" .

:SECTIONMODULUSUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "SECTIONMODULUSUNIT" .

:SECTION_VIEW
    a owl:NamedIndividual, :IfcGeometricProjectionEnum ;
    rdfs:label "SECTION_VIEW" .

:SECURITY
    a owl:NamedIndividual, :IfcDistributionSystemEnum, :IfcSpatialZoneTypeEnum ;
    rdfs:label "SECURITY" .

:SECURITYLIGHTING
    a owl:NamedIndividual, :IfcLightFixtureTypeEnum ;
    rdfs:label "SECURITYLIGHTING" .

:SELECTORSWITCH
    a owl:NamedIndividual, :IfcSwitchingDeviceTypeEnum ;
    rdfs:label "SELECTORSWITCH" .

:SEMIHERMETIC
    a owl:NamedIndividual, :IfcCompressorTypeEnum ;
    rdfs:label "SEMIHERMETIC" .

:SETTLEMENT_U
    a owl:NamedIndividual, :IfcActionSourceTypeEnum ;
    rdfs:label "SETTLEMENT_U" .

:SEWAGE
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "SEWAGE" .

:SHADING
    a owl:NamedIndividual, :IfcBuildingSystemTypeEnum ;
    rdfs:label "SHADING" .

:SHEAR
    a owl:NamedIndividual, :IfcReinforcingBarRoleEnum, :IfcReinforcingBarTypeEnum, :IfcWallTypeEnum ;
    rdfs:label "SHEAR" .

:SHEARCONNECTOR
    a owl:NamedIndividual, :IfcMechanicalFastenerTypeEnum ;
    rdfs:label "SHEARCONNECTOR" .

:SHEARMODULUSUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "SHEARMODULUSUNIT" .

:SHED_ROOF
    a owl:NamedIndividual, :IfcRoofTypeEnum ;
    rdfs:label "SHED_ROOF" .

:SHEET
    a owl:NamedIndividual, :IfcPlateTypeEnum ;
    rdfs:label "SHEET" .

:SHELF
    a owl:NamedIndividual, :IfcFurnitureTypeEnum ;
    rdfs:label "SHELF" .

:SHELL
    a owl:NamedIndividual, :IfcStructuralSurfaceMemberTypeEnum ;
    rdfs:label "SHELL" .

:SHELLANDCOIL
    a owl:NamedIndividual, :IfcEvaporatorTypeEnum ;
    rdfs:label "SHELLANDCOIL" .

:SHELLANDTUBE
    a owl:NamedIndividual, :IfcHeatExchangerTypeEnum ;
    rdfs:label "SHELLANDTUBE" .

:SHOE
    a owl:NamedIndividual, :IfcDiscreteAccessoryTypeEnum ;
    rdfs:label "SHOE" .

:SHOWER
    a owl:NamedIndividual, :IfcSanitaryTerminalTypeEnum ;
    rdfs:label "SHOWER" .

:SHRINKAGE
    a owl:NamedIndividual, :IfcActionSourceTypeEnum ;
    rdfs:label "SHRINKAGE" .

:SHUTDOWN
    a owl:NamedIndividual, :IfcProcedureTypeEnum ;
    rdfs:label "SHUTDOWN" .

:SHUTTER
    a owl:NamedIndividual, :IfcShadingDeviceTypeEnum ;
    rdfs:label "SHUTTER" .

:SIDEHUNGLEFTHAND
    a owl:NamedIndividual, :IfcWindowPanelOperationEnum ;
    rdfs:label "SIDEHUNGLEFTHAND" .

:SIDEHUNGRIGHTHAND
    a owl:NamedIndividual, :IfcWindowPanelOperationEnum ;
    rdfs:label "SIDEHUNGRIGHTHAND" .

:SIEMENS
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "SIEMENS" .

:SIEVERT
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "SIEVERT" .

:SIGNAL
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "SIGNAL" .

:SIMULATED
    a owl:NamedIndividual, :IfcDataOriginEnum ;
    rdfs:label "SIMULATED" .

:SINGLESCREW
    a owl:NamedIndividual, :IfcCompressorTypeEnum ;
    rdfs:label "SINGLESCREW" .

:SINGLESTAGE
    a owl:NamedIndividual, :IfcCompressorTypeEnum ;
    rdfs:label "SINGLESTAGE" .

:SINGLE_PANEL
    a owl:NamedIndividual, :IfcWindowStyleOperationEnum, :IfcWindowTypePartitioningEnum ;
    rdfs:label "SINGLE_PANEL" .

:SINGLE_SWING_LEFT
    a owl:NamedIndividual, :IfcDoorStyleOperationEnum, :IfcDoorTypeOperationEnum ;
    rdfs:label "SINGLE_SWING_LEFT" .

:SINGLE_SWING_RIGHT
    a owl:NamedIndividual, :IfcDoorStyleOperationEnum, :IfcDoorTypeOperationEnum ;
    rdfs:label "SINGLE_SWING_RIGHT" .

:SINK
    a owl:NamedIndividual, :IfcFlowDirectionEnum, :IfcSanitaryTerminalTypeEnum ;
    rdfs:label "SINK" .

:SINUS
    a owl:NamedIndividual, :IfcStructuralCurveActivityTypeEnum ;
    rdfs:label "SINUS" .

:SIREN
    a owl:NamedIndividual, :IfcAlarmTypeEnum ;
    rdfs:label "SIREN" .

:SITE
    a owl:NamedIndividual, :IfcAddressTypeEnum, :IfcAssemblyPlaceEnum, :IfcCrewResourceTypeEnum ;
    rdfs:label "SITE" .

:SITEGRADING
    a owl:NamedIndividual, :IfcLaborResourceTypeEnum ;
    rdfs:label "SITEGRADING" .

:SKETCH_VIEW
    a owl:NamedIndividual, :IfcGeometricProjectionEnum ;
    rdfs:label "SKETCH_VIEW" .

:SKIRTINGBOARD
    a owl:NamedIndividual, :IfcCoveringTypeEnum ;
    rdfs:label "SKIRTINGBOARD" .

:SKYLIGHT
    a owl:NamedIndividual, :IfcWindowTypeEnum ;
    rdfs:label "SKYLIGHT" .

:SLAB_FIELD
    a owl:NamedIndividual, :IfcElementAssemblyTypeEnum ;
    rdfs:label "SLAB_FIELD" .

:SLEEVING
    a owl:NamedIndividual, :IfcCoveringTypeEnum ;
    rdfs:label "SLEEVING" .

:SLIDING
    a owl:NamedIndividual, :IfcDoorPanelOperationEnum ;
    rdfs:label "SLIDING" .

:SLIDINGHORIZONTAL
    a owl:NamedIndividual, :IfcWindowPanelOperationEnum ;
    rdfs:label "SLIDINGHORIZONTAL" .

:SLIDINGVERTICAL
    a owl:NamedIndividual, :IfcWindowPanelOperationEnum ;
    rdfs:label "SLIDINGVERTICAL" .

:SLIDING_TO_LEFT
    a owl:NamedIndividual, :IfcDoorStyleOperationEnum, :IfcDoorTypeOperationEnum ;
    rdfs:label "SLIDING_TO_LEFT" .

:SLIDING_TO_RIGHT
    a owl:NamedIndividual, :IfcDoorStyleOperationEnum, :IfcDoorTypeOperationEnum ;
    rdfs:label "SLIDING_TO_RIGHT" .

:SMOKEDAMPER
    a owl:NamedIndividual, :IfcDamperTypeEnum ;
    rdfs:label "SMOKEDAMPER" .

:SMOKESENSOR
    a owl:NamedIndividual, :IfcSensorTypeEnum ;
    rdfs:label "SMOKESENSOR" .

:SNOW_S
    a owl:NamedIndividual, :IfcActionSourceTypeEnum ;
    rdfs:label "SNOW_S" .

:SOFA
    a owl:NamedIndividual, :IfcFurnitureTypeEnum ;
    rdfs:label "SOFA" .

:SOFT
    a owl:NamedIndividual, :IfcConstraintEnum ;
    rdfs:label "SOFT" .

:SOLARCOLLECTOR
    a owl:NamedIndividual, :IfcSolarDeviceTypeEnum ;
    rdfs:label "SOLARCOLLECTOR" .

:SOLARPANEL
    a owl:NamedIndividual, :IfcSolarDeviceTypeEnum ;
    rdfs:label "SOLARPANEL" .

:SOLIDANGLEUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "SOLIDANGLEUNIT" .

:SOLIDWALL
    a owl:NamedIndividual, :IfcWallTypeEnum ;
    rdfs:label "SOLIDWALL" .

:SOUNDPOWERLEVELUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "SOUNDPOWERLEVELUNIT" .

:SOUNDPOWERUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "SOUNDPOWERUNIT" .

:SOUNDPRESSURELEVELUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "SOUNDPRESSURELEVELUNIT" .

:SOUNDPRESSUREUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "SOUNDPRESSUREUNIT" .

:SOUNDSENSOR
    a owl:NamedIndividual, :IfcSensorTypeEnum ;
    rdfs:label "SOUNDSENSOR" .

:SOURCE
    a owl:NamedIndividual, :IfcFlowDirectionEnum ;
    rdfs:label "SOURCE" .

:SOURCEANDSINK
    a owl:NamedIndividual, :IfcFlowDirectionEnum ;
    rdfs:label "SOURCEANDSINK" .

:SPACE
    a owl:NamedIndividual, :IfcSpaceTypeEnum ;
    rdfs:label "SPACE" .

:SPACEINVENTORY
    a owl:NamedIndividual, :IfcInventoryTypeEnum ;
    rdfs:label "SPACEINVENTORY" .

:SPANDREL
    a owl:NamedIndividual, :IfcBeamTypeEnum ;
    rdfs:label "SPANDREL" .

:SPEAKER
    a owl:NamedIndividual, :IfcAudioVisualApplianceTypeEnum ;
    rdfs:label "SPEAKER" .

:SPECIFICATION
    a owl:NamedIndividual, :IfcObjectiveEnum ;
    rdfs:label "SPECIFICATION" .

:SPECIFICHEATCAPACITYUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "SPECIFICHEATCAPACITYUNIT" .

:SPHERICAL_SURF
    a owl:NamedIndividual, :IfcBSplineSurfaceForm ;
    rdfs:label "SPHERICAL_SURF" .

:SPIRAL
    a owl:NamedIndividual, :IfcRampFlightTypeEnum, :IfcStairFlightTypeEnum ;
    rdfs:label "SPIRAL" .

:SPIRAL_RAMP
    a owl:NamedIndividual, :IfcRampTypeEnum ;
    rdfs:label "SPIRAL_RAMP" .

:SPIRAL_STAIR
    a owl:NamedIndividual, :IfcStairTypeEnum ;
    rdfs:label "SPIRAL_STAIR" .

:SPLITCASE
    a owl:NamedIndividual, :IfcPumpTypeEnum ;
    rdfs:label "SPLITCASE" .

:SPLITSYSTEM
    a owl:NamedIndividual, :IfcUnitaryEquipmentTypeEnum ;
    rdfs:label "SPLITSYSTEM" .

:SPOOL
    a owl:NamedIndividual, :IfcPipeSegmentTypeEnum ;
    rdfs:label "SPOOL" .

:SPRING
    a owl:NamedIndividual, :IfcVibrationIsolatorTypeEnum ;
    rdfs:label "SPRING" .

:SPRINKLER
    a owl:NamedIndividual, :IfcFireSuppressionTerminalTypeEnum ;
    rdfs:label "SPRINKLER" .

:SPRINKLERDEFLECTOR
    a owl:NamedIndividual, :IfcFireSuppressionTerminalTypeEnum ;
    rdfs:label "SPRINKLERDEFLECTOR" .

:SQUARE_METRE
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "SQUARE_METRE" .

:STANDALONE
    a owl:NamedIndividual, :IfcElectricGeneratorTypeEnum ;
    rdfs:label "STANDALONE" .

:STANDARD
    a owl:NamedIndividual, :IfcWallTypeEnum ;
    rdfs:label "STANDARD" .

:STAPLE
    a owl:NamedIndividual, :IfcMechanicalFastenerTypeEnum ;
    rdfs:label "STAPLE" .

:STARTER
    a owl:NamedIndividual, :IfcSwitchingDeviceTypeEnum ;
    rdfs:label "STARTER" .

:STARTEVENT
    a owl:NamedIndividual, :IfcEventTypeEnum ;
    rdfs:label "STARTEVENT" .

:STARTUP
    a owl:NamedIndividual, :IfcProcedureTypeEnum ;
    rdfs:label "STARTUP" .

:START_FINISH
    a owl:NamedIndividual, :IfcSequenceEnum ;
    rdfs:label "START_FINISH" .

:START_START
    a owl:NamedIndividual, :IfcSequenceEnum ;
    rdfs:label "START_START" .

:STEAM
    a owl:NamedIndividual, :IfcBoilerTypeEnum ;
    rdfs:label "STEAM" .

:STEAMHEATINGCOIL
    a owl:NamedIndividual, :IfcCoilTypeEnum ;
    rdfs:label "STEAMHEATINGCOIL" .

:STEAMINJECTION
    a owl:NamedIndividual, :IfcHumidifierTypeEnum ;
    rdfs:label "STEAMINJECTION" .

:STEAMTRAP
    a owl:NamedIndividual, :IfcValveTypeEnum ;
    rdfs:label "STEAMTRAP" .

:STEEL
    a owl:NamedIndividual, :IfcDoorStyleConstructionEnum, :IfcWindowStyleConstructionEnum ;
    rdfs:label "STEEL" .

:STEELWORK
    a owl:NamedIndividual, :IfcLaborResourceTypeEnum ;
    rdfs:label "STEELWORK" .

:STERADIAN
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "STERADIAN" .

:STOPCOCK
    a owl:NamedIndividual, :IfcValveTypeEnum ;
    rdfs:label "STOPCOCK" .

:STORAGE
    a owl:NamedIndividual, :IfcTankTypeEnum ;
    rdfs:label "STORAGE" .

:STORMWATER
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "STORMWATER" .

:STRAIGHT
    a owl:NamedIndividual, :IfcRampFlightTypeEnum, :IfcStairFlightTypeEnum ;
    rdfs:label "STRAIGHT" .

:STRAIGHT_RUN_RAMP
    a owl:NamedIndividual, :IfcRampTypeEnum ;
    rdfs:label "STRAIGHT_RUN_RAMP" .

:STRAIGHT_RUN_STAIR
    a owl:NamedIndividual, :IfcStairTypeEnum ;
    rdfs:label "STRAIGHT_RUN_STAIR" .

:STRAINER
    a owl:NamedIndividual, :IfcFilterTypeEnum ;
    rdfs:label "STRAINER" .

:STRAND
    a owl:NamedIndividual, :IfcTendonTypeEnum ;
    rdfs:label "STRAND" .

:STRAUSS
    a owl:NamedIndividual, :IfcReflectanceMethodEnum ;
    rdfs:label "STRAUSS" .

:STRINGER
    a owl:NamedIndividual, :IfcMemberTypeEnum ;
    rdfs:label "STRINGER" .

:STRIP_FOOTING
    a owl:NamedIndividual, :IfcFootingTypeEnum ;
    rdfs:label "STRIP_FOOTING" .

:STRUCTURALENGINEER
    a owl:NamedIndividual, :IfcRoleEnum ;
    rdfs:label "STRUCTURALENGINEER" .

:STRUT
    a owl:NamedIndividual, :IfcMemberTypeEnum ;
    rdfs:label "STRUT" .

:STUD
    a owl:NamedIndividual, :IfcMemberTypeEnum, :IfcReinforcingBarRoleEnum, :IfcReinforcingBarTypeEnum ;
    rdfs:label "STUD" .

:STUDSHEARCONNECTOR
    a owl:NamedIndividual, :IfcMechanicalFastenerTypeEnum ;
    rdfs:label "STUDSHEARCONNECTOR" .

:SUBCONTRACTOR
    a owl:NamedIndividual, :IfcRoleEnum ;
    rdfs:label "SUBCONTRACTOR" .

:SUBMERSIBLEPUMP
    a owl:NamedIndividual, :IfcPumpTypeEnum ;
    rdfs:label "SUBMERSIBLEPUMP" .

:SUBTRACT
    a owl:NamedIndividual, :IfcArithmeticOperatorEnum ;
    rdfs:label "SUBTRACT" .

:SUMP
    a owl:NamedIndividual, :IfcDistributionChamberElementTypeEnum ;
    rdfs:label "SUMP" .

:SUMPPUMP
    a owl:NamedIndividual, :IfcPumpTypeEnum ;
    rdfs:label "SUMPPUMP" .

:SUPPLIER
    a owl:NamedIndividual, :IfcRoleEnum ;
    rdfs:label "SUPPLIER" .

:SUPPORT
    a owl:NamedIndividual, :IfcPileTypeEnum ;
    rdfs:label "SUPPORT" .

:SURF_OF_LINEAR_EXTRUSION
    a owl:NamedIndividual, :IfcBSplineSurfaceForm ;
    rdfs:label "SURF_OF_LINEAR_EXTRUSION" .

:SURF_OF_REVOLUTION
    a owl:NamedIndividual, :IfcBSplineSurfaceForm ;
    rdfs:label "SURF_OF_REVOLUTION" .

:SURVEYING
    a owl:NamedIndividual, :IfcLaborResourceTypeEnum ;
    rdfs:label "SURVEYING" .

:SWINGING
    a owl:NamedIndividual, :IfcDoorPanelOperationEnum ;
    rdfs:label "SWINGING" .

:SWING_FIXED_LEFT
    a owl:NamedIndividual, :IfcDoorTypeOperationEnum ;
    rdfs:label "SWING_FIXED_LEFT" .

:SWING_FIXED_RIGHT
    a owl:NamedIndividual, :IfcDoorTypeOperationEnum ;
    rdfs:label "SWING_FIXED_RIGHT" .

:SWITCHBOARD
    a owl:NamedIndividual, :IfcElectricDistributionBoardTypeEnum ;
    rdfs:label "SWITCHBOARD" .

:SWITCHDISCONNECTOR
    a owl:NamedIndividual, :IfcSwitchingDeviceTypeEnum ;
    rdfs:label "SWITCHDISCONNECTOR" .

:SWITCHER
    a owl:NamedIndividual, :IfcAudioVisualApplianceTypeEnum ;
    rdfs:label "SWITCHER" .

:SYNCHRONOUS
    a owl:NamedIndividual, :IfcElectricMotorTypeEnum ;
    rdfs:label "SYNCHRONOUS" .

:SYSTEM_IMPERFECTION
    a owl:NamedIndividual, :IfcActionSourceTypeEnum ;
    rdfs:label "SYSTEM_IMPERFECTION" .

:TABLE
    a owl:NamedIndividual, :IfcFurnitureTypeEnum ;
    rdfs:label "TABLE" .

:TAG
    a owl:NamedIndividual, :IfcSurfaceFeatureTypeEnum ;
    rdfs:label "TAG" .

:TAPERED
    a owl:NamedIndividual, :IfcSectionTypeEnum ;
    rdfs:label "TAPERED" .

:TEE
    a owl:NamedIndividual, :IfcCableCarrierFittingTypeEnum ;
    rdfs:label "TEE" .

:TELEPHONE
    a owl:NamedIndividual, :IfcAudioVisualApplianceTypeEnum, :IfcDistributionSystemEnum ;
    rdfs:label "TELEPHONE" .

:TELEPHONEOUTLET
    a owl:NamedIndividual, :IfcOutletTypeEnum ;
    rdfs:label "TELEPHONEOUTLET" .

:TEMPERATUREGRADIENTUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "TEMPERATUREGRADIENTUNIT" .

:TEMPERATURERATEOFCHANGEUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "TEMPERATURERATEOFCHANGEUNIT" .

:TEMPERATURESENSOR
    a owl:NamedIndividual, :IfcSensorTypeEnum ;
    rdfs:label "TEMPERATURESENSOR" .

:TEMPERATURE_T
    a owl:NamedIndividual, :IfcActionSourceTypeEnum ;
    rdfs:label "TEMPERATURE_T" .

:TENANT
    a owl:NamedIndividual, :IfcOccupantTypeEnum ;
    rdfs:label "TENANT" .

:TENDER
    a owl:NamedIndividual, :IfcCostScheduleTypeEnum ;
    rdfs:label "TENDER" .

:TENSIONING_END
    a owl:NamedIndividual, :IfcTendonAnchorTypeEnum ;
    rdfs:label "TENSIONING_END" .

:TENSION_MEMBER
    a owl:NamedIndividual, :IfcStructuralCurveMemberTypeEnum ;
    rdfs:label "TENSION_MEMBER" .

:TERA
    a owl:NamedIndividual, :IfcSIPrefix ;
    rdfs:label "TERA" .

:TERRAIN
    a owl:NamedIndividual, :IfcGeographicElementTypeEnum ;
    rdfs:label "TERRAIN" .

:TESLA
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "TESLA" .

:TEXTURED
    a owl:NamedIndividual, :IfcReinforcingBarSurfaceEnum ;
    rdfs:label "TEXTURED" .

:THERMAL
    a owl:NamedIndividual, :IfcProtectiveDeviceTrippingUnitTypeEnum, :IfcSpatialZoneTypeEnum ;
    rdfs:label "THERMAL" .

:THERMALADMITTANCEUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "THERMALADMITTANCEUNIT" .

:THERMALCONDUCTANCEUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "THERMALCONDUCTANCEUNIT" .

:THERMALEXPANSIONCOEFFICIENTUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "THERMALEXPANSIONCOEFFICIENTUNIT" .

:THERMALRESISTANCEUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "THERMALRESISTANCEUNIT" .

:THERMALTRANSMITTANCEUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "THERMALTRANSMITTANCEUNIT" .

:THERMODYNAMICTEMPERATUREUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "THERMODYNAMICTEMPERATUREUNIT" .

:THERMOMETER
    a owl:NamedIndividual, :IfcFlowInstrumentTypeEnum ;
    rdfs:label "THERMOMETER" .

:THERMOSIPHONCOILTYPEHEATEXCHANGERS
    a owl:NamedIndividual, :IfcAirToAirHeatRecoveryTypeEnum ;
    rdfs:label "THERMOSIPHONCOILTYPEHEATEXCHANGERS" .

:THERMOSIPHONSEALEDTUBEHEATEXCHANGERS
    a owl:NamedIndividual, :IfcAirToAirHeatRecoveryTypeEnum ;
    rdfs:label "THERMOSIPHONSEALEDTUBEHEATEXCHANGERS" .

:THERMOSTAT
    a owl:NamedIndividual, :IfcUnitaryControlElementTypeEnum ;
    rdfs:label "THERMOSTAT" .

:THERMOSTATICACTUATOR
    a owl:NamedIndividual, :IfcActuatorTypeEnum ;
    rdfs:label "THERMOSTATICACTUATOR" .

:THIRDSHIFT
    a owl:NamedIndividual, :IfcWorkCalendarTypeEnum ;
    rdfs:label "THIRDSHIFT" .

:THIRD_ORDER_THEORY
    a owl:NamedIndividual, :IfcAnalysisTheoryTypeEnum ;
    rdfs:label "THIRD_ORDER_THEORY" .

:THREE_QUARTER_TURN_STAIR
    a owl:NamedIndividual, :IfcStairTypeEnum ;
    rdfs:label "THREE_QUARTER_TURN_STAIR" .

:THREE_QUARTER_WINDING_STAIR
    a owl:NamedIndividual, :IfcStairTypeEnum ;
    rdfs:label "THREE_QUARTER_WINDING_STAIR" .

:TILTANDTURNLEFTHAND
    a owl:NamedIndividual, :IfcWindowPanelOperationEnum ;
    rdfs:label "TILTANDTURNLEFTHAND" .

:TILTANDTURNRIGHTHAND
    a owl:NamedIndividual, :IfcWindowPanelOperationEnum ;
    rdfs:label "TILTANDTURNRIGHTHAND" .

:TIMECLOCK
    a owl:NamedIndividual, :IfcElectricTimeControlTypeEnum ;
    rdfs:label "TIMECLOCK" .

:TIMEDELAY
    a owl:NamedIndividual, :IfcElectricTimeControlTypeEnum ;
    rdfs:label "TIMEDELAY" .

:TIMEUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "TIMEUNIT" .

:TOGGLESWITCH
    a owl:NamedIndividual, :IfcSwitchingDeviceTypeEnum ;
    rdfs:label "TOGGLESWITCH" .

:TOILETPAN
    a owl:NamedIndividual, :IfcSanitaryTerminalTypeEnum ;
    rdfs:label "TOILETPAN" .

:TOP
    a owl:NamedIndividual, :IfcWindowPanelPositionEnum ;
    rdfs:label "TOP" .

:TOPHUNG
    a owl:NamedIndividual, :IfcWindowPanelOperationEnum ;
    rdfs:label "TOPHUNG" .

:TOROIDAL_SURF
    a owl:NamedIndividual, :IfcBSplineSurfaceForm ;
    rdfs:label "TOROIDAL_SURF" .

:TORQUEUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "TORQUEUNIT" .

:TRANSITION
    a owl:NamedIndividual, :IfcCableFittingTypeEnum, :IfcDuctFittingTypeEnum, :IfcPipeFittingTypeEnum ;
    rdfs:label "TRANSITION" .

:TRANSPORT
    a owl:NamedIndividual, :IfcActionSourceTypeEnum, :IfcBuildingSystemTypeEnum, :IfcSpatialZoneTypeEnum ;
    rdfs:label "TRANSPORT" .

:TRANSPORTING
    a owl:NamedIndividual, :IfcConstructionEquipmentResourceTypeEnum ;
    rdfs:label "TRANSPORTING" .

:TRAPDOOR
    a owl:NamedIndividual, :IfcDoorTypeEnum ;
    rdfs:label "TRAPDOOR" .

:TREATMENT
    a owl:NamedIndividual, :IfcSurfaceFeatureTypeEnum ;
    rdfs:label "TREATMENT" .

:TRENCH
    a owl:NamedIndividual, :IfcDistributionChamberElementTypeEnum ;
    rdfs:label "TRENCH" .

:TRIANGULAR
    a owl:NamedIndividual, :IfcGridTypeEnum ;
    rdfs:label "TRIANGULAR" .

:TRIGGERCONDITION
    a owl:NamedIndividual, :IfcObjectiveEnum ;
    rdfs:label "TRIGGERCONDITION" .

:TRIPLE_PANEL_BOTTOM
    a owl:NamedIndividual, :IfcWindowStyleOperationEnum, :IfcWindowTypePartitioningEnum ;
    rdfs:label "TRIPLE_PANEL_BOTTOM" .

:TRIPLE_PANEL_HORIZONTAL
    a owl:NamedIndividual, :IfcWindowStyleOperationEnum, :IfcWindowTypePartitioningEnum ;
    rdfs:label "TRIPLE_PANEL_HORIZONTAL" .

:TRIPLE_PANEL_LEFT
    a owl:NamedIndividual, :IfcWindowStyleOperationEnum, :IfcWindowTypePartitioningEnum ;
    rdfs:label "TRIPLE_PANEL_LEFT" .

:TRIPLE_PANEL_RIGHT
    a owl:NamedIndividual, :IfcWindowStyleOperationEnum, :IfcWindowTypePartitioningEnum ;
    rdfs:label "TRIPLE_PANEL_RIGHT" .

:TRIPLE_PANEL_TOP
    a owl:NamedIndividual, :IfcWindowStyleOperationEnum, :IfcWindowTypePartitioningEnum ;
    rdfs:label "TRIPLE_PANEL_TOP" .

:TRIPLE_PANEL_VERTICAL
    a owl:NamedIndividual, :IfcWindowStyleOperationEnum, :IfcWindowTypePartitioningEnum ;
    rdfs:label "TRIPLE_PANEL_VERTICAL" .

:TROCHOIDAL
    a owl:NamedIndividual, :IfcCompressorTypeEnum ;
    rdfs:label "TROCHOIDAL" .

:TRUE_LENGTH
    a owl:NamedIndividual, :IfcProjectedOrTrueLengthEnum ;
    rdfs:label "TRUE_LENGTH" .

:TRUSS
    a owl:NamedIndividual, :IfcElementAssemblyTypeEnum ;
    rdfs:label "TRUSS" .

:TUBEAXIAL
    a owl:NamedIndividual, :IfcFanTypeEnum ;
    rdfs:label "TUBEAXIAL" .

:TUMBLEDRYER
    a owl:NamedIndividual, :IfcElectricApplianceTypeEnum ;
    rdfs:label "TUMBLEDRYER" .

:TUNER
    a owl:NamedIndividual, :IfcAudioVisualApplianceTypeEnum ;
    rdfs:label "TUNER" .

:TUNGSTENFILAMENT
    a owl:NamedIndividual, :IfcLampTypeEnum, :IfcLightEmissionSourceEnum ;
    rdfs:label "TUNGSTENFILAMENT" .

:TV
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "TV" .

:TWINSCREW
    a owl:NamedIndividual, :IfcCompressorTypeEnum ;
    rdfs:label "TWINSCREW" .

:TWINTOWERENTHALPYRECOVERYLOOPS
    a owl:NamedIndividual, :IfcAirToAirHeatRecoveryTypeEnum ;
    rdfs:label "TWINTOWERENTHALPYRECOVERYLOOPS" .

:TWOPOSITION
    a owl:NamedIndividual, :IfcControllerTypeEnum ;
    rdfs:label "TWOPOSITION" .

:TWO_CURVED_RUN_STAIR
    a owl:NamedIndividual, :IfcStairTypeEnum ;
    rdfs:label "TWO_CURVED_RUN_STAIR" .

:TWO_QUARTER_TURN_RAMP
    a owl:NamedIndividual, :IfcRampTypeEnum ;
    rdfs:label "TWO_QUARTER_TURN_RAMP" .

:TWO_QUARTER_TURN_STAIR
    a owl:NamedIndividual, :IfcStairTypeEnum ;
    rdfs:label "TWO_QUARTER_TURN_STAIR" .

:TWO_QUARTER_WINDING_STAIR
    a owl:NamedIndividual, :IfcStairTypeEnum ;
    rdfs:label "TWO_QUARTER_WINDING_STAIR" .

:TWO_STRAIGHT_RUN_RAMP
    a owl:NamedIndividual, :IfcRampTypeEnum ;
    rdfs:label "TWO_STRAIGHT_RUN_RAMP" .

:TWO_STRAIGHT_RUN_STAIR
    a owl:NamedIndividual, :IfcStairTypeEnum ;
    rdfs:label "TWO_STRAIGHT_RUN_STAIR" .

:TYPE_A
    a owl:NamedIndividual, :IfcLightDistributionCurveEnum ;
    rdfs:label "TYPE_A" .

:TYPE_B
    a owl:NamedIndividual, :IfcLightDistributionCurveEnum ;
    rdfs:label "TYPE_B" .

:TYPE_C
    a owl:NamedIndividual, :IfcLightDistributionCurveEnum ;
    rdfs:label "TYPE_C" .

:T_BEAM
    a owl:NamedIndividual, :IfcBeamTypeEnum ;
    rdfs:label "T_BEAM" .

:UNIFORM
    a owl:NamedIndividual, :IfcSectionTypeEnum ;
    rdfs:label "UNIFORM" .

:UNIFORM_KNOTS
    a owl:NamedIndividual, :IfcKnotType ;
    rdfs:label "UNIFORM_KNOTS" .

:UNION
    a owl:NamedIndividual, :IfcBooleanOperator ;
    rdfs:label "UNION" .

:UNPRICEDBILLOFQUANTITIES
    a owl:NamedIndividual, :IfcCostScheduleTypeEnum ;
    rdfs:label "UNPRICEDBILLOFQUANTITIES" .

:UNSPECIFIED
    a owl:NamedIndividual, :IfcBSplineCurveForm, :IfcBSplineSurfaceForm, :IfcKnotType, :IfcTrimmingPreference ;
    rdfs:label "UNSPECIFIED" .

:UP
    a owl:NamedIndividual, :IfcTextPath ;
    rdfs:label "UP" .

:UPS
    a owl:NamedIndividual, :IfcElectricFlowStorageDeviceTypeEnum ;
    rdfs:label "UPS" .

:URINAL
    a owl:NamedIndividual, :IfcSanitaryTerminalTypeEnum ;
    rdfs:label "URINAL" .

:USERDEFINED
    a owl:NamedIndividual, :IfcActionRequestTypeEnum, :IfcActionSourceTypeEnum, :IfcActionTypeEnum, :IfcActuatorTypeEnum, :IfcAddressTypeEnum, :IfcAirTerminalBoxTypeEnum, :IfcAirTerminalTypeEnum, :IfcAirToAirHeatRecoveryTypeEnum, :IfcAlarmTypeEnum, :IfcAnalysisModelTypeEnum, :IfcAnalysisTheoryTypeEnum, :IfcAudioVisualApplianceTypeEnum, :IfcBeamTypeEnum, :IfcBoilerTypeEnum, :IfcBuildingElementPartTypeEnum, :IfcBuildingElementProxyTypeEnum, :IfcBuildingSystemTypeEnum, :IfcBurnerTypeEnum, :IfcCableCarrierFittingTypeEnum, :IfcCableCarrierSegmentTypeEnum, :IfcCableFittingTypeEnum, :IfcCableSegmentTypeEnum, :IfcChillerTypeEnum, :IfcChimneyTypeEnum, :IfcCoilTypeEnum, :IfcColumnTypeEnum, :IfcCommunicationsApplianceTypeEnum, :IfcCompressorTypeEnum, :IfcCondenserTypeEnum, :IfcConstraintEnum, :IfcConstructionEquipmentResourceTypeEnum, :IfcConstructionMaterialResourceTypeEnum, :IfcConstructionProductResourceTypeEnum, :IfcControllerTypeEnum, :IfcCooledBeamTypeEnum, :IfcCoolingTowerTypeEnum, :IfcCostItemTypeEnum, :IfcCostScheduleTypeEnum, :IfcCoveringTypeEnum, :IfcCrewResourceTypeEnum, :IfcCurtainWallTypeEnum, :IfcDamperTypeEnum, :IfcDataOriginEnum, :IfcDerivedUnitEnum, :IfcDiscreteAccessoryTypeEnum, :IfcDistributionChamberElementTypeEnum, :IfcDistributionPortTypeEnum, :IfcDistributionSystemEnum, :IfcDocumentConfidentialityEnum, :IfcDoorPanelOperationEnum, :IfcDoorStyleConstructionEnum, :IfcDoorStyleOperationEnum, :IfcDoorTypeEnum, :IfcDoorTypeOperationEnum, :IfcDuctFittingTypeEnum, :IfcDuctSegmentTypeEnum, :IfcDuctSilencerTypeEnum, :IfcElectricApplianceTypeEnum, :IfcElectricDistributionBoardTypeEnum, :IfcElectricFlowStorageDeviceTypeEnum, :IfcElectricGeneratorTypeEnum, :IfcElectricMotorTypeEnum, :IfcElectricTimeControlTypeEnum, :IfcElementAssemblyTypeEnum, :IfcEngineTypeEnum, :IfcEvaporativeCoolerTypeEnum, :IfcEvaporatorTypeEnum, :IfcEventTriggerTypeEnum, :IfcEventTypeEnum, :IfcExternalSpatialElementTypeEnum, :IfcFanTypeEnum, :IfcFastenerTypeEnum, :IfcFilterTypeEnum, :IfcFireSuppressionTerminalTypeEnum, :IfcFlowInstrumentTypeEnum, :IfcFlowMeterTypeEnum, :IfcFootingTypeEnum, :IfcFurnitureTypeEnum, :IfcGeographicElementTypeEnum, :IfcGeometricProjectionEnum, :IfcGridTypeEnum, :IfcHeatExchangerTypeEnum, :IfcHumidifierTypeEnum, :IfcInterceptorTypeEnum, :IfcInventoryTypeEnum, :IfcJunctionBoxTypeEnum, :IfcLaborResourceTypeEnum, :IfcLampTypeEnum, :IfcLightFixtureTypeEnum, :IfcLoadGroupTypeEnum, :IfcMechanicalFastenerTypeEnum, :IfcMedicalDeviceTypeEnum, :IfcMemberTypeEnum, :IfcMotorConnectionTypeEnum, :IfcObjectiveEnum, :IfcOccupantTypeEnum, :IfcOpeningElementTypeEnum, :IfcOutletTypeEnum, :IfcPerformanceHistoryTypeEnum, :IfcPermeableCoveringOperationEnum, :IfcPermitTypeEnum, :IfcPileConstructionEnum, :IfcPileTypeEnum, :IfcPipeFittingTypeEnum, :IfcPipeSegmentTypeEnum, :IfcPlateTypeEnum, :IfcProcedureTypeEnum, :IfcProjectOrderTypeEnum, :IfcProjectionElementTypeEnum, :IfcProtectiveDeviceTrippingUnitTypeEnum, :IfcProtectiveDeviceTypeEnum, :IfcPumpTypeEnum, :IfcRailingTypeEnum, :IfcRampFlightTypeEnum, :IfcRampTypeEnum, :IfcReinforcingBarRoleEnum, :IfcReinforcingBarTypeEnum, :IfcReinforcingMeshTypeEnum, :IfcRoleEnum, :IfcRoofTypeEnum, :IfcSanitaryTerminalTypeEnum, :IfcSensorTypeEnum, :IfcSequenceEnum, :IfcShadingDeviceTypeEnum, :IfcSlabTypeEnum, :IfcSolarDeviceTypeEnum, :IfcSpaceHeaterTypeEnum, :IfcSpaceTypeEnum, :IfcSpatialZoneTypeEnum, :IfcStackTerminalTypeEnum, :IfcStairFlightTypeEnum, :IfcStairTypeEnum, :IfcStructuralCurveActivityTypeEnum, :IfcStructuralCurveMemberTypeEnum, :IfcStructuralSurfaceActivityTypeEnum, :IfcStructuralSurfaceMemberTypeEnum, :IfcSubContractResourceTypeEnum, :IfcSurfaceFeatureTypeEnum, :IfcSwitchingDeviceTypeEnum, :IfcSystemFurnitureElementTypeEnum, :IfcTankTypeEnum, :IfcTaskTypeEnum, :IfcTendonAnchorTypeEnum, :IfcTendonTypeEnum, :IfcTransformerTypeEnum, :IfcTransportElementTypeEnum, :IfcTubeBundleTypeEnum, :IfcUnitEnum, :IfcUnitaryControlElementTypeEnum, :IfcUnitaryEquipmentTypeEnum, :IfcValveTypeEnum, :IfcVibrationIsolatorTypeEnum, :IfcVoidingFeatureTypeEnum, :IfcWallTypeEnum, :IfcWasteTerminalTypeEnum, :IfcWindowStyleOperationEnum, :IfcWindowTypeEnum, :IfcWindowTypePartitioningEnum, :IfcWorkCalendarTypeEnum, :IfcWorkPlanTypeEnum, :IfcWorkScheduleTypeEnum ;
    rdfs:label "USERDEFINED" .

:VACUUM
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "VACUUM" .

:VACUUMSTATION
    a owl:NamedIndividual, :IfcMedicalDeviceTypeEnum ;
    rdfs:label "VACUUMSTATION" .

:VALVECHAMBER
    a owl:NamedIndividual, :IfcDistributionChamberElementTypeEnum ;
    rdfs:label "VALVECHAMBER" .

:VANEAXIAL
    a owl:NamedIndividual, :IfcFanTypeEnum ;
    rdfs:label "VANEAXIAL" .

:VAPORPERMEABILITYUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "VAPORPERMEABILITYUNIT" .

:VARIABLEFLOWPRESSUREDEPENDANT
    a owl:NamedIndividual, :IfcAirTerminalBoxTypeEnum ;
    rdfs:label "VARIABLEFLOWPRESSUREDEPENDANT" .

:VARIABLEFLOWPRESSUREINDEPENDANT
    a owl:NamedIndividual, :IfcAirTerminalBoxTypeEnum ;
    rdfs:label "VARIABLEFLOWPRESSUREINDEPENDANT" .

:VARIABLE_Q
    a owl:NamedIndividual, :IfcActionTypeEnum ;
    rdfs:label "VARIABLE_Q" .

:VARISTOR
    a owl:NamedIndividual, :IfcProtectiveDeviceTypeEnum ;
    rdfs:label "VARISTOR" .

:VENDINGMACHINE
    a owl:NamedIndividual, :IfcElectricApplianceTypeEnum ;
    rdfs:label "VENDINGMACHINE" .

:VENT
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "VENT" .

:VENTILATION
    a owl:NamedIndividual, :IfcDistributionSystemEnum, :IfcSpatialZoneTypeEnum ;
    rdfs:label "VENTILATION" .

:VERBAL
    a owl:NamedIndividual, :IfcActionRequestTypeEnum ;
    rdfs:label "VERBAL" .

:VERTICALINLINE
    a owl:NamedIndividual, :IfcPumpTypeEnum ;
    rdfs:label "VERTICALINLINE" .

:VERTICALTURBINE
    a owl:NamedIndividual, :IfcPumpTypeEnum ;
    rdfs:label "VERTICALTURBINE" .

:VESSEL
    a owl:NamedIndividual, :IfcTankTypeEnum ;
    rdfs:label "VESSEL" .

:VIRTUAL
    a owl:NamedIndividual, :IfcPhysicalOrVirtualEnum ;
    rdfs:label "VIRTUAL" .

:VOLT
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "VOLT" .

:VOLTAGE
    a owl:NamedIndividual, :IfcTransformerTypeEnum ;
    rdfs:label "VOLTAGE" .

:VOLTMETER_PEAK
    a owl:NamedIndividual, :IfcFlowInstrumentTypeEnum ;
    rdfs:label "VOLTMETER_PEAK" .

:VOLTMETER_RMS
    a owl:NamedIndividual, :IfcFlowInstrumentTypeEnum ;
    rdfs:label "VOLTMETER_RMS" .

:VOLUMETRICFLOWRATEUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "VOLUMETRICFLOWRATEUNIT" .

:VOLUMEUNIT
    a owl:NamedIndividual, :IfcUnitEnum ;
    rdfs:label "VOLUMEUNIT" .

:WARPINGCONSTANTUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "WARPINGCONSTANTUNIT" .

:WARPINGMOMENTUNIT
    a owl:NamedIndividual, :IfcDerivedUnitEnum ;
    rdfs:label "WARPINGMOMENTUNIT" .

:WASHHANDBASIN
    a owl:NamedIndividual, :IfcSanitaryTerminalTypeEnum ;
    rdfs:label "WASHHANDBASIN" .

:WASHINGMACHINE
    a owl:NamedIndividual, :IfcElectricApplianceTypeEnum ;
    rdfs:label "WASHINGMACHINE" .

:WASTEDISPOSALUNIT
    a owl:NamedIndividual, :IfcWasteTerminalTypeEnum ;
    rdfs:label "WASTEDISPOSALUNIT" .

:WASTETRAP
    a owl:NamedIndividual, :IfcWasteTerminalTypeEnum ;
    rdfs:label "WASTETRAP" .

:WASTEWATER
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "WASTEWATER" .

:WATER
    a owl:NamedIndividual, :IfcBoilerTypeEnum ;
    rdfs:label "WATER" .

:WATERCOOLED
    a owl:NamedIndividual, :IfcChillerTypeEnum, :IfcCondenserTypeEnum ;
    rdfs:label "WATERCOOLED" .

:WATERCOOLEDBRAZEDPLATE
    a owl:NamedIndividual, :IfcCondenserTypeEnum ;
    rdfs:label "WATERCOOLEDBRAZEDPLATE" .

:WATERCOOLEDSHELLCOIL
    a owl:NamedIndividual, :IfcCondenserTypeEnum ;
    rdfs:label "WATERCOOLEDSHELLCOIL" .

:WATERCOOLEDSHELLTUBE
    a owl:NamedIndividual, :IfcCondenserTypeEnum ;
    rdfs:label "WATERCOOLEDSHELLTUBE" .

:WATERCOOLEDTUBEINTUBE
    a owl:NamedIndividual, :IfcCondenserTypeEnum ;
    rdfs:label "WATERCOOLEDTUBEINTUBE" .

:WATERCOOLINGCOIL
    a owl:NamedIndividual, :IfcCoilTypeEnum ;
    rdfs:label "WATERCOOLINGCOIL" .

:WATERFILTER
    a owl:NamedIndividual, :IfcFilterTypeEnum ;
    rdfs:label "WATERFILTER" .

:WATERHEATINGCOIL
    a owl:NamedIndividual, :IfcCoilTypeEnum ;
    rdfs:label "WATERHEATINGCOIL" .

:WATERMETER
    a owl:NamedIndividual, :IfcFlowMeterTypeEnum ;
    rdfs:label "WATERMETER" .

:WATERSUPPLY
    a owl:NamedIndividual, :IfcDistributionSystemEnum ;
    rdfs:label "WATERSUPPLY" .

:WATT
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "WATT" .

:WAVE
    a owl:NamedIndividual, :IfcActionSourceTypeEnum ;
    rdfs:label "WAVE" .

:WCSEAT
    a owl:NamedIndividual, :IfcSanitaryTerminalTypeEnum ;
    rdfs:label "WCSEAT" .

:WEATHERSTATION
    a owl:NamedIndividual, :IfcUnitaryControlElementTypeEnum ;
    rdfs:label "WEATHERSTATION" .

:WEBER
    a owl:NamedIndividual, :IfcSIUnitName ;
    rdfs:label "WEBER" .

:WEEKLY
    a owl:NamedIndividual, :IfcRecurrenceTypeEnum ;
    rdfs:label "WEEKLY" .

:WELD
    a owl:NamedIndividual, :IfcFastenerTypeEnum ;
    rdfs:label "WELD" .

:WELDEDSHELLHERMETIC
    a owl:NamedIndividual, :IfcCompressorTypeEnum ;
    rdfs:label "WELDEDSHELLHERMETIC" .

:WHISTLE
    a owl:NamedIndividual, :IfcAlarmTypeEnum ;
    rdfs:label "WHISTLE" .

:WINDER
    a owl:NamedIndividual, :IfcStairFlightTypeEnum ;
    rdfs:label "WINDER" .

:WINDOW
    a owl:NamedIndividual, :IfcWindowTypeEnum ;
    rdfs:label "WINDOW" .

:WINDSENSOR
    a owl:NamedIndividual, :IfcSensorTypeEnum ;
    rdfs:label "WINDSENSOR" .

:WIND_W
    a owl:NamedIndividual, :IfcActionSourceTypeEnum ;
    rdfs:label "WIND_W" .

:WIRE
    a owl:NamedIndividual, :IfcTendonTypeEnum ;
    rdfs:label "WIRE" .

:WOOD
    a owl:NamedIndividual, :IfcConstructionMaterialResourceTypeEnum, :IfcDoorStyleConstructionEnum, :IfcWindowStyleConstructionEnum ;
    rdfs:label "WOOD" .

:WORK
    a owl:NamedIndividual, :IfcPermitTypeEnum, :IfcSubContractResourceTypeEnum ;
    rdfs:label "WORK" .

:WORKORDER
    a owl:NamedIndividual, :IfcProjectOrderTypeEnum ;
    rdfs:label "WORKORDER" .

:WORKSURFACE
    a owl:NamedIndividual, :IfcSystemFurnitureElementTypeEnum ;
    rdfs:label "WORKSURFACE" .

:WORKTIME
    a owl:NamedIndividual, :IfcTaskDurationEnum ;
    rdfs:label "WORKTIME" .

:WRAPPING
    a owl:NamedIndividual, :IfcCoveringTypeEnum ;
    rdfs:label "WRAPPING" .

:YEARLY_BY_DAY_OF_MONTH
    a owl:NamedIndividual, :IfcRecurrenceTypeEnum ;
    rdfs:label "YEARLY_BY_DAY_OF_MONTH" .

:YEARLY_BY_POSITION
    a owl:NamedIndividual, :IfcRecurrenceTypeEnum ;
    rdfs:label "YEARLY_BY_POSITION" .

:accessState_IfcSimplePropertyTemplate
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSimplePropertyTemplate ;
    rdfs:label "AccessState" ;
    rdfs:range :IfcStateEnum .

:actingRole_IfcRelAssignsToActor
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelAssignsToActor ;
    rdfs:label "ActingRole" ;
    rdfs:range :IfcActorRole .

:actionSource_IfcStructuralLoadGroup
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadGroup ;
    rdfs:label "ActionSource" ;
    rdfs:range :IfcActionSourceTypeEnum .

:actionType_IfcStructuralLoadGroup
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadGroup ;
    rdfs:label "ActionType" ;
    rdfs:range :IfcActionTypeEnum .

:actualDate_IfcEventTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEventTime ;
    rdfs:label "ActualDate" ;
    rdfs:range :IfcDateTime .

:actualDuration_IfcTaskTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTaskTime ;
    rdfs:label "ActualDuration" ;
    rdfs:range :IfcDuration .

:actualFinish_IfcResourceTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcResourceTime ;
    rdfs:label "ActualFinish" ;
    rdfs:range :IfcDateTime .

:actualFinish_IfcTaskTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTaskTime ;
    rdfs:label "ActualFinish" ;
    rdfs:range :IfcDateTime .

:actualStart_IfcResourceTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcResourceTime ;
    rdfs:label "ActualStart" ;
    rdfs:range :IfcDateTime .

:actualStart_IfcTaskTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTaskTime ;
    rdfs:label "ActualStart" ;
    rdfs:range :IfcDateTime .

:actualUsage_IfcResourceTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcResourceTime ;
    rdfs:label "ActualUsage" ;
    rdfs:range :IfcPositiveRatioMeasure .

:actualWork_IfcResourceTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcResourceTime ;
    rdfs:label "ActualWork" ;
    rdfs:range :IfcDuration .

:additionalConditions_IfcRelConnectsStructuralMember
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelConnectsStructuralMember ;
    rdfs:label "AdditionalConditions" ;
    rdfs:range :IfcStructuralConnectionCondition .

:addressLines_IfcPostalAddress
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPostalAddress ;
    rdfs:label "AddressLines" ;
    rdfs:range :IfcLabel_List .

:addresses_IfcOrganization
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOrganization ;
    rdfs:label "Addresses" ;
    rdfs:range :IfcAddress_List .

:addresses_IfcPerson
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPerson ;
    rdfs:label "Addresses" ;
    rdfs:range :IfcAddress_List .

:agreementFlag_IfcHalfSpaceSolid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcHalfSpaceSolid ;
    rdfs:label "AgreementFlag" ;
    rdfs:range :IfcBoolean .

:ambientIntensity_IfcLightSource
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightSource ;
    rdfs:label "AmbientIntensity" ;
    rdfs:range :IfcNormalisedRatioMeasure .

:amountOfSubstanceExponent_IfcDimensionalExponents
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDimensionalExponents ;
    rdfs:label "AmountOfSubstanceExponent" ;
    rdfs:range expr:INTEGER .

:anchorageSlip_IfcTendon
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTendon ;
    rdfs:label "AnchorageSlip" ;
    rdfs:range :IfcPositiveLengthMeasure .

:angle_IfcRevolvedAreaSolid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRevolvedAreaSolid ;
    rdfs:label "Angle" ;
    rdfs:range :IfcPlaneAngleMeasure .

:applicableDate_IfcAppliedValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAppliedValue ;
    rdfs:label "ApplicableDate" ;
    rdfs:range :IfcDate .

:applicableEntity_IfcPropertySetTemplate
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertySetTemplate ;
    rdfs:label "ApplicableEntity" ;
    rdfs:range :IfcIdentifier .

:applicableOccurrence_IfcTypeObject
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTypeObject ;
    rdfs:label "ApplicableOccurrence" ;
    rdfs:range :IfcIdentifier .

:applicationDeveloper_IfcApplication
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcApplication ;
    rdfs:label "ApplicationDeveloper" ;
    rdfs:range :IfcOrganization .

:applicationFullName_IfcApplication
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcApplication ;
    rdfs:label "ApplicationFullName" ;
    rdfs:range :IfcLabel .

:applicationIdentifier_IfcApplication
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcApplication ;
    rdfs:label "ApplicationIdentifier" ;
    rdfs:range :IfcIdentifier .

:appliedCondition_IfcRelConnectsStructuralMember
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelConnectsStructuralMember ;
    rdfs:label "AppliedCondition" ;
    rdfs:range :IfcBoundaryCondition .

:appliedCondition_IfcStructuralConnection
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralConnection ;
    rdfs:label "AppliedCondition" ;
    rdfs:range :IfcBoundaryCondition .

:appliedLoad_IfcStructuralActivity
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralActivity ;
    rdfs:label "AppliedLoad" ;
    rdfs:range :IfcStructuralLoad .

:appliedValue_IfcAppliedValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAppliedValue ;
    rdfs:label "AppliedValue" ;
    rdfs:range :IfcAppliedValueSelect .

:approvedObjects_IfcApproval
    a owl:ObjectProperty ;
    rdfs:domain :IfcApproval ;
    rdfs:label "ApprovedObjects" ;
    rdfs:range :IfcRelAssociatesApproval ;
    owl:inverseOf :relatingApproval_IfcRelAssociatesApproval .

:approvedResources_IfcApproval
    a owl:ObjectProperty ;
    rdfs:domain :IfcApproval ;
    rdfs:label "ApprovedResources" ;
    rdfs:range :IfcResourceApprovalRelationship ;
    owl:inverseOf :relatingApproval_IfcResourceApprovalRelationship .

:areaValue_IfcQuantityArea
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcQuantityArea ;
    rdfs:label "AreaValue" ;
    rdfs:range :IfcAreaMeasure .

:arithmeticOperator_IfcAppliedValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAppliedValue ;
    rdfs:label "ArithmeticOperator" ;
    rdfs:range :IfcArithmeticOperatorEnum .

:assemblyPlace_IfcElementAssembly
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcElementAssembly ;
    rdfs:label "AssemblyPlace" ;
    rdfs:range :IfcAssemblyPlaceEnum .

:assemblyPlace_IfcFurnitureType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFurnitureType ;
    rdfs:label "AssemblyPlace" ;
    rdfs:range :IfcAssemblyPlaceEnum .

:assignedItems_IfcPresentationLayerAssignment
    a owl:ObjectProperty ;
    rdfs:domain :IfcPresentationLayerAssignment ;
    rdfs:label "AssignedItems" ;
    rdfs:range :IfcLayeredItem .

:assignedStructuralActivity_IfcStructuralItem
    a owl:ObjectProperty ;
    rdfs:domain :IfcStructuralItem ;
    rdfs:label "AssignedStructuralActivity" ;
    rdfs:range :IfcRelConnectsStructuralActivity ;
    owl:inverseOf :relatingElement_IfcRelConnectsStructuralActivity .

:assignedToFlowElement_IfcDistributionControlElement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDistributionControlElement ;
    rdfs:label "AssignedToFlowElement" ;
    rdfs:range :IfcRelFlowControlElements ;
    owl:inverseOf :relatedControlElements_IfcRelFlowControlElements .

:assignedToStructuralItem_IfcStructuralActivity
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralActivity ;
    rdfs:label "AssignedToStructuralItem" ;
    rdfs:range :IfcRelConnectsStructuralActivity ;
    owl:inverseOf :relatedStructuralActivity_IfcRelConnectsStructuralActivity .

:attributeIdentifier_IfcReference
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReference ;
    rdfs:label "AttributeIdentifier" ;
    rdfs:range :IfcIdentifier .

:axis1_IfcCartesianTransformationOperator
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCartesianTransformationOperator ;
    rdfs:label "Axis1" ;
    rdfs:range :IfcDirection .

:axis2_IfcCartesianTransformationOperator
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCartesianTransformationOperator ;
    rdfs:label "Axis2" ;
    rdfs:range :IfcDirection .

:axis3_IfcCartesianTransformationOperator3D
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCartesianTransformationOperator3D ;
    rdfs:label "Axis3" ;
    rdfs:range :IfcDirection .

:axisCurve_IfcGridAxis
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcGridAxis ;
    rdfs:label "AxisCurve" ;
    rdfs:range :IfcCurve .

:axisPosition_IfcSurfaceOfRevolution
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceOfRevolution ;
    rdfs:label "AxisPosition" ;
    rdfs:range :IfcAxis1Placement .

:axisTag_IfcGridAxis
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcGridAxis ;
    rdfs:label "AxisTag" ;
    rdfs:range :IfcLabel .

:axis_IfcAxis1Placement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAxis1Placement ;
    rdfs:label "Axis" ;
    rdfs:range :IfcDirection .

:axis_IfcAxis2Placement3D
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAxis2Placement3D ;
    rdfs:label "Axis" ;
    rdfs:range :IfcDirection .

:axis_IfcRevolvedAreaSolid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRevolvedAreaSolid ;
    rdfs:label "Axis" ;
    rdfs:range :IfcAxis1Placement .

:axis_IfcStructuralCurveConnection
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralCurveConnection ;
    rdfs:label "Axis" ;
    rdfs:range :IfcDirection .

:axis_IfcStructuralCurveMember
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralCurveMember ;
    rdfs:label "Axis" ;
    rdfs:range :IfcDirection .

:backgroundColour_IfcTextStyleForDefinedFont
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextStyleForDefinedFont ;
    rdfs:label "BackgroundColour" ;
    rdfs:range :IfcColour .

:barCount_IfcReinforcementBarProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcementBarProperties ;
    rdfs:label "BarCount" ;
    rdfs:range :IfcCountMeasure .

:barLength_IfcReinforcingBar
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingBar ;
    rdfs:label "BarLength" ;
    rdfs:range :IfcPositiveLengthMeasure .

:barLength_IfcReinforcingBarType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingBarType ;
    rdfs:label "BarLength" ;
    rdfs:range :IfcPositiveLengthMeasure .

:barSurface_IfcReinforcementBarProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcementBarProperties ;
    rdfs:label "BarSurface" ;
    rdfs:range :IfcReinforcingBarSurfaceEnum .

:barSurface_IfcReinforcingBar
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingBar ;
    rdfs:label "BarSurface" ;
    rdfs:range :IfcReinforcingBarSurfaceEnum .

:barSurface_IfcReinforcingBarType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingBarType ;
    rdfs:label "BarSurface" ;
    rdfs:range :IfcReinforcingBarSurfaceEnum .

:baseCosts_IfcConstructionResource
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConstructionResource ;
    rdfs:label "BaseCosts" ;
    rdfs:range :IfcAppliedValue_List .

:baseCosts_IfcConstructionResourceType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConstructionResourceType ;
    rdfs:label "BaseCosts" ;
    rdfs:range :IfcAppliedValue_List .

:baseQuantity_IfcConstructionResource
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConstructionResource ;
    rdfs:label "BaseQuantity" ;
    rdfs:range :IfcPhysicalQuantity .

:baseQuantity_IfcConstructionResourceType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConstructionResourceType ;
    rdfs:label "BaseQuantity" ;
    rdfs:range :IfcPhysicalQuantity .

:baseSurface_IfcHalfSpaceSolid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcHalfSpaceSolid ;
    rdfs:label "BaseSurface" ;
    rdfs:range :IfcSurface .

:basisCurve_IfcOffsetCurve2D
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOffsetCurve2D ;
    rdfs:label "BasisCurve" ;
    rdfs:range :IfcCurve .

:basisCurve_IfcOffsetCurve3D
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOffsetCurve3D ;
    rdfs:label "BasisCurve" ;
    rdfs:range :IfcCurve .

:basisCurve_IfcPointOnCurve
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPointOnCurve ;
    rdfs:label "BasisCurve" ;
    rdfs:range :IfcCurve .

:basisCurve_IfcTrimmedCurve
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTrimmedCurve ;
    rdfs:label "BasisCurve" ;
    rdfs:range :IfcCurve .

:basisSurface_IfcCurveBoundedPlane
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCurveBoundedPlane ;
    rdfs:label "BasisSurface" ;
    rdfs:range :IfcPlane .

:basisSurface_IfcCurveBoundedSurface
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCurveBoundedSurface ;
    rdfs:label "BasisSurface" ;
    rdfs:range :IfcSurface .

:basisSurface_IfcPcurve
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPcurve ;
    rdfs:label "BasisSurface" ;
    rdfs:range :IfcSurface .

:basisSurface_IfcPointOnSurface
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPointOnSurface ;
    rdfs:label "BasisSurface" ;
    rdfs:range :IfcSurface .

:basisSurface_IfcRectangularTrimmedSurface
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRectangularTrimmedSurface ;
    rdfs:label "BasisSurface" ;
    rdfs:range :IfcSurface .

:beamWidthAngle_IfcLightSourceSpot
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightSourceSpot ;
    rdfs:label "BeamWidthAngle" ;
    rdfs:range :IfcPositivePlaneAngleMeasure .

:benchmarkValues_IfcObjective
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcObjective ;
    rdfs:label "BenchmarkValues" ;
    rdfs:range :IfcConstraint_List .

:benchmark_IfcMetric
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMetric ;
    rdfs:label "Benchmark" ;
    rdfs:range :IfcBenchmarkEnum .

:bendingParameters_IfcReinforcingBarType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingBarType ;
    rdfs:label "BendingParameters" ;
    rdfs:range :IfcBendingParameterSelect_List .

:bendingParameters_IfcReinforcingMeshType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingMeshType ;
    rdfs:label "BendingParameters" ;
    rdfs:range :IfcBendingParameterSelect_List .

:bendingShapeCode_IfcReinforcingBarType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingBarType ;
    rdfs:label "BendingShapeCode" ;
    rdfs:range :IfcLabel .

:bendingShapeCode_IfcReinforcingMeshType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingMeshType ;
    rdfs:label "BendingShapeCode" ;
    rdfs:range :IfcLabel .

:blue_IfcColourRgb
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcColourRgb ;
    rdfs:label "Blue" ;
    rdfs:range :IfcNormalisedRatioMeasure .

:bottomFlangeEdgeRadius_IfcAsymmetricIShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAsymmetricIShapeProfileDef ;
    rdfs:label "BottomFlangeEdgeRadius" ;
    rdfs:range :IfcNonNegativeLengthMeasure .

:bottomFlangeFilletRadius_IfcAsymmetricIShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAsymmetricIShapeProfileDef ;
    rdfs:label "BottomFlangeFilletRadius" ;
    rdfs:range :IfcNonNegativeLengthMeasure .

:bottomFlangeSlope_IfcAsymmetricIShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAsymmetricIShapeProfileDef ;
    rdfs:label "BottomFlangeSlope" ;
    rdfs:range :IfcPlaneAngleMeasure .

:bottomFlangeThickness_IfcAsymmetricIShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAsymmetricIShapeProfileDef ;
    rdfs:label "BottomFlangeThickness" ;
    rdfs:range :IfcPositiveLengthMeasure .

:bottomFlangeWidth_IfcAsymmetricIShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAsymmetricIShapeProfileDef ;
    rdfs:label "BottomFlangeWidth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:bottomRadius_IfcRightCircularCone
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRightCircularCone ;
    rdfs:label "BottomRadius" ;
    rdfs:range :IfcPositiveLengthMeasure .

:bottomXDim_IfcTrapeziumProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTrapeziumProfileDef ;
    rdfs:label "BottomXDim" ;
    rdfs:range :IfcPositiveLengthMeasure .

:bound_IfcFaceBound
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFaceBound ;
    rdfs:label "Bound" ;
    rdfs:range :IfcLoop .

:boundaries_IfcCurveBoundedSurface
    a owl:ObjectProperty ;
    rdfs:domain :IfcCurveBoundedSurface ;
    rdfs:label "Boundaries" ;
    rdfs:range :IfcBoundaryCurve .

:bounds_IfcFace
    a owl:ObjectProperty ;
    rdfs:domain :IfcFace ;
    rdfs:label "Bounds" ;
    rdfs:range :IfcFaceBound .

:boxAlignment_IfcTextLiteralWithExtent
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextLiteralWithExtent ;
    rdfs:label "BoxAlignment" ;
    rdfs:range :IfcBoxAlignment .

:buildingAddress_IfcBuilding
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBuilding ;
    rdfs:label "BuildingAddress" ;
    rdfs:range :IfcPostalAddress .

:cardinalEndPoint_IfcMaterialProfileSetUsageTapering
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialProfileSetUsageTapering ;
    rdfs:label "CardinalEndPoint" ;
    rdfs:range :IfcCardinalPointReference .

:cardinalPoint_IfcMaterialProfileSetUsage
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialProfileSetUsage ;
    rdfs:label "CardinalPoint" ;
    rdfs:range :IfcCardinalPointReference .

:casingDepth_IfcDoorLiningProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorLiningProperties ;
    rdfs:label "CasingDepth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:casingThickness_IfcDoorLiningProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorLiningProperties ;
    rdfs:label "CasingThickness" ;
    rdfs:range :IfcPositiveLengthMeasure .

:category_IfcAppliedValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAppliedValue ;
    rdfs:label "Category" ;
    rdfs:range :IfcLabel .

:category_IfcMaterial
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterial ;
    rdfs:label "Category" ;
    rdfs:range :IfcLabel .

:category_IfcMaterialConstituent
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialConstituent ;
    rdfs:label "Category" ;
    rdfs:range :IfcLabel .

:category_IfcMaterialLayer
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialLayer ;
    rdfs:label "Category" ;
    rdfs:range :IfcLabel .

:category_IfcMaterialProfile
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialProfile ;
    rdfs:label "Category" ;
    rdfs:range :IfcLabel .

:cfsFaces_IfcConnectedFaceSet
    a owl:ObjectProperty ;
    rdfs:domain :IfcConnectedFaceSet ;
    rdfs:label "CfsFaces" ;
    rdfs:range :IfcFace .

:changeAction_IfcOwnerHistory
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOwnerHistory ;
    rdfs:label "ChangeAction" ;
    rdfs:range :IfcChangeActionEnum .

:classifiedMaterial_IfcMaterialClassificationRelationship
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialClassificationRelationship ;
    rdfs:label "ClassifiedMaterial" ;
    rdfs:range :IfcMaterial .

:closedCurve_IfcBSplineCurve
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBSplineCurve ;
    rdfs:label "ClosedCurve" ;
    rdfs:range :IfcLogical .

:closed_IfcTessellatedFaceSet
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTessellatedFaceSet ;
    rdfs:label "Closed" ;
    rdfs:range :IfcBoolean .

:coefficient_IfcStructuralLoadGroup
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadGroup ;
    rdfs:label "Coefficient" ;
    rdfs:range :IfcRatioMeasure .

:colourAppearance_IfcLightSourceGoniometric
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightSourceGoniometric ;
    rdfs:label "ColourAppearance" ;
    rdfs:range :IfcColourRgb .

:colourComponents_IfcPixelTexture
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPixelTexture ;
    rdfs:label "ColourComponents" ;
    rdfs:range :IfcInteger .

:colourIndex_IfcIndexedColourMap
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcIndexedColourMap ;
    rdfs:label "ColourIndex" ;
    rdfs:range :IfcPositiveInteger_List .

:colourList_IfcColourRgbList
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcColourRgbList ;
    rdfs:label "ColourList" ;
    rdfs:range :IfcNormalisedRatioMeasure_List_List .

:colourTemperature_IfcLightSourceGoniometric
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightSourceGoniometric ;
    rdfs:label "ColourTemperature" ;
    rdfs:range :IfcThermodynamicTemperatureMeasure .

:colour_IfcTextStyleForDefinedFont
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextStyleForDefinedFont ;
    rdfs:label "Colour" ;
    rdfs:range :IfcColour .

:colours_IfcIndexedColourMap
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcIndexedColourMap ;
    rdfs:label "Colours" ;
    rdfs:range :IfcColourRgbList .

:columns_IfcTable
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTable ;
    rdfs:label "Columns" ;
    rdfs:range :IfcTableColumn_List .

:completion_IfcResourceTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcResourceTime ;
    rdfs:label "Completion" ;
    rdfs:range :IfcPositiveRatioMeasure .

:completion_IfcTaskTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTaskTime ;
    rdfs:label "Completion" ;
    rdfs:range :IfcPositiveRatioMeasure .

:components_IfcAppliedValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAppliedValue ;
    rdfs:label "Components" ;
    rdfs:range :IfcAppliedValue_List .

:compositeProfile_IfcMaterialProfileSet
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialProfileSet ;
    rdfs:label "CompositeProfile" ;
    rdfs:range :IfcCompositeProfileDef .

:compositionType_IfcSpatialStructureElement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSpatialStructureElement ;
    rdfs:label "CompositionType" ;
    rdfs:range :IfcElementCompositionEnum .

:compressionFailureX_IfcFailureConnectionCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFailureConnectionCondition ;
    rdfs:label "CompressionFailureX" ;
    rdfs:range :IfcForceMeasure .

:compressionFailureY_IfcFailureConnectionCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFailureConnectionCondition ;
    rdfs:label "CompressionFailureY" ;
    rdfs:range :IfcForceMeasure .

:compressionFailureZ_IfcFailureConnectionCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFailureConnectionCondition ;
    rdfs:label "CompressionFailureZ" ;
    rdfs:range :IfcForceMeasure .

:concentrationExponent_IfcLightSourceSpot
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightSourceSpot ;
    rdfs:label "ConcentrationExponent" ;
    rdfs:range :IfcReal .

:conditionCoordinateSystem_IfcRelConnectsStructuralMember
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelConnectsStructuralMember ;
    rdfs:label "ConditionCoordinateSystem" ;
    rdfs:range :IfcAxis2Placement3D .

:conditionCoordinateSystem_IfcStructuralPointConnection
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralPointConnection ;
    rdfs:label "ConditionCoordinateSystem" ;
    rdfs:range :IfcAxis2Placement3D .

:condition_IfcAppliedValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAppliedValue ;
    rdfs:label "Condition" ;
    rdfs:range :IfcLabel .

:confidentiality_IfcDocumentInformation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDocumentInformation ;
    rdfs:label "Confidentiality" ;
    rdfs:range :IfcDocumentConfidentialityEnum .

:connectedBy_IfcStructuralMember
    a owl:ObjectProperty ;
    rdfs:domain :IfcStructuralMember ;
    rdfs:label "ConnectedBy" ;
    rdfs:range :IfcRelConnectsStructuralMember ;
    owl:inverseOf :relatingStructuralMember_IfcRelConnectsStructuralMember .

:connectedFrom_IfcElement
    a owl:ObjectProperty ;
    rdfs:domain :IfcElement ;
    rdfs:label "ConnectedFrom" ;
    rdfs:range :IfcRelConnectsElements ;
    owl:inverseOf :relatedElement_IfcRelConnectsElements .

:connectedFrom_IfcPort
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPort ;
    rdfs:label "ConnectedFrom" ;
    rdfs:range :IfcRelConnectsPorts ;
    owl:inverseOf :relatedPort_IfcRelConnectsPorts .

:connectedTo_IfcElement
    a owl:ObjectProperty ;
    rdfs:domain :IfcElement ;
    rdfs:label "ConnectedTo" ;
    rdfs:range :IfcRelConnectsElements ;
    owl:inverseOf :relatingElement_IfcRelConnectsElements .

:connectedTo_IfcPort
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPort ;
    rdfs:label "ConnectedTo" ;
    rdfs:range :IfcRelConnectsPorts ;
    owl:inverseOf :relatingPort_IfcRelConnectsPorts .

:connectionConstraint_IfcRelConnectsWithEccentricity
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelConnectsWithEccentricity ;
    rdfs:label "ConnectionConstraint" ;
    rdfs:range :IfcConnectionGeometry .

:connectionGeometry_IfcRelConnectsElements
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelConnectsElements ;
    rdfs:label "ConnectionGeometry" ;
    rdfs:range :IfcConnectionGeometry .

:connectionGeometry_IfcRelSpaceBoundary
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelSpaceBoundary ;
    rdfs:label "ConnectionGeometry" ;
    rdfs:range :IfcConnectionGeometry .

:connectionType_IfcRelConnectsWithRealizingElements
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelConnectsWithRealizingElements ;
    rdfs:label "ConnectionType" ;
    rdfs:range :IfcLabel .

:connectsStructuralMembers_IfcStructuralConnection
    a owl:ObjectProperty ;
    rdfs:domain :IfcStructuralConnection ;
    rdfs:label "ConnectsStructuralMembers" ;
    rdfs:range :IfcRelConnectsStructuralMember ;
    owl:inverseOf :relatedStructuralConnection_IfcRelConnectsStructuralMember .

:constantAttenuation_IfcLightSourcePositional
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightSourcePositional ;
    rdfs:label "ConstantAttenuation" ;
    rdfs:range :IfcReal .

:constraintGrade_IfcConstraint
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConstraint ;
    rdfs:label "ConstraintGrade" ;
    rdfs:range :IfcConstraintEnum .

:constraintSource_IfcConstraint
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConstraint ;
    rdfs:label "ConstraintSource" ;
    rdfs:range :IfcLabel .

:constructionType_IfcDoorStyle
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorStyle ;
    rdfs:label "ConstructionType" ;
    rdfs:range :IfcDoorStyleConstructionEnum .

:constructionType_IfcPile
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPile ;
    rdfs:label "ConstructionType" ;
    rdfs:range :IfcPileConstructionEnum .

:constructionType_IfcWindowStyle
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindowStyle ;
    rdfs:label "ConstructionType" ;
    rdfs:range :IfcWindowStyleConstructionEnum .

:containedIn_IfcPort
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPort ;
    rdfs:label "ContainedIn" ;
    rdfs:range :IfcRelConnectsPortToElement ;
    owl:inverseOf :relatingPort_IfcRelConnectsPortToElement .

:containsElements_IfcSpatialElement
    a owl:ObjectProperty ;
    rdfs:domain :IfcSpatialElement ;
    rdfs:label "ContainsElements" ;
    rdfs:range :IfcRelContainedInSpatialStructure ;
    owl:inverseOf :relatingStructure_IfcRelContainedInSpatialStructure .

:contextIdentifier_IfcRepresentationContext
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRepresentationContext ;
    rdfs:label "ContextIdentifier" ;
    rdfs:range :IfcLabel .

:contextOfItems_IfcRepresentation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRepresentation ;
    rdfs:label "ContextOfItems" ;
    rdfs:range :IfcRepresentationContext ;
    owl:inverseOf :representationsInContext_IfcRepresentationContext .

:contextType_IfcRepresentationContext
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRepresentationContext ;
    rdfs:label "ContextType" ;
    rdfs:range :IfcLabel .

:controlPointsList_IfcBSplineCurve
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBSplineCurve ;
    rdfs:label "ControlPointsList" ;
    rdfs:range :IfcCartesianPoint_List .

:controlPointsList_IfcBSplineSurface
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBSplineSurface ;
    rdfs:label "ControlPointsList" ;
    rdfs:range :IfcCartesianPoint_List_List .

:controls_IfcControl
    a owl:ObjectProperty ;
    rdfs:domain :IfcControl ;
    rdfs:label "Controls" ;
    rdfs:range :IfcRelAssignsToControl ;
    owl:inverseOf :relatingControl_IfcRelAssignsToControl .

:conversionFactor_IfcConversionBasedUnit
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConversionBasedUnit ;
    rdfs:label "ConversionFactor" ;
    rdfs:range :IfcMeasureWithUnit .

:conversionOffset_IfcConversionBasedUnitWithOffset
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConversionBasedUnitWithOffset ;
    rdfs:label "ConversionOffset" ;
    rdfs:range :IfcReal .

:coordIndex_IfcTriangulatedFaceSet
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTriangulatedFaceSet ;
    rdfs:label "CoordIndex" ;
    rdfs:range :IfcPositiveInteger_List_List .

:coordList_IfcCartesianPointList2D
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCartesianPointList2D ;
    rdfs:label "CoordList" ;
    rdfs:range :IfcLengthMeasure_List_List .

:coordList_IfcCartesianPointList3D
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCartesianPointList3D ;
    rdfs:label "CoordList" ;
    rdfs:range :IfcLengthMeasure_List_List .

:coordinateSpaceDimension_IfcGeometricRepresentationContext
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcGeometricRepresentationContext ;
    rdfs:label "CoordinateSpaceDimension" ;
    rdfs:range :IfcDimensionCount .

:coordinates_IfcCartesianPoint
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCartesianPoint ;
    rdfs:label "Coordinates" ;
    rdfs:range :IfcLengthMeasure_List .

:coordinates_IfcTessellatedFaceSet
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTessellatedFaceSet ;
    rdfs:label "Coordinates" ;
    rdfs:range :IfcCartesianPointList3D .

:coordinates_IfcTextureVertex
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextureVertex ;
    rdfs:label "Coordinates" ;
    rdfs:range :IfcParameterValue_List .

:corner_IfcBoundingBox
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBoundingBox ;
    rdfs:label "Corner" ;
    rdfs:range :IfcCartesianPoint .

:correspondingBoundary_IfcRelSpaceBoundary2ndLevel
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelSpaceBoundary2ndLevel ;
    rdfs:label "CorrespondingBoundary" ;
    rdfs:range :IfcRelSpaceBoundary2ndLevel ;
    owl:inverseOf :corresponds_IfcRelSpaceBoundary2ndLevel .

:corresponds_IfcRelSpaceBoundary2ndLevel
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelSpaceBoundary2ndLevel ;
    rdfs:label "Corresponds" ;
    rdfs:range :IfcRelSpaceBoundary2ndLevel ;
    owl:inverseOf :correspondingBoundary_IfcRelSpaceBoundary2ndLevel .

:costQuantities_IfcCostItem
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCostItem ;
    rdfs:label "CostQuantities" ;
    rdfs:range :IfcPhysicalQuantity_List .

:costValues_IfcCostItem
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCostItem ;
    rdfs:label "CostValues" ;
    rdfs:range :IfcCostValue_List .

:countValue_IfcQuantityCount
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcQuantityCount ;
    rdfs:label "CountValue" ;
    rdfs:range :IfcCountMeasure .

:country_IfcPostalAddress
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPostalAddress ;
    rdfs:label "Country" ;
    rdfs:range :IfcLabel .

:coversElements_IfcCovering
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCovering ;
    rdfs:label "CoversElements" ;
    rdfs:range :IfcRelCoversBldgElements ;
    owl:inverseOf :relatedCoverings_IfcRelCoversBldgElements .

:coversSpaces_IfcCovering
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCovering ;
    rdfs:label "CoversSpaces" ;
    rdfs:range :IfcRelCoversSpaces ;
    owl:inverseOf :relatedCoverings_IfcRelCoversSpaces .

:creatingActor_IfcConstraint
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConstraint ;
    rdfs:label "CreatingActor" ;
    rdfs:range :IfcActorSelect .

:creationDate_IfcOwnerHistory
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOwnerHistory ;
    rdfs:label "CreationDate" ;
    rdfs:range :IfcTimeStamp .

:creationDate_IfcWorkControl
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWorkControl ;
    rdfs:label "CreationDate" ;
    rdfs:range :IfcDateTime .

:creationTime_IfcConstraint
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConstraint ;
    rdfs:label "CreationTime" ;
    rdfs:range :IfcDateTime .

:creationTime_IfcDocumentInformation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDocumentInformation ;
    rdfs:label "CreationTime" ;
    rdfs:range :IfcDateTime .

:creators_IfcWorkControl
    a owl:ObjectProperty ;
    rdfs:domain :IfcWorkControl ;
    rdfs:label "Creators" ;
    rdfs:range :IfcPerson .

:crossSectionArea_IfcReinforcingBar
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingBar ;
    rdfs:label "CrossSectionArea" ;
    rdfs:range :IfcAreaMeasure .

:crossSectionArea_IfcReinforcingBarType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingBarType ;
    rdfs:label "CrossSectionArea" ;
    rdfs:range :IfcAreaMeasure .

:crossSectionArea_IfcTendon
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTendon ;
    rdfs:label "CrossSectionArea" ;
    rdfs:range :IfcAreaMeasure .

:crossSectionArea_IfcTendonType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTendonType ;
    rdfs:label "CrossSectionArea" ;
    rdfs:range :IfcAreaMeasure .

:crossSectionPositions_IfcSectionedSpine
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSectionedSpine ;
    rdfs:label "CrossSectionPositions" ;
    rdfs:range :IfcAxis2Placement3D_List .

:crossSectionReinforcementDefinitions_IfcSectionReinforcementProperties
    a owl:ObjectProperty ;
    rdfs:domain :IfcSectionReinforcementProperties ;
    rdfs:label "CrossSectionReinforcementDefinitions" ;
    rdfs:range :IfcReinforcementBarProperties .

:crossSections_IfcSectionedSpine
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSectionedSpine ;
    rdfs:label "CrossSections" ;
    rdfs:range :IfcProfileDef_List .

:currency_IfcMonetaryUnit
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMonetaryUnit ;
    rdfs:label "Currency" ;
    rdfs:range :IfcLabel .

:currentValue_IfcAsset
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAsset ;
    rdfs:label "CurrentValue" ;
    rdfs:range :IfcCostValue .

:currentValue_IfcInventory
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcInventory ;
    rdfs:label "CurrentValue" ;
    rdfs:range :IfcCostValue .

:curveColour_IfcCurveStyle
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCurveStyle ;
    rdfs:label "CurveColour" ;
    rdfs:range :IfcColour .

:curveFontScaling_IfcCurveStyleFontAndScaling
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCurveStyleFontAndScaling ;
    rdfs:label "CurveFontScaling" ;
    rdfs:range :IfcPositiveRatioMeasure .

:curveFont_IfcCurveStyle
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCurveStyle ;
    rdfs:label "CurveFont" ;
    rdfs:range :IfcCurveFontOrScaledCurveFontSelect .

:curveFont_IfcCurveStyleFontAndScaling
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCurveStyleFontAndScaling ;
    rdfs:label "CurveFont" ;
    rdfs:range :IfcCurveStyleFontSelect .

:curveForm_IfcBSplineCurve
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBSplineCurve ;
    rdfs:label "CurveForm" ;
    rdfs:range :IfcBSplineCurveForm .

:curveInterpolation_IfcPropertyTableValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertyTableValue ;
    rdfs:label "CurveInterpolation" ;
    rdfs:range :IfcCurveInterpolationEnum .

:curveOnRelatedElement_IfcConnectionCurveGeometry
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConnectionCurveGeometry ;
    rdfs:label "CurveOnRelatedElement" ;
    rdfs:range :IfcCurveOrEdgeCurve .

:curveOnRelatingElement_IfcConnectionCurveGeometry
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConnectionCurveGeometry ;
    rdfs:label "CurveOnRelatingElement" ;
    rdfs:range :IfcCurveOrEdgeCurve .

:curveWidth_IfcCurveStyle
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCurveStyle ;
    rdfs:label "CurveWidth" ;
    rdfs:range :IfcSizeSelect .

:curve_IfcArbitraryOpenProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcArbitraryOpenProfileDef ;
    rdfs:label "Curve" ;
    rdfs:range :IfcBoundedCurve .

:dataOrigin_IfcSchedulingTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSchedulingTime ;
    rdfs:label "DataOrigin" ;
    rdfs:range :IfcDataOriginEnum .

:dataOrigin_IfcTimeSeries
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTimeSeries ;
    rdfs:label "DataOrigin" ;
    rdfs:range :IfcDataOriginEnum .

:dataValue_IfcMetric
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMetric ;
    rdfs:label "DataValue" ;
    rdfs:range :IfcMetricValueSelect .

:dayComponent_IfcRecurrencePattern
    a owl:ObjectProperty ;
    rdfs:domain :IfcRecurrencePattern ;
    rdfs:label "DayComponent" ;
    rdfs:range :IfcDayInMonthNumber .

:declares_IfcContext
    a owl:ObjectProperty ;
    rdfs:domain :IfcContext ;
    rdfs:label "Declares" ;
    rdfs:range :IfcRelDeclares ;
    owl:inverseOf :relatingContext_IfcRelDeclares .

:declares_IfcObject
    a owl:ObjectProperty ;
    rdfs:domain :IfcObject ;
    rdfs:label "Declares" ;
    rdfs:range :IfcRelDefinesByObject ;
    owl:inverseOf :relatingObject_IfcRelDefinesByObject .

:decomposes_IfcObjectDefinition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcObjectDefinition ;
    rdfs:label "Decomposes" ;
    rdfs:range :IfcRelAggregates ;
    owl:inverseOf :relatedObjects_IfcRelAggregates .

:definedUnit_IfcPropertyTableValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertyTableValue ;
    rdfs:label "DefinedUnit" ;
    rdfs:range :IfcUnit .

:definedValues_IfcPropertyTableValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertyTableValue ;
    rdfs:label "DefinedValues" ;
    rdfs:range :IfcValue_List .

:definesOccurrence_IfcPropertySetDefinition
    a owl:ObjectProperty ;
    rdfs:domain :IfcPropertySetDefinition ;
    rdfs:label "DefinesOccurrence" ;
    rdfs:range :IfcRelDefinesByProperties ;
    owl:inverseOf :relatingPropertyDefinition_IfcRelDefinesByProperties .

:definesType_IfcPropertySetDefinition
    a owl:ObjectProperty ;
    rdfs:domain :IfcPropertySetDefinition ;
    rdfs:label "DefinesType" ;
    rdfs:range :IfcTypeObject ;
    owl:inverseOf :hasPropertySets_IfcTypeObject .

:defines_IfcPropertySetTemplate
    a owl:ObjectProperty ;
    rdfs:domain :IfcPropertySetTemplate ;
    rdfs:label "Defines" ;
    rdfs:range :IfcRelDefinesByTemplate ;
    owl:inverseOf :relatingTemplate_IfcRelDefinesByTemplate .

:definingUnit_IfcPropertyTableValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertyTableValue ;
    rdfs:label "DefiningUnit" ;
    rdfs:range :IfcUnit .

:definingValues_IfcPropertyTableValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertyTableValue ;
    rdfs:label "DefiningValues" ;
    rdfs:range :IfcValue_List .

:definitionType_IfcReinforcementDefinitionProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcementDefinitionProperties ;
    rdfs:label "DefinitionType" ;
    rdfs:range :IfcLabel .

:degree_IfcBSplineCurve
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBSplineCurve ;
    rdfs:label "Degree" ;
    rdfs:range :IfcInteger .

:deltaTConstant_IfcStructuralLoadTemperature
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadTemperature ;
    rdfs:label "DeltaTConstant" ;
    rdfs:range :IfcThermodynamicTemperatureMeasure .

:deltaTY_IfcStructuralLoadTemperature
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadTemperature ;
    rdfs:label "DeltaTY" ;
    rdfs:range :IfcThermodynamicTemperatureMeasure .

:deltaTZ_IfcStructuralLoadTemperature
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadTemperature ;
    rdfs:label "DeltaTZ" ;
    rdfs:range :IfcThermodynamicTemperatureMeasure .

:dependantProperty_IfcPropertyDependencyRelationship
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertyDependencyRelationship ;
    rdfs:label "DependantProperty" ;
    rdfs:range :IfcProperty ;
    owl:inverseOf :propertyDependsOn_IfcProperty .

:dependingProperty_IfcPropertyDependencyRelationship
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertyDependencyRelationship ;
    rdfs:label "DependingProperty" ;
    rdfs:range :IfcProperty ;
    owl:inverseOf :propertyForDependance_IfcProperty .

:depreciatedValue_IfcAsset
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAsset ;
    rdfs:label "DepreciatedValue" ;
    rdfs:range :IfcCostValue .

:depth_IfcCShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCShapeProfileDef ;
    rdfs:label "Depth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:depth_IfcExtrudedAreaSolid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcExtrudedAreaSolid ;
    rdfs:label "Depth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:depth_IfcLShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLShapeProfileDef ;
    rdfs:label "Depth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:depth_IfcSurfaceOfLinearExtrusion
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceOfLinearExtrusion ;
    rdfs:label "Depth" ;
    rdfs:range :IfcLengthMeasure .

:depth_IfcTShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTShapeProfileDef ;
    rdfs:label "Depth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:depth_IfcUShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcUShapeProfileDef ;
    rdfs:label "Depth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:depth_IfcZShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcZShapeProfileDef ;
    rdfs:label "Depth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:description_IfcActorRole
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcActorRole ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcAddress
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAddress ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcAppliedValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAppliedValue ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcApproval
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcApproval ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcClassification
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcClassification ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcClassificationReference
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcClassificationReference ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcConstraint
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConstraint ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcCoordinateReferenceSystem
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCoordinateReferenceSystem ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcDocumentInformation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDocumentInformation ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcDocumentReference
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDocumentReference ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcExtendedProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcExtendedProperties ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcLibraryInformation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLibraryInformation ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcLibraryReference
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLibraryReference ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcMaterial
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterial ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcMaterialConstituent
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialConstituent ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcMaterialConstituentSet
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialConstituentSet ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcMaterialLayer
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialLayer ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcMaterialLayerSet
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialLayerSet ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcMaterialProfile
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialProfile ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcMaterialProfileSet
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialProfileSet ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcOrganization
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOrganization ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcPhysicalQuantity
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPhysicalQuantity ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcPresentationLayerAssignment
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPresentationLayerAssignment ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcProductRepresentation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProductRepresentation ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcProperty
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProperty ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcResourceLevelRelationship
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcResourceLevelRelationship ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcRoot
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRoot ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcShapeAspect
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcShapeAspect ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcTableColumn
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTableColumn ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:description_IfcTimeSeries
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTimeSeries ;
    rdfs:label "Description" ;
    rdfs:range :IfcText .

:destabilizingLoad_IfcStructuralAction
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralAction ;
    rdfs:label "DestabilizingLoad" ;
    rdfs:range :IfcBoolean .

:diffuseColour_IfcSurfaceStyleRendering
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceStyleRendering ;
    rdfs:label "DiffuseColour" ;
    rdfs:range :IfcColourOrFactor .

:diffuseReflectionColour_IfcSurfaceStyleLighting
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceStyleLighting ;
    rdfs:label "DiffuseReflectionColour" ;
    rdfs:range :IfcColourRgb .

:diffuseTransmissionColour_IfcSurfaceStyleLighting
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceStyleLighting ;
    rdfs:label "DiffuseTransmissionColour" ;
    rdfs:range :IfcColourRgb .

:diffuseTransmissionColour_IfcSurfaceStyleRendering
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceStyleRendering ;
    rdfs:label "DiffuseTransmissionColour" ;
    rdfs:range :IfcColourOrFactor .

:dimensions_IfcNamedUnit
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcNamedUnit ;
    rdfs:label "Dimensions" ;
    rdfs:range :IfcDimensionalExponents .

:dir_IfcLine
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLine ;
    rdfs:label "Dir" ;
    rdfs:range :IfcVector .

:directionRatios_IfcDirection
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDirection ;
    rdfs:label "DirectionRatios" ;
    rdfs:range :IfcReal_List .

:directionSense_IfcMaterialLayerSetUsage
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialLayerSetUsage ;
    rdfs:label "DirectionSense" ;
    rdfs:range :IfcDirectionSenseEnum .

:directrix_IfcFixedReferenceSweptAreaSolid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFixedReferenceSweptAreaSolid ;
    rdfs:label "Directrix" ;
    rdfs:range :IfcCurve .

:directrix_IfcSurfaceCurveSweptAreaSolid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceCurveSweptAreaSolid ;
    rdfs:label "Directrix" ;
    rdfs:range :IfcCurve .

:directrix_IfcSweptDiskSolid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSweptDiskSolid ;
    rdfs:label "Directrix" ;
    rdfs:range :IfcCurve .

:discrimination_IfcPhysicalComplexQuantity
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPhysicalComplexQuantity ;
    rdfs:label "Discrimination" ;
    rdfs:range :IfcLabel .

:dispersionFactor_IfcSurfaceStyleRefraction
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceStyleRefraction ;
    rdfs:label "DispersionFactor" ;
    rdfs:range :IfcReal .

:displacementX_IfcStructuralLoadSingleDisplacement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadSingleDisplacement ;
    rdfs:label "DisplacementX" ;
    rdfs:range :IfcLengthMeasure .

:displacementY_IfcStructuralLoadSingleDisplacement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadSingleDisplacement ;
    rdfs:label "DisplacementY" ;
    rdfs:range :IfcLengthMeasure .

:displacementZ_IfcStructuralLoadSingleDisplacement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadSingleDisplacement ;
    rdfs:label "DisplacementZ" ;
    rdfs:range :IfcLengthMeasure .

:distanceAttenuation_IfcLightSourcePositional
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightSourcePositional ;
    rdfs:label "DistanceAttenuation" ;
    rdfs:range :IfcReal .

:distance_IfcOffsetCurve2D
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOffsetCurve2D ;
    rdfs:label "Distance" ;
    rdfs:range :IfcLengthMeasure .

:distance_IfcOffsetCurve3D
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOffsetCurve3D ;
    rdfs:label "Distance" ;
    rdfs:range :IfcLengthMeasure .

:distortion_IfcStructuralLoadSingleDisplacementDistortion
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadSingleDisplacementDistortion ;
    rdfs:label "Distortion" ;
    rdfs:range :IfcCurvatureMeasure .

:distributionData_IfcLightIntensityDistribution
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightIntensityDistribution ;
    rdfs:label "DistributionData" ;
    rdfs:range :IfcLightDistributionData_List .

:documentOwner_IfcDocumentInformation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDocumentInformation ;
    rdfs:label "DocumentOwner" ;
    rdfs:range :IfcActorSelect .

:durationType_IfcLagTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLagTime ;
    rdfs:label "DurationType" ;
    rdfs:range :IfcTaskDurationEnum .

:durationType_IfcTaskTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTaskTime ;
    rdfs:label "DurationType" ;
    rdfs:range :IfcTaskDurationEnum .

:duration_IfcWorkControl
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWorkControl ;
    rdfs:label "Duration" ;
    rdfs:range :IfcDuration .

:earlyDate_IfcEventTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEventTime ;
    rdfs:label "EarlyDate" ;
    rdfs:range :IfcDateTime .

:earlyFinish_IfcTaskTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTaskTime ;
    rdfs:label "EarlyFinish" ;
    rdfs:range :IfcDateTime .

:earlyStart_IfcTaskTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTaskTime ;
    rdfs:label "EarlyStart" ;
    rdfs:range :IfcDateTime .

:eastings_IfcMapConversion
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMapConversion ;
    rdfs:label "Eastings" ;
    rdfs:range :IfcLengthMeasure .

:eccentricityInX_IfcConnectionPointEccentricity
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConnectionPointEccentricity ;
    rdfs:label "EccentricityInX" ;
    rdfs:range :IfcLengthMeasure .

:eccentricityInY_IfcConnectionPointEccentricity
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConnectionPointEccentricity ;
    rdfs:label "EccentricityInY" ;
    rdfs:range :IfcLengthMeasure .

:eccentricityInZ_IfcConnectionPointEccentricity
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConnectionPointEccentricity ;
    rdfs:label "EccentricityInZ" ;
    rdfs:range :IfcLengthMeasure .

:edgeElement_IfcOrientedEdge
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOrientedEdge ;
    rdfs:label "EdgeElement" ;
    rdfs:range :IfcEdge .

:edgeEnd_IfcEdge
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEdge ;
    rdfs:label "EdgeEnd" ;
    rdfs:range :IfcVertex .

:edgeGeometry_IfcEdgeCurve
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEdgeCurve ;
    rdfs:label "EdgeGeometry" ;
    rdfs:range :IfcCurve .

:edgeList_IfcEdgeLoop
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEdgeLoop ;
    rdfs:label "EdgeList" ;
    rdfs:range :IfcOrientedEdge_List .

:edgeList_IfcPath
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPath ;
    rdfs:label "EdgeList" ;
    rdfs:range :IfcOrientedEdge_List .

:edgeRadius_IfcLShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLShapeProfileDef ;
    rdfs:label "EdgeRadius" ;
    rdfs:range :IfcNonNegativeLengthMeasure .

:edgeRadius_IfcUShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcUShapeProfileDef ;
    rdfs:label "EdgeRadius" ;
    rdfs:range :IfcNonNegativeLengthMeasure .

:edgeRadius_IfcZShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcZShapeProfileDef ;
    rdfs:label "EdgeRadius" ;
    rdfs:range :IfcNonNegativeLengthMeasure .

:edgeStart_IfcEdge
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEdge ;
    rdfs:label "EdgeStart" ;
    rdfs:range :IfcVertex .

:editionDate_IfcClassification
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcClassification ;
    rdfs:label "EditionDate" ;
    rdfs:range :IfcDate .

:edition_IfcClassification
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcClassification ;
    rdfs:label "Edition" ;
    rdfs:range :IfcLabel .

:editors_IfcDocumentInformation
    a owl:ObjectProperty ;
    rdfs:domain :IfcDocumentInformation ;
    rdfs:label "Editors" ;
    rdfs:range :IfcActorSelect .

:effectiveDepth_IfcReinforcementBarProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcementBarProperties ;
    rdfs:label "EffectiveDepth" ;
    rdfs:range :IfcLengthMeasure .

:electricCurrentExponent_IfcDimensionalExponents
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDimensionalExponents ;
    rdfs:label "ElectricCurrentExponent" ;
    rdfs:range expr:INTEGER .

:electronicFormat_IfcDocumentInformation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDocumentInformation ;
    rdfs:label "ElectronicFormat" ;
    rdfs:range :IfcIdentifier .

:electronicMailAddresses_IfcTelecomAddress
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTelecomAddress ;
    rdfs:label "ElectronicMailAddresses" ;
    rdfs:range :IfcLabel_List .

:elementType_IfcElementType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcElementType ;
    rdfs:label "ElementType" ;
    rdfs:range :IfcLabel .

:elementType_IfcSpatialElementType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSpatialElementType ;
    rdfs:label "ElementType" ;
    rdfs:range :IfcLabel .

:elements_IfcDerivedUnit
    a owl:ObjectProperty ;
    rdfs:domain :IfcDerivedUnit ;
    rdfs:label "Elements" ;
    rdfs:range :IfcDerivedUnitElement .

:elements_IfcGeometricSet
    a owl:ObjectProperty ;
    rdfs:domain :IfcGeometricSet ;
    rdfs:label "Elements" ;
    rdfs:range :IfcGeometricSetSelect .

:elevationOfRefHeight_IfcBuilding
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBuilding ;
    rdfs:label "ElevationOfRefHeight" ;
    rdfs:range :IfcLengthMeasure .

:elevationOfTerrain_IfcBuilding
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBuilding ;
    rdfs:label "ElevationOfTerrain" ;
    rdfs:range :IfcLengthMeasure .

:elevationWithFlooring_IfcSpace
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSpace ;
    rdfs:label "ElevationWithFlooring" ;
    rdfs:range :IfcLengthMeasure .

:elevation_IfcBuildingStorey
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBuildingStorey ;
    rdfs:label "Elevation" ;
    rdfs:range :IfcLengthMeasure .

:enclosure_IfcBoxedHalfSpace
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBoxedHalfSpace ;
    rdfs:label "Enclosure" ;
    rdfs:range :IfcBoundingBox .

:endParam_IfcFixedReferenceSweptAreaSolid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFixedReferenceSweptAreaSolid ;
    rdfs:label "EndParam" ;
    rdfs:range :IfcParameterValue .

:endParam_IfcSurfaceCurveSweptAreaSolid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceCurveSweptAreaSolid ;
    rdfs:label "EndParam" ;
    rdfs:range :IfcParameterValue .

:endParam_IfcSweptDiskSolid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSweptDiskSolid ;
    rdfs:label "EndParam" ;
    rdfs:range :IfcParameterValue .

:endProfile_IfcSectionProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSectionProperties ;
    rdfs:label "EndProfile" ;
    rdfs:range :IfcProfileDef .

:endSweptArea_IfcExtrudedAreaSolidTapered
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcExtrudedAreaSolidTapered ;
    rdfs:label "EndSweptArea" ;
    rdfs:range :IfcProfileDef .

:endSweptArea_IfcRevolvedAreaSolidTapered
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRevolvedAreaSolidTapered ;
    rdfs:label "EndSweptArea" ;
    rdfs:range :IfcProfileDef .

:endTime_IfcTimePeriod
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTimePeriod ;
    rdfs:label "EndTime" ;
    rdfs:range :IfcTime .

:endTime_IfcTimeSeries
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTimeSeries ;
    rdfs:label "EndTime" ;
    rdfs:range :IfcDateTime .

:engagedIn_IfcPerson
    a owl:ObjectProperty ;
    rdfs:domain :IfcPerson ;
    rdfs:label "EngagedIn" ;
    rdfs:range :IfcPersonAndOrganization ;
    owl:inverseOf :thePerson_IfcPersonAndOrganization .

:engages_IfcOrganization
    a owl:ObjectProperty ;
    rdfs:domain :IfcOrganization ;
    rdfs:label "Engages" ;
    rdfs:range :IfcPersonAndOrganization ;
    owl:inverseOf :theOrganization_IfcPersonAndOrganization .

:enumerationReference_IfcPropertyEnumeratedValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertyEnumeratedValue ;
    rdfs:label "EnumerationReference" ;
    rdfs:range :IfcPropertyEnumeration .

:enumerationValues_IfcPropertyEnumeratedValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertyEnumeratedValue ;
    rdfs:label "EnumerationValues" ;
    rdfs:range :IfcValue_List .

:enumerationValues_IfcPropertyEnumeration
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertyEnumeration ;
    rdfs:label "EnumerationValues" ;
    rdfs:range :IfcValue_List .

:enumerators_IfcSimplePropertyTemplate
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSimplePropertyTemplate ;
    rdfs:label "Enumerators" ;
    rdfs:range :IfcPropertyEnumeration .

:eventOccurenceTime_IfcEvent
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEvent ;
    rdfs:label "EventOccurenceTime" ;
    rdfs:range :IfcEventTime .

:eventTriggerType_IfcEvent
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEvent ;
    rdfs:label "EventTriggerType" ;
    rdfs:range :IfcEventTriggerTypeEnum .

:eventTriggerType_IfcEventType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEventType ;
    rdfs:label "EventTriggerType" ;
    rdfs:range :IfcEventTriggerTypeEnum .

:exceptionTimes_IfcWorkCalendar
    a owl:ObjectProperty ;
    rdfs:domain :IfcWorkCalendar ;
    rdfs:label "ExceptionTimes" ;
    rdfs:range :IfcWorkTime .

:exchangeRate_IfcCurrencyRelationship
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCurrencyRelationship ;
    rdfs:label "ExchangeRate" ;
    rdfs:range :IfcPositiveRatioMeasure .

:exponent_IfcDerivedUnitElement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDerivedUnitElement ;
    rdfs:label "Exponent" ;
    rdfs:range expr:INTEGER .

:expression_IfcMaterialRelationship
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialRelationship ;
    rdfs:label "Expression" ;
    rdfs:range :IfcLabel .

:expression_IfcPropertyDependencyRelationship
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertyDependencyRelationship ;
    rdfs:label "Expression" ;
    rdfs:range :IfcText .

:expression_IfcPropertyTableValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertyTableValue ;
    rdfs:label "Expression" ;
    rdfs:range :IfcText .

:expression_IfcSimplePropertyTemplate
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSimplePropertyTemplate ;
    rdfs:label "Expression" ;
    rdfs:range :IfcLabel .

:extent_IfcTextLiteralWithExtent
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextLiteralWithExtent ;
    rdfs:label "Extent" ;
    rdfs:range :IfcPlanarExtent .

:externalReferenceForResources_IfcExternalReference
    a owl:ObjectProperty ;
    rdfs:domain :IfcExternalReference ;
    rdfs:label "ExternalReferenceForResources" ;
    rdfs:range :IfcExternalReferenceRelationship ;
    owl:inverseOf :relatingReference_IfcExternalReferenceRelationship .

:extrudedDirection_IfcExtrudedAreaSolid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcExtrudedAreaSolid ;
    rdfs:label "ExtrudedDirection" ;
    rdfs:range :IfcDirection .

:extrudedDirection_IfcSurfaceOfLinearExtrusion
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceOfLinearExtrusion ;
    rdfs:label "ExtrudedDirection" ;
    rdfs:range :IfcDirection .

:faceSurface_IfcFaceSurface
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFaceSurface ;
    rdfs:label "FaceSurface" ;
    rdfs:range :IfcSurface .

:facsimileNumbers_IfcTelecomAddress
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTelecomAddress ;
    rdfs:label "FacsimileNumbers" ;
    rdfs:range :IfcLabel_List .

:factor_IfcRelAssignsToGroupByFactor
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelAssignsToGroupByFactor ;
    rdfs:label "Factor" ;
    rdfs:range :IfcRatioMeasure .

:familyName_IfcPerson
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPerson ;
    rdfs:label "FamilyName" ;
    rdfs:range :IfcLabel .

:fbsmFaces_IfcFaceBasedSurfaceModel
    a owl:ObjectProperty ;
    rdfs:domain :IfcFaceBasedSurfaceModel ;
    rdfs:label "FbsmFaces" ;
    rdfs:range :IfcConnectedFaceSet .

:fillStyles_IfcFillAreaStyle
    a owl:ObjectProperty ;
    rdfs:domain :IfcFillAreaStyle ;
    rdfs:label "FillStyles" ;
    rdfs:range :IfcFillStyleSelect .

:filletRadius_IfcIShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcIShapeProfileDef ;
    rdfs:label "FilletRadius" ;
    rdfs:range :IfcNonNegativeLengthMeasure .

:filletRadius_IfcLShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLShapeProfileDef ;
    rdfs:label "FilletRadius" ;
    rdfs:range :IfcNonNegativeLengthMeasure .

:filletRadius_IfcSweptDiskSolidPolygonal
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSweptDiskSolidPolygonal ;
    rdfs:label "FilletRadius" ;
    rdfs:range :IfcPositiveLengthMeasure .

:filletRadius_IfcTShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTShapeProfileDef ;
    rdfs:label "FilletRadius" ;
    rdfs:range :IfcNonNegativeLengthMeasure .

:filletRadius_IfcUShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcUShapeProfileDef ;
    rdfs:label "FilletRadius" ;
    rdfs:range :IfcNonNegativeLengthMeasure .

:filletRadius_IfcZShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcZShapeProfileDef ;
    rdfs:label "FilletRadius" ;
    rdfs:range :IfcNonNegativeLengthMeasure .

:fillsVoids_IfcElement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcElement ;
    rdfs:label "FillsVoids" ;
    rdfs:range :IfcRelFillsElement ;
    owl:inverseOf :relatedBuildingElement_IfcRelFillsElement .

:finishTime_IfcWorkControl
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWorkControl ;
    rdfs:label "FinishTime" ;
    rdfs:range :IfcDateTime .

:finish_IfcWorkTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWorkTime ;
    rdfs:label "Finish" ;
    rdfs:range :IfcDate .

:firstMullionOffset_IfcWindowLiningProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindowLiningProperties ;
    rdfs:label "FirstMullionOffset" ;
    rdfs:range :IfcNormalisedRatioMeasure .

:firstOperand_IfcBooleanResult
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBooleanResult ;
    rdfs:label "FirstOperand" ;
    rdfs:range :IfcBooleanOperand .

:firstTransomOffset_IfcWindowLiningProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindowLiningProperties ;
    rdfs:label "FirstTransomOffset" ;
    rdfs:range :IfcNormalisedRatioMeasure .

:fixedReference_IfcFixedReferenceSweptAreaSolid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFixedReferenceSweptAreaSolid ;
    rdfs:label "FixedReference" ;
    rdfs:range :IfcDirection .

:fixedUntilDate_IfcAppliedValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAppliedValue ;
    rdfs:label "FixedUntilDate" ;
    rdfs:range :IfcDate .

:flangeEdgeRadius_IfcIShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcIShapeProfileDef ;
    rdfs:label "FlangeEdgeRadius" ;
    rdfs:range :IfcNonNegativeLengthMeasure .

:flangeEdgeRadius_IfcTShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTShapeProfileDef ;
    rdfs:label "FlangeEdgeRadius" ;
    rdfs:range :IfcNonNegativeLengthMeasure .

:flangeSlope_IfcIShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcIShapeProfileDef ;
    rdfs:label "FlangeSlope" ;
    rdfs:range :IfcPlaneAngleMeasure .

:flangeSlope_IfcTShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTShapeProfileDef ;
    rdfs:label "FlangeSlope" ;
    rdfs:range :IfcPlaneAngleMeasure .

:flangeSlope_IfcUShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcUShapeProfileDef ;
    rdfs:label "FlangeSlope" ;
    rdfs:range :IfcPlaneAngleMeasure .

:flangeThickness_IfcIShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcIShapeProfileDef ;
    rdfs:label "FlangeThickness" ;
    rdfs:range :IfcPositiveLengthMeasure .

:flangeThickness_IfcTShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTShapeProfileDef ;
    rdfs:label "FlangeThickness" ;
    rdfs:range :IfcPositiveLengthMeasure .

:flangeThickness_IfcUShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcUShapeProfileDef ;
    rdfs:label "FlangeThickness" ;
    rdfs:range :IfcPositiveLengthMeasure .

:flangeThickness_IfcZShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcZShapeProfileDef ;
    rdfs:label "FlangeThickness" ;
    rdfs:range :IfcPositiveLengthMeasure .

:flangeWidth_IfcTShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTShapeProfileDef ;
    rdfs:label "FlangeWidth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:flangeWidth_IfcUShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcUShapeProfileDef ;
    rdfs:label "FlangeWidth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:flangeWidth_IfcZShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcZShapeProfileDef ;
    rdfs:label "FlangeWidth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:flowDirection_IfcDistributionPort
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDistributionPort ;
    rdfs:label "FlowDirection" ;
    rdfs:range :IfcFlowDirectionEnum .

:fontFamily_IfcTextStyleFontModel
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextStyleFontModel ;
    rdfs:label "FontFamily" ;
    rdfs:range :IfcTextFontName_List .

:fontSize_IfcTextStyleFontModel
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextStyleFontModel ;
    rdfs:label "FontSize" ;
    rdfs:range :IfcSizeSelect .

:fontStyle_IfcTextStyleFontModel
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextStyleFontModel ;
    rdfs:label "FontStyle" ;
    rdfs:range :IfcFontStyle .

:fontVariant_IfcTextStyleFontModel
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextStyleFontModel ;
    rdfs:label "FontVariant" ;
    rdfs:range :IfcFontVariant .

:fontWeight_IfcTextStyleFontModel
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextStyleFontModel ;
    rdfs:label "FontWeight" ;
    rdfs:range :IfcFontWeight .

:forLayerSet_IfcMaterialLayerSetUsage
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialLayerSetUsage ;
    rdfs:label "ForLayerSet" ;
    rdfs:range :IfcMaterialLayerSet .

:forProfileEndSet_IfcMaterialProfileSetUsageTapering
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialProfileSetUsageTapering ;
    rdfs:label "ForProfileEndSet" ;
    rdfs:range :IfcMaterialProfileSet .

:forProfileSet_IfcMaterialProfileSetUsage
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialProfileSetUsage ;
    rdfs:label "ForProfileSet" ;
    rdfs:range :IfcMaterialProfileSet .

:forceX_IfcStructuralLoadSingleForce
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadSingleForce ;
    rdfs:label "ForceX" ;
    rdfs:range :IfcForceMeasure .

:forceY_IfcStructuralLoadSingleForce
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadSingleForce ;
    rdfs:label "ForceY" ;
    rdfs:range :IfcForceMeasure .

:forceZ_IfcStructuralLoadSingleForce
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadSingleForce ;
    rdfs:label "ForceZ" ;
    rdfs:range :IfcForceMeasure .

:formula_IfcQuantityArea
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcQuantityArea ;
    rdfs:label "Formula" ;
    rdfs:range :IfcLabel .

:formula_IfcQuantityCount
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcQuantityCount ;
    rdfs:label "Formula" ;
    rdfs:range :IfcLabel .

:formula_IfcQuantityLength
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcQuantityLength ;
    rdfs:label "Formula" ;
    rdfs:range :IfcLabel .

:formula_IfcQuantityTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcQuantityTime ;
    rdfs:label "Formula" ;
    rdfs:range :IfcLabel .

:formula_IfcQuantityVolume
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcQuantityVolume ;
    rdfs:label "Formula" ;
    rdfs:range :IfcLabel .

:formula_IfcQuantityWeight
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcQuantityWeight ;
    rdfs:label "Formula" ;
    rdfs:range :IfcLabel .

:fraction_IfcMaterialConstituent
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialConstituent ;
    rdfs:label "Fraction" ;
    rdfs:range :IfcNormalisedRatioMeasure .

:frameDepth_IfcPermeableCoveringProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPermeableCoveringProperties ;
    rdfs:label "FrameDepth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:frameDepth_IfcWindowPanelProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindowPanelProperties ;
    rdfs:label "FrameDepth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:frameThickness_IfcPermeableCoveringProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPermeableCoveringProperties ;
    rdfs:label "FrameThickness" ;
    rdfs:range :IfcPositiveLengthMeasure .

:frameThickness_IfcWindowPanelProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindowPanelProperties ;
    rdfs:label "FrameThickness" ;
    rdfs:range :IfcPositiveLengthMeasure .

:freeFloat_IfcTaskTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTaskTime ;
    rdfs:label "FreeFloat" ;
    rdfs:range :IfcDuration .

:frictionCoefficient_IfcTendon
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTendon ;
    rdfs:label "FrictionCoefficient" ;
    rdfs:range :IfcNormalisedRatioMeasure .

:geodeticDatum_IfcCoordinateReferenceSystem
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCoordinateReferenceSystem ;
    rdfs:label "GeodeticDatum" ;
    rdfs:range :IfcIdentifier .

:girth_IfcCShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCShapeProfileDef ;
    rdfs:label "Girth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:givenName_IfcPerson
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPerson ;
    rdfs:label "GivenName" ;
    rdfs:range :IfcLabel .

:givingApproval_IfcApproval
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcApproval ;
    rdfs:label "GivingApproval" ;
    rdfs:range :IfcActorSelect .

:globalId_IfcRoot
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRoot ;
    rdfs:label "GlobalId" ;
    rdfs:range :IfcGloballyUniqueId .

:globalOrLocal_IfcStructuralActivity
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralActivity ;
    rdfs:label "GlobalOrLocal" ;
    rdfs:range :IfcGlobalOrLocalEnum .

:green_IfcColourRgb
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcColourRgb ;
    rdfs:label "Green" ;
    rdfs:range :IfcNormalisedRatioMeasure .

:hasApprovals_IfcProperty
    a owl:ObjectProperty ;
    rdfs:domain :IfcProperty ;
    rdfs:label "HasApprovals" ;
    rdfs:range :IfcResourceApprovalRelationship ;
    owl:inverseOf :relatedResourceObjects_IfcResourceApprovalRelationship .

:hasAssignments_IfcObjectDefinition
    a owl:ObjectProperty ;
    rdfs:domain :IfcObjectDefinition ;
    rdfs:label "HasAssignments" ;
    rdfs:range :IfcRelAssigns ;
    owl:inverseOf :relatedObjects_IfcRelAssigns .

:hasColours_IfcTessellatedFaceSet
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTessellatedFaceSet ;
    rdfs:label "HasColours" ;
    rdfs:range :IfcIndexedColourMap ;
    owl:inverseOf :mappedTo_IfcIndexedColourMap .

:hasConstraints_IfcProperty
    a owl:ObjectProperty ;
    rdfs:domain :IfcProperty ;
    rdfs:label "HasConstraints" ;
    rdfs:range :IfcResourceConstraintRelationship ;
    owl:inverseOf :relatedResourceObjects_IfcResourceConstraintRelationship .

:hasControlElements_IfcDistributionFlowElement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDistributionFlowElement ;
    rdfs:label "HasControlElements" ;
    rdfs:range :IfcRelFlowControlElements ;
    owl:inverseOf :relatingFlowElement_IfcRelFlowControlElements .

:hasCoverings_IfcElement
    a owl:ObjectProperty ;
    rdfs:domain :IfcElement ;
    rdfs:label "HasCoverings" ;
    rdfs:range :IfcRelCoversBldgElements ;
    owl:inverseOf :relatingBuildingElement_IfcRelCoversBldgElements .

:hasCoverings_IfcSpace
    a owl:ObjectProperty ;
    rdfs:domain :IfcSpace ;
    rdfs:label "HasCoverings" ;
    rdfs:range :IfcRelCoversSpaces ;
    owl:inverseOf :relatingSpace_IfcRelCoversSpaces .

:hasDocumentReferences_IfcDocumentInformation
    a owl:ObjectProperty ;
    rdfs:domain :IfcDocumentInformation ;
    rdfs:label "HasDocumentReferences" ;
    rdfs:range :IfcDocumentReference ;
    owl:inverseOf :referencedDocument_IfcDocumentReference .

:hasFillings_IfcOpeningElement
    a owl:ObjectProperty ;
    rdfs:domain :IfcOpeningElement ;
    rdfs:label "HasFillings" ;
    rdfs:range :IfcRelFillsElement ;
    owl:inverseOf :relatingOpeningElement_IfcRelFillsElement .

:hasLibraryReferences_IfcLibraryInformation
    a owl:ObjectProperty ;
    rdfs:domain :IfcLibraryInformation ;
    rdfs:label "HasLibraryReferences" ;
    rdfs:range :IfcLibraryReference ;
    owl:inverseOf :referencedLibrary_IfcLibraryReference .

:hasOpenings_IfcElement
    a owl:ObjectProperty ;
    rdfs:domain :IfcElement ;
    rdfs:label "HasOpenings" ;
    rdfs:range :IfcRelVoidsElement ;
    owl:inverseOf :relatingBuildingElement_IfcRelVoidsElement .

:hasPorts_IfcDistributionElement
    a owl:ObjectProperty ;
    rdfs:domain :IfcDistributionElement ;
    rdfs:label "HasPorts" ;
    rdfs:range :IfcRelConnectsPortToElement ;
    owl:inverseOf :relatedElement_IfcRelConnectsPortToElement .

:hasProjections_IfcElement
    a owl:ObjectProperty ;
    rdfs:domain :IfcElement ;
    rdfs:label "HasProjections" ;
    rdfs:range :IfcRelProjectsElement ;
    owl:inverseOf :relatingElement_IfcRelProjectsElement .

:hasProperties_IfcComplexProperty
    a owl:ObjectProperty ;
    rdfs:domain :IfcComplexProperty ;
    rdfs:label "HasProperties" ;
    rdfs:range :IfcProperty ;
    owl:inverseOf :partOfComplex_IfcProperty .

:hasProperties_IfcMaterialDefinition
    a owl:ObjectProperty ;
    rdfs:domain :IfcMaterialDefinition ;
    rdfs:label "HasProperties" ;
    rdfs:range :IfcMaterialProperties ;
    owl:inverseOf :material_IfcMaterialProperties .

:hasProperties_IfcProfileDef
    a owl:ObjectProperty ;
    rdfs:domain :IfcProfileDef ;
    rdfs:label "HasProperties" ;
    rdfs:range :IfcProfileProperties ;
    owl:inverseOf :profileDefinition_IfcProfileProperties .

:hasProperties_IfcPropertySet
    a owl:ObjectProperty ;
    rdfs:domain :IfcPropertySet ;
    rdfs:label "HasProperties" ;
    rdfs:range :IfcProperty ;
    owl:inverseOf :partOfPset_IfcProperty .

:hasPropertySets_IfcTypeObject
    a owl:ObjectProperty ;
    rdfs:domain :IfcTypeObject ;
    rdfs:label "HasPropertySets" ;
    rdfs:range :IfcPropertySetDefinition ;
    owl:inverseOf :definesType_IfcPropertySetDefinition .

:hasPropertyTemplates_IfcComplexPropertyTemplate
    a owl:ObjectProperty ;
    rdfs:domain :IfcComplexPropertyTemplate ;
    rdfs:label "HasPropertyTemplates" ;
    rdfs:range :IfcPropertyTemplate ;
    owl:inverseOf :partOfComplexTemplate_IfcPropertyTemplate .

:hasPropertyTemplates_IfcPropertySetTemplate
    a owl:ObjectProperty ;
    rdfs:domain :IfcPropertySetTemplate ;
    rdfs:label "HasPropertyTemplates" ;
    rdfs:range :IfcPropertyTemplate ;
    owl:inverseOf :partOfPsetTemplate_IfcPropertyTemplate .

:hasQuantities_IfcPhysicalComplexQuantity
    a owl:ObjectProperty ;
    rdfs:domain :IfcPhysicalComplexQuantity ;
    rdfs:label "HasQuantities" ;
    rdfs:range :IfcPhysicalQuantity ;
    owl:inverseOf :partOfComplex_IfcPhysicalQuantity .

:hasRepresentation_IfcMaterial
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterial ;
    rdfs:label "HasRepresentation" ;
    rdfs:range :IfcMaterialDefinitionRepresentation ;
    owl:inverseOf :representedMaterial_IfcMaterialDefinitionRepresentation .

:hasResults_IfcStructuralAnalysisModel
    a owl:ObjectProperty ;
    rdfs:domain :IfcStructuralAnalysisModel ;
    rdfs:label "HasResults" ;
    rdfs:range :IfcStructuralResultGroup ;
    owl:inverseOf :resultGroupFor_IfcStructuralResultGroup .

:hasSubContexts_IfcGeometricRepresentationContext
    a owl:ObjectProperty ;
    rdfs:domain :IfcGeometricRepresentationContext ;
    rdfs:label "HasSubContexts" ;
    rdfs:range :IfcGeometricRepresentationSubContext ;
    owl:inverseOf :parentContext_IfcGeometricRepresentationSubContext .

:hasTextureMaps_IfcFace
    a owl:ObjectProperty ;
    rdfs:domain :IfcFace ;
    rdfs:label "HasTextureMaps" ;
    rdfs:range :IfcTextureMap ;
    owl:inverseOf :mappedTo_IfcTextureMap .

:hasTextures_IfcTessellatedFaceSet
    a owl:ObjectProperty ;
    rdfs:domain :IfcTessellatedFaceSet ;
    rdfs:label "HasTextures" ;
    rdfs:range :IfcIndexedTextureMap ;
    owl:inverseOf :mappedTo_IfcIndexedTextureMap .

:hatchLineAngle_IfcFillAreaStyleHatching
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFillAreaStyleHatching ;
    rdfs:label "HatchLineAngle" ;
    rdfs:range :IfcPlaneAngleMeasure .

:hatchLineAppearance_IfcFillAreaStyleHatching
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFillAreaStyleHatching ;
    rdfs:label "HatchLineAppearance" ;
    rdfs:range :IfcCurveStyle .

:height_IfcPixelTexture
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPixelTexture ;
    rdfs:label "Height" ;
    rdfs:range :IfcInteger .

:height_IfcRectangularPyramid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRectangularPyramid ;
    rdfs:label "Height" ;
    rdfs:range :IfcPositiveLengthMeasure .

:height_IfcRightCircularCone
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRightCircularCone ;
    rdfs:label "Height" ;
    rdfs:range :IfcPositiveLengthMeasure .

:height_IfcRightCircularCylinder
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRightCircularCylinder ;
    rdfs:label "Height" ;
    rdfs:range :IfcPositiveLengthMeasure .

:identification_IfcAsset
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAsset ;
    rdfs:label "Identification" ;
    rdfs:range :IfcIdentifier .

:identification_IfcControl
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcControl ;
    rdfs:label "Identification" ;
    rdfs:range :IfcIdentifier .

:identification_IfcDocumentInformation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDocumentInformation ;
    rdfs:label "Identification" ;
    rdfs:range :IfcIdentifier .

:identification_IfcExternalReference
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcExternalReference ;
    rdfs:label "Identification" ;
    rdfs:range :IfcIdentifier .

:identification_IfcOrganization
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOrganization ;
    rdfs:label "Identification" ;
    rdfs:range :IfcIdentifier .

:identification_IfcPerson
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPerson ;
    rdfs:label "Identification" ;
    rdfs:range :IfcIdentifier .

:identification_IfcProcess
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProcess ;
    rdfs:label "Identification" ;
    rdfs:range :IfcIdentifier .

:identification_IfcResource
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcResource ;
    rdfs:label "Identification" ;
    rdfs:range :IfcIdentifier .

:identification_IfcTypeProcess
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTypeProcess ;
    rdfs:label "Identification" ;
    rdfs:range :IfcIdentifier .

:identification_IfcTypeResource
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTypeResource ;
    rdfs:label "Identification" ;
    rdfs:range :IfcIdentifier .

:identifier_IfcApproval
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcApproval ;
    rdfs:label "Identifier" ;
    rdfs:range :IfcIdentifier .

:identifier_IfcPresentationLayerAssignment
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPresentationLayerAssignment ;
    rdfs:label "Identifier" ;
    rdfs:range :IfcIdentifier .

:identifier_IfcTableColumn
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTableColumn ;
    rdfs:label "Identifier" ;
    rdfs:range :IfcIdentifier .

:implicitOuter_IfcCurveBoundedSurface
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCurveBoundedSurface ;
    rdfs:label "ImplicitOuter" ;
    rdfs:range :IfcBoolean .

:impliedOrder_IfcRelInterferesElements
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelInterferesElements ;
    rdfs:label "ImpliedOrder" ;
    rdfs:range expr:LOGICAL .

:incorporationDate_IfcAsset
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAsset ;
    rdfs:label "IncorporationDate" ;
    rdfs:range :IfcDate .

:innerBoundaries_IfcAnnotationFillArea
    a owl:ObjectProperty ;
    rdfs:domain :IfcAnnotationFillArea ;
    rdfs:label "InnerBoundaries" ;
    rdfs:range :IfcCurve .

:innerBoundaries_IfcCurveBoundedPlane
    a owl:ObjectProperty ;
    rdfs:domain :IfcCurveBoundedPlane ;
    rdfs:label "InnerBoundaries" ;
    rdfs:range :IfcCurve .

:innerBoundaries_IfcRelSpaceBoundary1stLevel
    a owl:ObjectProperty ;
    rdfs:domain :IfcRelSpaceBoundary1stLevel ;
    rdfs:label "InnerBoundaries" ;
    rdfs:range :IfcRelSpaceBoundary1stLevel ;
    owl:inverseOf :parentBoundary_IfcRelSpaceBoundary1stLevel .

:innerCurves_IfcArbitraryProfileDefWithVoids
    a owl:ObjectProperty ;
    rdfs:domain :IfcArbitraryProfileDefWithVoids ;
    rdfs:label "InnerCurves" ;
    rdfs:range :IfcCurve .

:innerFilletRadius_IfcRectangleHollowProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRectangleHollowProfileDef ;
    rdfs:label "InnerFilletRadius" ;
    rdfs:range :IfcNonNegativeLengthMeasure .

:innerRadius_IfcSweptDiskSolid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSweptDiskSolid ;
    rdfs:label "InnerRadius" ;
    rdfs:range :IfcPositiveLengthMeasure .

:innerReference_IfcReference
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReference ;
    rdfs:label "InnerReference" ;
    rdfs:range :IfcReference .

:instanceName_IfcReference
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReference ;
    rdfs:label "InstanceName" ;
    rdfs:range :IfcLabel .

:intendedUse_IfcDocumentInformation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDocumentInformation ;
    rdfs:label "IntendedUse" ;
    rdfs:range :IfcText .

:intensity_IfcLightSource
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightSource ;
    rdfs:label "Intensity" ;
    rdfs:range :IfcNormalisedRatioMeasure .

:intent_IfcRelAssociatesConstraint
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelAssociatesConstraint ;
    rdfs:label "Intent" ;
    rdfs:range :IfcLabel .

:interferenceGeometry_IfcRelInterferesElements
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelInterferesElements ;
    rdfs:label "InterferenceGeometry" ;
    rdfs:range :IfcConnectionGeometry .

:interferenceType_IfcRelInterferesElements
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelInterferesElements ;
    rdfs:label "InterferenceType" ;
    rdfs:range :IfcIdentifier .

:interferesElements_IfcElement
    a owl:ObjectProperty ;
    rdfs:domain :IfcElement ;
    rdfs:label "InterferesElements" ;
    rdfs:range :IfcRelInterferesElements ;
    owl:inverseOf :relatingElement_IfcRelInterferesElements .

:internalFilletRadius_IfcCShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCShapeProfileDef ;
    rdfs:label "InternalFilletRadius" ;
    rdfs:range :IfcNonNegativeLengthMeasure .

:internalLocation_IfcPostalAddress
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPostalAddress ;
    rdfs:label "InternalLocation" ;
    rdfs:range :IfcLabel .

:internalOrExternalBoundary_IfcRelSpaceBoundary
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelSpaceBoundary ;
    rdfs:label "InternalOrExternalBoundary" ;
    rdfs:range :IfcInternalOrExternalEnum .

:intersectingAxes_IfcVirtualGridIntersection
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcVirtualGridIntersection ;
    rdfs:label "IntersectingAxes" ;
    rdfs:range :IfcGridAxis_List .

:interval_IfcRecurrencePattern
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRecurrencePattern ;
    rdfs:label "Interval" ;
    rdfs:range :IfcInteger .

:invisibleSegmentLength_IfcCurveStyleFontPattern
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCurveStyleFontPattern ;
    rdfs:label "InvisibleSegmentLength" ;
    rdfs:range :IfcPositiveLengthMeasure .

:isActingUpon_IfcActor
    a owl:ObjectProperty ;
    rdfs:domain :IfcActor ;
    rdfs:label "IsActingUpon" ;
    rdfs:range :IfcRelAssignsToActor ;
    owl:inverseOf :relatingActor_IfcRelAssignsToActor .

:isConnectionRealization_IfcElement
    a owl:ObjectProperty ;
    rdfs:domain :IfcElement ;
    rdfs:label "IsConnectionRealization" ;
    rdfs:range :IfcRelConnectsWithRealizingElements ;
    owl:inverseOf :realizingElements_IfcRelConnectsWithRealizingElements .

:isCritical_IfcTaskTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTaskTime ;
    rdfs:label "IsCritical" ;
    rdfs:range :IfcBoolean .

:isDeclaredBy_IfcObject
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcObject ;
    rdfs:label "IsDeclaredBy" ;
    rdfs:range :IfcRelDefinesByObject ;
    owl:inverseOf :relatedObjects_IfcRelDefinesByObject .

:isDecomposedBy_IfcObjectDefinition
    a owl:ObjectProperty ;
    rdfs:domain :IfcObjectDefinition ;
    rdfs:label "IsDecomposedBy" ;
    rdfs:range :IfcRelAggregates ;
    owl:inverseOf :relatingObject_IfcRelAggregates .

:isDefinedBy_IfcPropertySetDefinition
    a owl:ObjectProperty ;
    rdfs:domain :IfcPropertySetDefinition ;
    rdfs:label "IsDefinedBy" ;
    rdfs:range :IfcRelDefinesByTemplate ;
    owl:inverseOf :relatedPropertySets_IfcRelDefinesByTemplate .

:isGroupedBy_IfcGroup
    a owl:ObjectProperty ;
    rdfs:domain :IfcGroup ;
    rdfs:label "IsGroupedBy" ;
    rdfs:range :IfcRelAssignsToGroup ;
    owl:inverseOf :relatingGroup_IfcRelAssignsToGroup .

:isHeading_IfcTableRow
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTableRow ;
    rdfs:label "IsHeading" ;
    rdfs:range :IfcBoolean .

:isInterferedByElements_IfcElement
    a owl:ObjectProperty ;
    rdfs:domain :IfcElement ;
    rdfs:label "IsInterferedByElements" ;
    rdfs:range :IfcRelInterferesElements ;
    owl:inverseOf :relatedElement_IfcRelInterferesElements .

:isLinear_IfcStructuralResultGroup
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralResultGroup ;
    rdfs:label "IsLinear" ;
    rdfs:range :IfcBoolean .

:isMilestone_IfcTask
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTask ;
    rdfs:label "IsMilestone" ;
    rdfs:range :IfcBoolean .

:isNestedBy_IfcObjectDefinition
    a owl:ObjectProperty ;
    rdfs:domain :IfcObjectDefinition ;
    rdfs:label "IsNestedBy" ;
    rdfs:range :IfcRelNests ;
    owl:inverseOf :relatingObject_IfcRelNests .

:isOverAllocated_IfcResourceTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcResourceTime ;
    rdfs:label "IsOverAllocated" ;
    rdfs:range :IfcBoolean .

:isPointedTo_IfcDocumentInformation
    a owl:ObjectProperty ;
    rdfs:domain :IfcDocumentInformation ;
    rdfs:label "IsPointedTo" ;
    rdfs:range :IfcDocumentInformationRelationship ;
    owl:inverseOf :relatedDocuments_IfcDocumentInformationRelationship .

:isPointer_IfcDocumentInformation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDocumentInformation ;
    rdfs:label "IsPointer" ;
    rdfs:range :IfcDocumentInformationRelationship ;
    owl:inverseOf :relatingDocument_IfcDocumentInformationRelationship .

:isPredecessorTo_IfcProcess
    a owl:ObjectProperty ;
    rdfs:domain :IfcProcess ;
    rdfs:label "IsPredecessorTo" ;
    rdfs:range :IfcRelSequence ;
    owl:inverseOf :relatingProcess_IfcRelSequence .

:isRelatedBy_IfcOrganization
    a owl:ObjectProperty ;
    rdfs:domain :IfcOrganization ;
    rdfs:label "IsRelatedBy" ;
    rdfs:range :IfcOrganizationRelationship ;
    owl:inverseOf :relatedOrganizations_IfcOrganizationRelationship .

:isRelatedWith_IfcApproval
    a owl:ObjectProperty ;
    rdfs:domain :IfcApproval ;
    rdfs:label "IsRelatedWith" ;
    rdfs:range :IfcApprovalRelationship ;
    owl:inverseOf :relatedApprovals_IfcApprovalRelationship .

:isRelatedWith_IfcMaterial
    a owl:ObjectProperty ;
    rdfs:domain :IfcMaterial ;
    rdfs:label "IsRelatedWith" ;
    rdfs:range :IfcMaterialRelationship ;
    owl:inverseOf :relatedMaterials_IfcMaterialRelationship .

:isSuccessorFrom_IfcProcess
    a owl:ObjectProperty ;
    rdfs:domain :IfcProcess ;
    rdfs:label "IsSuccessorFrom" ;
    rdfs:range :IfcRelSequence ;
    owl:inverseOf :relatedProcess_IfcRelSequence .

:isTypedBy_IfcObject
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcObject ;
    rdfs:label "IsTypedBy" ;
    rdfs:range :IfcRelDefinesByType ;
    owl:inverseOf :relatedObjects_IfcRelDefinesByType .

:isVentilated_IfcMaterialLayer
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialLayer ;
    rdfs:label "IsVentilated" ;
    rdfs:range :IfcLogical .

:item_IfcStyledItem
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStyledItem ;
    rdfs:label "Item" ;
    rdfs:range :IfcRepresentationItem ;
    owl:inverseOf :styledByItem_IfcRepresentationItem .

:items_IfcRepresentation
    a owl:ObjectProperty ;
    rdfs:domain :IfcRepresentation ;
    rdfs:label "Items" ;
    rdfs:range :IfcRepresentationItem .

:jurisdiction_IfcInventory
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcInventory ;
    rdfs:label "Jurisdiction" ;
    rdfs:range :IfcActorSelect .

:knotMultiplicities_IfcBSplineCurveWithKnots
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBSplineCurveWithKnots ;
    rdfs:label "KnotMultiplicities" ;
    rdfs:range :IfcInteger_List .

:knotSpec_IfcBSplineCurveWithKnots
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBSplineCurveWithKnots ;
    rdfs:label "KnotSpec" ;
    rdfs:range :IfcKnotType .

:knotSpec_IfcBSplineSurfaceWithKnots
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBSplineSurfaceWithKnots ;
    rdfs:label "KnotSpec" ;
    rdfs:range :IfcKnotType .

:knots_IfcBSplineCurveWithKnots
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBSplineCurveWithKnots ;
    rdfs:label "Knots" ;
    rdfs:range :IfcParameterValue_List .

:label_IfcCompositeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCompositeProfileDef ;
    rdfs:label "Label" ;
    rdfs:range :IfcLabel .

:label_IfcDerivedProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDerivedProfileDef ;
    rdfs:label "Label" ;
    rdfs:range :IfcLabel .

:lagValue_IfcLagTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLagTime ;
    rdfs:label "LagValue" ;
    rdfs:range :IfcTimeOrRatioSelect .

:landTitleNumber_IfcSite
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSite ;
    rdfs:label "LandTitleNumber" ;
    rdfs:range :IfcLabel .

:language_IfcLibraryReference
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLibraryReference ;
    rdfs:label "Language" ;
    rdfs:range :IfcLanguageId .

:lastModifiedDate_IfcOwnerHistory
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOwnerHistory ;
    rdfs:label "LastModifiedDate" ;
    rdfs:range :IfcTimeStamp .

:lastModifyingApplication_IfcOwnerHistory
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOwnerHistory ;
    rdfs:label "LastModifyingApplication" ;
    rdfs:range :IfcApplication .

:lastModifyingUser_IfcOwnerHistory
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOwnerHistory ;
    rdfs:label "LastModifyingUser" ;
    rdfs:range :IfcPersonAndOrganization .

:lastRevisionTime_IfcDocumentInformation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDocumentInformation ;
    rdfs:label "LastRevisionTime" ;
    rdfs:range :IfcDateTime .

:lastUpdateDate_IfcInventory
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcInventory ;
    rdfs:label "LastUpdateDate" ;
    rdfs:range :IfcDate .

:lateDate_IfcEventTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEventTime ;
    rdfs:label "LateDate" ;
    rdfs:range :IfcDateTime .

:lateFinish_IfcTaskTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTaskTime ;
    rdfs:label "LateFinish" ;
    rdfs:range :IfcDateTime .

:lateStart_IfcTaskTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTaskTime ;
    rdfs:label "LateStart" ;
    rdfs:range :IfcDateTime .

:layerBlocked_IfcPresentationLayerWithStyle
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPresentationLayerWithStyle ;
    rdfs:label "LayerBlocked" ;
    rdfs:range :IfcLogical .

:layerFrozen_IfcPresentationLayerWithStyle
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPresentationLayerWithStyle ;
    rdfs:label "LayerFrozen" ;
    rdfs:range :IfcLogical .

:layerOn_IfcPresentationLayerWithStyle
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPresentationLayerWithStyle ;
    rdfs:label "LayerOn" ;
    rdfs:range :IfcLogical .

:layerSetDirection_IfcMaterialLayerSetUsage
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialLayerSetUsage ;
    rdfs:label "LayerSetDirection" ;
    rdfs:range :IfcLayerSetDirectionEnum .

:layerSetName_IfcMaterialLayerSet
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialLayerSet ;
    rdfs:label "LayerSetName" ;
    rdfs:range :IfcLabel .

:layerStyles_IfcPresentationLayerWithStyle
    a owl:ObjectProperty ;
    rdfs:domain :IfcPresentationLayerWithStyle ;
    rdfs:label "LayerStyles" ;
    rdfs:range :IfcPresentationStyle .

:layerThickness_IfcMaterialLayer
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialLayer ;
    rdfs:label "LayerThickness" ;
    rdfs:range :IfcNonNegativeLengthMeasure .

:legSlope_IfcLShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLShapeProfileDef ;
    rdfs:label "LegSlope" ;
    rdfs:range :IfcPlaneAngleMeasure .

:lengthExponent_IfcDimensionalExponents
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDimensionalExponents ;
    rdfs:label "LengthExponent" ;
    rdfs:range expr:INTEGER .

:lengthValue_IfcQuantityLength
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcQuantityLength ;
    rdfs:label "LengthValue" ;
    rdfs:range :IfcLengthMeasure .

:letterSpacing_IfcTextStyleTextModel
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextStyleTextModel ;
    rdfs:label "LetterSpacing" ;
    rdfs:range :IfcSizeSelect .

:level_IfcApproval
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcApproval ;
    rdfs:label "Level" ;
    rdfs:range :IfcLabel .

:levelingDelay_IfcResourceTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcResourceTime ;
    rdfs:label "LevelingDelay" ;
    rdfs:range :IfcDuration .

:lifeCyclePhase_IfcPerformanceHistory
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPerformanceHistory ;
    rdfs:label "LifeCyclePhase" ;
    rdfs:range :IfcLabel .

:lightColour_IfcLightSource
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightSource ;
    rdfs:label "LightColour" ;
    rdfs:range :IfcColourRgb .

:lightDistributionCurve_IfcLightIntensityDistribution
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightIntensityDistribution ;
    rdfs:label "LightDistributionCurve" ;
    rdfs:range :IfcLightDistributionCurveEnum .

:lightDistributionDataSource_IfcLightSourceGoniometric
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightSourceGoniometric ;
    rdfs:label "LightDistributionDataSource" ;
    rdfs:range :IfcLightDistributionDataSourceSelect .

:lightEmissionSource_IfcLightSourceGoniometric
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightSourceGoniometric ;
    rdfs:label "LightEmissionSource" ;
    rdfs:range :IfcLightEmissionSourceEnum .

:lineHeight_IfcTextStyleTextModel
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextStyleTextModel ;
    rdfs:label "LineHeight" ;
    rdfs:range :IfcSizeSelect .

:linearForceX_IfcStructuralLoadLinearForce
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadLinearForce ;
    rdfs:label "LinearForceX" ;
    rdfs:range :IfcLinearForceMeasure .

:linearForceY_IfcStructuralLoadLinearForce
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadLinearForce ;
    rdfs:label "LinearForceY" ;
    rdfs:range :IfcLinearForceMeasure .

:linearForceZ_IfcStructuralLoadLinearForce
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadLinearForce ;
    rdfs:label "LinearForceZ" ;
    rdfs:range :IfcLinearForceMeasure .

:linearMomentX_IfcStructuralLoadLinearForce
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadLinearForce ;
    rdfs:label "LinearMomentX" ;
    rdfs:range :IfcLinearMomentMeasure .

:linearMomentY_IfcStructuralLoadLinearForce
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadLinearForce ;
    rdfs:label "LinearMomentY" ;
    rdfs:range :IfcLinearMomentMeasure .

:linearMomentZ_IfcStructuralLoadLinearForce
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadLinearForce ;
    rdfs:label "LinearMomentZ" ;
    rdfs:range :IfcLinearMomentMeasure .

:liningDepth_IfcDoorLiningProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorLiningProperties ;
    rdfs:label "LiningDepth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:liningDepth_IfcWindowLiningProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindowLiningProperties ;
    rdfs:label "LiningDepth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:liningOffset_IfcDoorLiningProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorLiningProperties ;
    rdfs:label "LiningOffset" ;
    rdfs:range :IfcLengthMeasure .

:liningOffset_IfcWindowLiningProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindowLiningProperties ;
    rdfs:label "LiningOffset" ;
    rdfs:range :IfcLengthMeasure .

:liningThickness_IfcDoorLiningProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorLiningProperties ;
    rdfs:label "LiningThickness" ;
    rdfs:range :IfcNonNegativeLengthMeasure .

:liningThickness_IfcWindowLiningProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindowLiningProperties ;
    rdfs:label "LiningThickness" ;
    rdfs:range :IfcNonNegativeLengthMeasure .

:liningToPanelOffsetX_IfcDoorLiningProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorLiningProperties ;
    rdfs:label "LiningToPanelOffsetX" ;
    rdfs:range :IfcLengthMeasure .

:liningToPanelOffsetX_IfcWindowLiningProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindowLiningProperties ;
    rdfs:label "LiningToPanelOffsetX" ;
    rdfs:range :IfcLengthMeasure .

:liningToPanelOffsetY_IfcDoorLiningProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorLiningProperties ;
    rdfs:label "LiningToPanelOffsetY" ;
    rdfs:range :IfcLengthMeasure .

:liningToPanelOffsetY_IfcWindowLiningProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindowLiningProperties ;
    rdfs:label "LiningToPanelOffsetY" ;
    rdfs:range :IfcLengthMeasure .

:listPositions_IfcReference
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReference ;
    rdfs:label "ListPositions" ;
    rdfs:range :IfcInteger_List .

:listValues_IfcIrregularTimeSeriesValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcIrregularTimeSeriesValue ;
    rdfs:label "ListValues" ;
    rdfs:range :IfcValue_List .

:listValues_IfcPropertyListValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertyListValue ;
    rdfs:label "ListValues" ;
    rdfs:range :IfcValue_List .

:listValues_IfcTimeSeriesValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTimeSeriesValue ;
    rdfs:label "ListValues" ;
    rdfs:range :IfcValue_List .

:literal_IfcTextLiteral
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextLiteral ;
    rdfs:label "Literal" ;
    rdfs:range :IfcPresentableText .

:loadGroupFor_IfcStructuralLoadGroup
    a owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadGroup ;
    rdfs:label "LoadGroupFor" ;
    rdfs:range :IfcStructuralAnalysisModel ;
    owl:inverseOf :loadedBy_IfcStructuralAnalysisModel .

:loadedBy_IfcStructuralAnalysisModel
    a owl:ObjectProperty ;
    rdfs:domain :IfcStructuralAnalysisModel ;
    rdfs:label "LoadedBy" ;
    rdfs:range :IfcStructuralLoadGroup ;
    owl:inverseOf :loadGroupFor_IfcStructuralLoadGroup .

:localOrigin_IfcCartesianTransformationOperator
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCartesianTransformationOperator ;
    rdfs:label "LocalOrigin" ;
    rdfs:range :IfcCartesianPoint .

:location_IfcClassification
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcClassification ;
    rdfs:label "Location" ;
    rdfs:range :IfcURIReference .

:location_IfcDocumentInformation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDocumentInformation ;
    rdfs:label "Location" ;
    rdfs:range :IfcURIReference .

:location_IfcExternalReference
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcExternalReference ;
    rdfs:label "Location" ;
    rdfs:range :IfcURIReference .

:location_IfcLibraryInformation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLibraryInformation ;
    rdfs:label "Location" ;
    rdfs:range :IfcURIReference .

:location_IfcPlacement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPlacement ;
    rdfs:label "Location" ;
    rdfs:range :IfcCartesianPoint .

:locations_IfcStructuralLoadConfiguration
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadConfiguration ;
    rdfs:label "Locations" ;
    rdfs:range :IfcLengthMeasure_List_List .

:logicalAggregator_IfcObjective
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcObjective ;
    rdfs:label "LogicalAggregator" ;
    rdfs:range :IfcLogicalOperatorEnum .

:longDescription_IfcActionRequest
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcActionRequest ;
    rdfs:label "LongDescription" ;
    rdfs:range :IfcText .

:longDescription_IfcPermit
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPermit ;
    rdfs:label "LongDescription" ;
    rdfs:range :IfcText .

:longDescription_IfcProcess
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProcess ;
    rdfs:label "LongDescription" ;
    rdfs:range :IfcText .

:longDescription_IfcProjectOrder
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProjectOrder ;
    rdfs:label "LongDescription" ;
    rdfs:range :IfcText .

:longDescription_IfcResource
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcResource ;
    rdfs:label "LongDescription" ;
    rdfs:range :IfcText .

:longDescription_IfcTypeProcess
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTypeProcess ;
    rdfs:label "LongDescription" ;
    rdfs:range :IfcText .

:longDescription_IfcTypeResource
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTypeResource ;
    rdfs:label "LongDescription" ;
    rdfs:range :IfcText .

:longName_IfcBuildingSystem
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBuildingSystem ;
    rdfs:label "LongName" ;
    rdfs:range :IfcLabel .

:longName_IfcContext
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcContext ;
    rdfs:label "LongName" ;
    rdfs:range :IfcLabel .

:longName_IfcDistributionSystem
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDistributionSystem ;
    rdfs:label "LongName" ;
    rdfs:range :IfcLabel .

:longName_IfcSpaceType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSpaceType ;
    rdfs:label "LongName" ;
    rdfs:range :IfcLabel .

:longName_IfcSpatialElement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSpatialElement ;
    rdfs:label "LongName" ;
    rdfs:range :IfcLabel .

:longName_IfcSpatialZoneType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSpatialZoneType ;
    rdfs:label "LongName" ;
    rdfs:range :IfcLabel .

:longName_IfcZone
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcZone ;
    rdfs:label "LongName" ;
    rdfs:range :IfcLabel .

:longitudinalBarCrossSectionArea_IfcReinforcingMesh
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingMesh ;
    rdfs:label "LongitudinalBarCrossSectionArea" ;
    rdfs:range :IfcAreaMeasure .

:longitudinalBarCrossSectionArea_IfcReinforcingMeshType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingMeshType ;
    rdfs:label "LongitudinalBarCrossSectionArea" ;
    rdfs:range :IfcAreaMeasure .

:longitudinalBarNominalDiameter_IfcReinforcingMesh
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingMesh ;
    rdfs:label "LongitudinalBarNominalDiameter" ;
    rdfs:range :IfcPositiveLengthMeasure .

:longitudinalBarNominalDiameter_IfcReinforcingMeshType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingMeshType ;
    rdfs:label "LongitudinalBarNominalDiameter" ;
    rdfs:range :IfcPositiveLengthMeasure .

:longitudinalBarSpacing_IfcReinforcingMesh
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingMesh ;
    rdfs:label "LongitudinalBarSpacing" ;
    rdfs:range :IfcPositiveLengthMeasure .

:longitudinalBarSpacing_IfcReinforcingMeshType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingMeshType ;
    rdfs:label "LongitudinalBarSpacing" ;
    rdfs:range :IfcPositiveLengthMeasure .

:longitudinalEndPosition_IfcSectionReinforcementProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSectionReinforcementProperties ;
    rdfs:label "LongitudinalEndPosition" ;
    rdfs:range :IfcLengthMeasure .

:longitudinalStartPosition_IfcSectionReinforcementProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSectionReinforcementProperties ;
    rdfs:label "LongitudinalStartPosition" ;
    rdfs:range :IfcLengthMeasure .

:loopVertex_IfcVertexLoop
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcVertexLoop ;
    rdfs:label "LoopVertex" ;
    rdfs:range :IfcVertex .

:lowerBoundValue_IfcPropertyBoundedValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertyBoundedValue ;
    rdfs:label "LowerBoundValue" ;
    rdfs:range :IfcValue .

:luminousFlux_IfcLightSourceGoniometric
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightSourceGoniometric ;
    rdfs:label "LuminousFlux" ;
    rdfs:range :IfcLuminousFluxMeasure .

:luminousIntensityExponent_IfcDimensionalExponents
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDimensionalExponents ;
    rdfs:label "LuminousIntensityExponent" ;
    rdfs:range expr:INTEGER .

:luminousIntensity_IfcLightDistributionData
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightDistributionData ;
    rdfs:label "LuminousIntensity" ;
    rdfs:range :IfcLuminousIntensityDistributionMeasure_List .

:magnitude_IfcVector
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcVector ;
    rdfs:label "Magnitude" ;
    rdfs:range :IfcLengthMeasure .

:mainPlaneAngle_IfcLightDistributionData
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightDistributionData ;
    rdfs:label "MainPlaneAngle" ;
    rdfs:range :IfcPlaneAngleMeasure .

:mapProjection_IfcProjectedCRS
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProjectedCRS ;
    rdfs:label "MapProjection" ;
    rdfs:range :IfcIdentifier .

:mapUnit_IfcProjectedCRS
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProjectedCRS ;
    rdfs:label "MapUnit" ;
    rdfs:range :IfcNamedUnit .

:mapUsage_IfcRepresentationMap
    a owl:ObjectProperty ;
    rdfs:domain :IfcRepresentationMap ;
    rdfs:label "MapUsage" ;
    rdfs:range :IfcMappedItem ;
    owl:inverseOf :mappingSource_IfcMappedItem .

:mapZone_IfcProjectedCRS
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProjectedCRS ;
    rdfs:label "MapZone" ;
    rdfs:range :IfcIdentifier .

:mappedRepresentation_IfcRepresentationMap
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRepresentationMap ;
    rdfs:label "MappedRepresentation" ;
    rdfs:range :IfcRepresentation ;
    owl:inverseOf :representationMap_IfcRepresentation .

:mappedTo_IfcIndexedColourMap
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcIndexedColourMap ;
    rdfs:label "MappedTo" ;
    rdfs:range :IfcTessellatedFaceSet ;
    owl:inverseOf :hasColours_IfcTessellatedFaceSet .

:mappedTo_IfcIndexedTextureMap
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcIndexedTextureMap ;
    rdfs:label "MappedTo" ;
    rdfs:range :IfcTessellatedFaceSet ;
    owl:inverseOf :hasTextures_IfcTessellatedFaceSet .

:mappedTo_IfcTextureMap
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextureMap ;
    rdfs:label "MappedTo" ;
    rdfs:range :IfcFace ;
    owl:inverseOf :hasTextureMaps_IfcFace .

:mappingOrigin_IfcRepresentationMap
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRepresentationMap ;
    rdfs:label "MappingOrigin" ;
    rdfs:range :IfcAxis2Placement .

:mappingSource_IfcMappedItem
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMappedItem ;
    rdfs:label "MappingSource" ;
    rdfs:range :IfcRepresentationMap ;
    owl:inverseOf :mapUsage_IfcRepresentationMap .

:mappingTarget_IfcMappedItem
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMappedItem ;
    rdfs:label "MappingTarget" ;
    rdfs:range :IfcCartesianTransformationOperator .

:maps_IfcTextureCoordinate
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextureCoordinate ;
    rdfs:label "Maps" ;
    rdfs:range :IfcSurfaceTexture_List .

:massExponent_IfcDimensionalExponents
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDimensionalExponents ;
    rdfs:label "MassExponent" ;
    rdfs:range expr:INTEGER .

:masterRepresentation_IfcTrimmedCurve
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTrimmedCurve ;
    rdfs:label "MasterRepresentation" ;
    rdfs:range :IfcTrimmingPreference .

:materialClassifications_IfcMaterialClassificationRelationship
    a owl:ObjectProperty ;
    rdfs:domain :IfcMaterialClassificationRelationship ;
    rdfs:label "MaterialClassifications" ;
    rdfs:range :IfcClassificationSelect .

:materialConstituents_IfcMaterialConstituentSet
    a owl:ObjectProperty ;
    rdfs:domain :IfcMaterialConstituentSet ;
    rdfs:label "MaterialConstituents" ;
    rdfs:range :IfcMaterialConstituent ;
    owl:inverseOf :toMaterialConstituentSet_IfcMaterialConstituent .

:materialLayers_IfcMaterialLayerSet
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialLayerSet ;
    rdfs:label "MaterialLayers" ;
    rdfs:range :IfcMaterialLayer_List .

:materialProfiles_IfcMaterialProfileSet
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialProfileSet ;
    rdfs:label "MaterialProfiles" ;
    rdfs:range :IfcMaterialProfile_List .

:material_IfcMaterialConstituent
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialConstituent ;
    rdfs:label "Material" ;
    rdfs:range :IfcMaterial .

:material_IfcMaterialLayer
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialLayer ;
    rdfs:label "Material" ;
    rdfs:range :IfcMaterial .

:material_IfcMaterialProfile
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialProfile ;
    rdfs:label "Material" ;
    rdfs:range :IfcMaterial .

:material_IfcMaterialProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialProperties ;
    rdfs:label "Material" ;
    rdfs:range :IfcMaterialDefinition ;
    owl:inverseOf :hasProperties_IfcMaterialDefinition .

:materials_IfcMaterialList
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialList ;
    rdfs:label "Materials" ;
    rdfs:range :IfcMaterial_List .

:meshLength_IfcReinforcingMesh
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingMesh ;
    rdfs:label "MeshLength" ;
    rdfs:range :IfcPositiveLengthMeasure .

:meshLength_IfcReinforcingMeshType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingMeshType ;
    rdfs:label "MeshLength" ;
    rdfs:range :IfcPositiveLengthMeasure .

:meshWidth_IfcReinforcingMesh
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingMesh ;
    rdfs:label "MeshWidth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:meshWidth_IfcReinforcingMeshType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingMeshType ;
    rdfs:label "MeshWidth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:messagingIDs_IfcTelecomAddress
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTelecomAddress ;
    rdfs:label "MessagingIDs" ;
    rdfs:range :IfcURIReference_List .

:methodOfMeasurement_IfcElementQuantity
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcElementQuantity ;
    rdfs:label "MethodOfMeasurement" ;
    rdfs:range :IfcLabel .

:middleNames_IfcPerson
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPerson ;
    rdfs:label "MiddleNames" ;
    rdfs:range :IfcLabel_List .

:minCurvatureRadius_IfcTendon
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTendon ;
    rdfs:label "MinCurvatureRadius" ;
    rdfs:range :IfcPositiveLengthMeasure .

:mode_IfcSurfaceTexture
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceTexture ;
    rdfs:label "Mode" ;
    rdfs:range :IfcIdentifier .

:mode_IfcTextureCoordinateGenerator
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextureCoordinateGenerator ;
    rdfs:label "Mode" ;
    rdfs:range :IfcLabel .

:modelOrDraughting_IfcCurveStyle
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCurveStyle ;
    rdfs:label "ModelOrDraughting" ;
    rdfs:range :IfcBoolean .

:modelOrDraughting_IfcTextStyle
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextStyle ;
    rdfs:label "ModelOrDraughting" ;
    rdfs:range :IfcBoolean .

:modelorDraughting_IfcFillAreaStyle
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFillAreaStyle ;
    rdfs:label "ModelorDraughting" ;
    rdfs:range :IfcBoolean .

:momentX_IfcStructuralLoadSingleForce
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadSingleForce ;
    rdfs:label "MomentX" ;
    rdfs:range :IfcTorqueMeasure .

:momentY_IfcStructuralLoadSingleForce
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadSingleForce ;
    rdfs:label "MomentY" ;
    rdfs:range :IfcTorqueMeasure .

:momentZ_IfcStructuralLoadSingleForce
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadSingleForce ;
    rdfs:label "MomentZ" ;
    rdfs:range :IfcTorqueMeasure .

:monthComponent_IfcRecurrencePattern
    a owl:ObjectProperty ;
    rdfs:domain :IfcRecurrencePattern ;
    rdfs:label "MonthComponent" ;
    rdfs:range :IfcMonthInYearNumber .

:mullionThickness_IfcWindowLiningProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindowLiningProperties ;
    rdfs:label "MullionThickness" ;
    rdfs:range :IfcNonNegativeLengthMeasure .

:name_IfcAppliedValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAppliedValue ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcApproval
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcApproval ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcBoundaryCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBoundaryCondition ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcClassification
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcClassification ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcColourSpecification
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcColourSpecification ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcConstraint
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConstraint ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcContextDependentUnit
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcContextDependentUnit ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcConversionBasedUnit
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConversionBasedUnit ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcCoordinateReferenceSystem
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCoordinateReferenceSystem ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcCurveStyleFont
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCurveStyleFont ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcCurveStyleFontAndScaling
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCurveStyleFontAndScaling ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcDocumentInformation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDocumentInformation ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcExtendedProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcExtendedProperties ;
    rdfs:label "Name" ;
    rdfs:range :IfcIdentifier .

:name_IfcExternalReference
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcExternalReference ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcLibraryInformation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLibraryInformation ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcLightSource
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightSource ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcMaterial
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterial ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcMaterialConstituent
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialConstituent ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcMaterialConstituentSet
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialConstituentSet ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcMaterialLayer
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialLayer ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcMaterialProfile
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialProfile ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcMaterialProfileSet
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialProfileSet ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcOrganization
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOrganization ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcPhysicalQuantity
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPhysicalQuantity ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcPreDefinedItem
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPreDefinedItem ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcPresentationLayerAssignment
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPresentationLayerAssignment ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcPresentationStyle
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPresentationStyle ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcProductRepresentation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProductRepresentation ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcProperty
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProperty ;
    rdfs:label "Name" ;
    rdfs:range :IfcIdentifier .

:name_IfcPropertyEnumeration
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertyEnumeration ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcResourceLevelRelationship
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcResourceLevelRelationship ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcRoot
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRoot ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcSIUnit
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSIUnit ;
    rdfs:label "Name" ;
    rdfs:range :IfcSIUnitName .

:name_IfcSchedulingTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSchedulingTime ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcShapeAspect
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcShapeAspect ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcStructuralConnectionCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralConnectionCondition ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcStructuralLoad
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoad ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcStyledItem
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStyledItem ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcTable
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTable ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcTableColumn
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTableColumn ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:name_IfcTimeSeries
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTimeSeries ;
    rdfs:label "Name" ;
    rdfs:range :IfcLabel .

:nominalBarDiameter_IfcReinforcementBarProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcementBarProperties ;
    rdfs:label "NominalBarDiameter" ;
    rdfs:range :IfcPositiveLengthMeasure .

:nominalDiameter_IfcMechanicalFastener
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMechanicalFastener ;
    rdfs:label "NominalDiameter" ;
    rdfs:range :IfcPositiveLengthMeasure .

:nominalDiameter_IfcMechanicalFastenerType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMechanicalFastenerType ;
    rdfs:label "NominalDiameter" ;
    rdfs:range :IfcPositiveLengthMeasure .

:nominalDiameter_IfcReinforcingBar
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingBar ;
    rdfs:label "NominalDiameter" ;
    rdfs:range :IfcPositiveLengthMeasure .

:nominalDiameter_IfcReinforcingBarType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingBarType ;
    rdfs:label "NominalDiameter" ;
    rdfs:range :IfcPositiveLengthMeasure .

:nominalDiameter_IfcTendon
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTendon ;
    rdfs:label "NominalDiameter" ;
    rdfs:range :IfcPositiveLengthMeasure .

:nominalDiameter_IfcTendonType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTendonType ;
    rdfs:label "NominalDiameter" ;
    rdfs:range :IfcPositiveLengthMeasure .

:nominalLength_IfcMechanicalFastener
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMechanicalFastener ;
    rdfs:label "NominalLength" ;
    rdfs:range :IfcPositiveLengthMeasure .

:nominalLength_IfcMechanicalFastenerType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMechanicalFastenerType ;
    rdfs:label "NominalLength" ;
    rdfs:range :IfcPositiveLengthMeasure .

:nominalValue_IfcPropertySingleValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertySingleValue ;
    rdfs:label "NominalValue" ;
    rdfs:range :IfcValue .

:normalIndex_IfcTriangulatedFaceSet
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTriangulatedFaceSet ;
    rdfs:label "NormalIndex" ;
    rdfs:range :IfcPositiveInteger_List_List .

:normals_IfcTessellatedFaceSet
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTessellatedFaceSet ;
    rdfs:label "Normals" ;
    rdfs:range :IfcParameterValue_List_List .

:northings_IfcMapConversion
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMapConversion ;
    rdfs:label "Northings" ;
    rdfs:range :IfcLengthMeasure .

:numberOfRisers_IfcStairFlight
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStairFlight ;
    rdfs:label "NumberOfRisers" ;
    rdfs:range :IfcInteger .

:numberOfTreads_IfcStairFlight
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStairFlight ;
    rdfs:label "NumberOfTreads" ;
    rdfs:range :IfcInteger .

:objectPlacement_IfcProduct
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProduct ;
    rdfs:label "ObjectPlacement" ;
    rdfs:range :IfcObjectPlacement ;
    owl:inverseOf :placesObject_IfcObjectPlacement .

:objectType_IfcContext
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcContext ;
    rdfs:label "ObjectType" ;
    rdfs:range :IfcLabel .

:objectType_IfcObject
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcObject ;
    rdfs:label "ObjectType" ;
    rdfs:range :IfcLabel .

:objectiveQualifier_IfcObjective
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcObjective ;
    rdfs:label "ObjectiveQualifier" ;
    rdfs:range :IfcObjectiveEnum .

:occurrences_IfcRecurrencePattern
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRecurrencePattern ;
    rdfs:label "Occurrences" ;
    rdfs:range :IfcInteger .

:offsetDirection_IfcMaterialLayerWithOffsets
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialLayerWithOffsets ;
    rdfs:label "OffsetDirection" ;
    rdfs:range :IfcLayerSetDirectionEnum .

:offsetDistances_IfcVirtualGridIntersection
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcVirtualGridIntersection ;
    rdfs:label "OffsetDistances" ;
    rdfs:range :IfcLengthMeasure_List .

:offsetFromReferenceLine_IfcMaterialLayerSetUsage
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialLayerSetUsage ;
    rdfs:label "OffsetFromReferenceLine" ;
    rdfs:range :IfcLengthMeasure .

:offsetValues_IfcMaterialLayerWithOffsets
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialLayerWithOffsets ;
    rdfs:label "OffsetValues" ;
    rdfs:range :IfcLengthMeasure_List .

:offsetValues_IfcMaterialProfileWithOffsets
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialProfileWithOffsets ;
    rdfs:label "OffsetValues" ;
    rdfs:range :IfcLengthMeasure_List .

:operationType_IfcDoor
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoor ;
    rdfs:label "OperationType" ;
    rdfs:range :IfcDoorTypeOperationEnum .

:operationType_IfcDoorStyle
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorStyle ;
    rdfs:label "OperationType" ;
    rdfs:range :IfcDoorStyleOperationEnum .

:operationType_IfcDoorType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorType ;
    rdfs:label "OperationType" ;
    rdfs:range :IfcDoorTypeOperationEnum .

:operationType_IfcPermeableCoveringProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPermeableCoveringProperties ;
    rdfs:label "OperationType" ;
    rdfs:range :IfcPermeableCoveringOperationEnum .

:operationType_IfcWindowPanelProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindowPanelProperties ;
    rdfs:label "OperationType" ;
    rdfs:range :IfcWindowPanelOperationEnum .

:operationType_IfcWindowStyle
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindowStyle ;
    rdfs:label "OperationType" ;
    rdfs:range :IfcWindowStyleOperationEnum .

:operator_IfcBooleanResult
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBooleanResult ;
    rdfs:label "Operator" ;
    rdfs:range :IfcBooleanOperator .

:operator_IfcDerivedProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDerivedProfileDef ;
    rdfs:label "Operator" ;
    rdfs:range :IfcCartesianTransformationOperator2D .

:orientationOf2DPlane_IfcStructuralAnalysisModel
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralAnalysisModel ;
    rdfs:label "OrientationOf2DPlane" ;
    rdfs:range :IfcAxis2Placement3D .

:orientation_IfcFaceBound
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFaceBound ;
    rdfs:label "Orientation" ;
    rdfs:range :IfcBoolean .

:orientation_IfcLightSourceDirectional
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightSourceDirectional ;
    rdfs:label "Orientation" ;
    rdfs:range :IfcDirection .

:orientation_IfcLightSourceSpot
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightSourceSpot ;
    rdfs:label "Orientation" ;
    rdfs:range :IfcDirection .

:orientation_IfcOrientedEdge
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOrientedEdge ;
    rdfs:label "Orientation" ;
    rdfs:range :IfcBoolean .

:orientation_IfcVector
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcVector ;
    rdfs:label "Orientation" ;
    rdfs:range :IfcDirection .

:originalValue_IfcAsset
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAsset ;
    rdfs:label "OriginalValue" ;
    rdfs:range :IfcCostValue .

:originalValue_IfcInventory
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcInventory ;
    rdfs:label "OriginalValue" ;
    rdfs:range :IfcCostValue .

:orthogonalHeight_IfcMapConversion
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMapConversion ;
    rdfs:label "OrthogonalHeight" ;
    rdfs:range :IfcLengthMeasure .

:outerBoundary_IfcAnnotationFillArea
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAnnotationFillArea ;
    rdfs:label "OuterBoundary" ;
    rdfs:range :IfcCurve .

:outerBoundary_IfcCurveBoundedPlane
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCurveBoundedPlane ;
    rdfs:label "OuterBoundary" ;
    rdfs:range :IfcCurve .

:outerCurve_IfcArbitraryClosedProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcArbitraryClosedProfileDef ;
    rdfs:label "OuterCurve" ;
    rdfs:range :IfcCurve .

:outerFilletRadius_IfcRectangleHollowProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRectangleHollowProfileDef ;
    rdfs:label "OuterFilletRadius" ;
    rdfs:range :IfcNonNegativeLengthMeasure .

:outer_IfcManifoldSolidBrep
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcManifoldSolidBrep ;
    rdfs:label "Outer" ;
    rdfs:range :IfcClosedShell .

:overallDepth_IfcAsymmetricIShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAsymmetricIShapeProfileDef ;
    rdfs:label "OverallDepth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:overallDepth_IfcIShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcIShapeProfileDef ;
    rdfs:label "OverallDepth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:overallHeight_IfcDoor
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoor ;
    rdfs:label "OverallHeight" ;
    rdfs:range :IfcPositiveLengthMeasure .

:overallHeight_IfcWindow
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindow ;
    rdfs:label "OverallHeight" ;
    rdfs:range :IfcPositiveLengthMeasure .

:overallWidth_IfcDoor
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoor ;
    rdfs:label "OverallWidth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:overallWidth_IfcIShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcIShapeProfileDef ;
    rdfs:label "OverallWidth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:overallWidth_IfcWindow
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindow ;
    rdfs:label "OverallWidth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:overrides_IfcIndexedColourMap
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcIndexedColourMap ;
    rdfs:label "Overrides" ;
    rdfs:range :IfcSurfaceStyleShading .

:ownerHistory_IfcRoot
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRoot ;
    rdfs:label "OwnerHistory" ;
    rdfs:range :IfcOwnerHistory .

:owner_IfcAsset
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAsset ;
    rdfs:label "Owner" ;
    rdfs:range :IfcActorSelect .

:owningApplication_IfcOwnerHistory
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOwnerHistory ;
    rdfs:label "OwningApplication" ;
    rdfs:range :IfcApplication .

:owningUser_IfcOwnerHistory
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOwnerHistory ;
    rdfs:label "OwningUser" ;
    rdfs:range :IfcPersonAndOrganization .

:pagerNumber_IfcTelecomAddress
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTelecomAddress ;
    rdfs:label "PagerNumber" ;
    rdfs:range :IfcLabel .

:panelDepth_IfcDoorPanelProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorPanelProperties ;
    rdfs:label "PanelDepth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:panelOperation_IfcDoorPanelProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorPanelProperties ;
    rdfs:label "PanelOperation" ;
    rdfs:range :IfcDoorPanelOperationEnum .

:panelPosition_IfcDoorPanelProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorPanelProperties ;
    rdfs:label "PanelPosition" ;
    rdfs:range :IfcDoorPanelPositionEnum .

:panelPosition_IfcPermeableCoveringProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPermeableCoveringProperties ;
    rdfs:label "PanelPosition" ;
    rdfs:range :IfcWindowPanelPositionEnum .

:panelPosition_IfcWindowPanelProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindowPanelProperties ;
    rdfs:label "PanelPosition" ;
    rdfs:range :IfcWindowPanelPositionEnum .

:panelWidth_IfcDoorPanelProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorPanelProperties ;
    rdfs:label "PanelWidth" ;
    rdfs:range :IfcNormalisedRatioMeasure .

:paramLength_IfcReparametrisedCompositeCurveSegment
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReparametrisedCompositeCurveSegment ;
    rdfs:label "ParamLength" ;
    rdfs:range :IfcParameterValue .

:parameterTakesPrecedence_IfcDoorStyle
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorStyle ;
    rdfs:label "ParameterTakesPrecedence" ;
    rdfs:range :IfcBoolean .

:parameterTakesPrecedence_IfcDoorType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorType ;
    rdfs:label "ParameterTakesPrecedence" ;
    rdfs:range :IfcBoolean .

:parameterTakesPrecedence_IfcWindowStyle
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindowStyle ;
    rdfs:label "ParameterTakesPrecedence" ;
    rdfs:range :IfcBoolean .

:parameterTakesPrecedence_IfcWindowType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindowType ;
    rdfs:label "ParameterTakesPrecedence" ;
    rdfs:range :IfcBoolean .

:parameter_IfcSurfaceTexture
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceTexture ;
    rdfs:label "Parameter" ;
    rdfs:range :IfcIdentifier_List .

:parameter_IfcTextureCoordinateGenerator
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextureCoordinateGenerator ;
    rdfs:label "Parameter" ;
    rdfs:range :IfcReal_List .

:parentBoundary_IfcRelSpaceBoundary1stLevel
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelSpaceBoundary1stLevel ;
    rdfs:label "ParentBoundary" ;
    rdfs:range :IfcRelSpaceBoundary1stLevel ;
    owl:inverseOf :innerBoundaries_IfcRelSpaceBoundary1stLevel .

:parentContext_IfcGeometricRepresentationSubContext
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcGeometricRepresentationSubContext ;
    rdfs:label "ParentContext" ;
    rdfs:range :IfcGeometricRepresentationContext ;
    owl:inverseOf :hasSubContexts_IfcGeometricRepresentationContext .

:parentCurve_IfcCompositeCurveSegment
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCompositeCurveSegment ;
    rdfs:label "ParentCurve" ;
    rdfs:range :IfcCurve .

:parentEdge_IfcSubedge
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSubedge ;
    rdfs:label "ParentEdge" ;
    rdfs:range :IfcEdge .

:parentProfile_IfcDerivedProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDerivedProfileDef ;
    rdfs:label "ParentProfile" ;
    rdfs:range :IfcProfileDef .

:partOfComplexTemplate_IfcPropertyTemplate
    a owl:ObjectProperty ;
    rdfs:domain :IfcPropertyTemplate ;
    rdfs:label "PartOfComplexTemplate" ;
    rdfs:range :IfcComplexPropertyTemplate ;
    owl:inverseOf :hasPropertyTemplates_IfcComplexPropertyTemplate .

:partOfComplex_IfcPhysicalQuantity
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPhysicalQuantity ;
    rdfs:label "PartOfComplex" ;
    rdfs:range :IfcPhysicalComplexQuantity ;
    owl:inverseOf :hasQuantities_IfcPhysicalComplexQuantity .

:partOfComplex_IfcProperty
    a owl:ObjectProperty ;
    rdfs:domain :IfcProperty ;
    rdfs:label "PartOfComplex" ;
    rdfs:range :IfcComplexProperty ;
    owl:inverseOf :hasProperties_IfcComplexProperty .

:partOfProductDefinitionShape_IfcShapeAspect
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcShapeAspect ;
    rdfs:label "PartOfProductDefinitionShape" ;
    rdfs:range :IfcProductRepresentationSelect .

:partOfPsetTemplate_IfcPropertyTemplate
    a owl:ObjectProperty ;
    rdfs:domain :IfcPropertyTemplate ;
    rdfs:label "PartOfPsetTemplate" ;
    rdfs:range :IfcPropertySetTemplate ;
    owl:inverseOf :hasPropertyTemplates_IfcPropertySetTemplate .

:partOfPset_IfcProperty
    a owl:ObjectProperty ;
    rdfs:domain :IfcProperty ;
    rdfs:label "PartOfPset" ;
    rdfs:range :IfcPropertySet ;
    owl:inverseOf :hasProperties_IfcPropertySet .

:partitioningType_IfcWindow
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindow ;
    rdfs:label "PartitioningType" ;
    rdfs:range :IfcWindowTypePartitioningEnum .

:partitioningType_IfcWindowType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindowType ;
    rdfs:label "PartitioningType" ;
    rdfs:range :IfcWindowTypePartitioningEnum .

:path_IfcTextLiteral
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextLiteral ;
    rdfs:label "Path" ;
    rdfs:range :IfcTextPath .

:patternList_IfcCurveStyleFont
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCurveStyleFont ;
    rdfs:label "PatternList" ;
    rdfs:range :IfcCurveStyleFontPattern_List .

:patternStart_IfcFillAreaStyleHatching
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFillAreaStyleHatching ;
    rdfs:label "PatternStart" ;
    rdfs:range :IfcCartesianPoint .

:phase_IfcContext
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcContext ;
    rdfs:label "Phase" ;
    rdfs:range :IfcLabel .

:physicalOrVirtualBoundary_IfcRelSpaceBoundary
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelSpaceBoundary ;
    rdfs:label "PhysicalOrVirtualBoundary" ;
    rdfs:range :IfcPhysicalOrVirtualEnum .

:pixel_IfcPixelTexture
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPixelTexture ;
    rdfs:label "Pixel" ;
    rdfs:range :IfcBinary_List .

:placementLocation_IfcGridPlacement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcGridPlacement ;
    rdfs:label "PlacementLocation" ;
    rdfs:range :IfcVirtualGridIntersection .

:placementRefDirection_IfcGridPlacement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcGridPlacement ;
    rdfs:label "PlacementRefDirection" ;
    rdfs:range :IfcGridPlacementDirectionSelect .

:placementRelTo_IfcLocalPlacement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLocalPlacement ;
    rdfs:label "PlacementRelTo" ;
    rdfs:range :IfcObjectPlacement ;
    owl:inverseOf :referencedByPlacements_IfcObjectPlacement .

:placement_IfcPlanarBox
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPlanarBox ;
    rdfs:label "Placement" ;
    rdfs:range :IfcAxis2Placement .

:placement_IfcTextLiteral
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextLiteral ;
    rdfs:label "Placement" ;
    rdfs:range :IfcAxis2Placement .

:placesObject_IfcObjectPlacement
    a owl:ObjectProperty ;
    rdfs:domain :IfcObjectPlacement ;
    rdfs:label "PlacesObject" ;
    rdfs:range :IfcProduct ;
    owl:inverseOf :objectPlacement_IfcProduct .

:planarForceX_IfcStructuralLoadPlanarForce
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadPlanarForce ;
    rdfs:label "PlanarForceX" ;
    rdfs:range :IfcPlanarForceMeasure .

:planarForceY_IfcStructuralLoadPlanarForce
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadPlanarForce ;
    rdfs:label "PlanarForceY" ;
    rdfs:range :IfcPlanarForceMeasure .

:planarForceZ_IfcStructuralLoadPlanarForce
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadPlanarForce ;
    rdfs:label "PlanarForceZ" ;
    rdfs:range :IfcPlanarForceMeasure .

:pnt_IfcLine
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLine ;
    rdfs:label "Pnt" ;
    rdfs:range :IfcCartesianPoint .

:pointOfReferenceHatchLine_IfcFillAreaStyleHatching
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFillAreaStyleHatching ;
    rdfs:label "PointOfReferenceHatchLine" ;
    rdfs:range :IfcCartesianPoint .

:pointOnRelatedElement_IfcConnectionPointGeometry
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConnectionPointGeometry ;
    rdfs:label "PointOnRelatedElement" ;
    rdfs:range :IfcPointOrVertexPoint .

:pointOnRelatingElement_IfcConnectionPointGeometry
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConnectionPointGeometry ;
    rdfs:label "PointOnRelatingElement" ;
    rdfs:range :IfcPointOrVertexPoint .

:pointParameterU_IfcPointOnSurface
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPointOnSurface ;
    rdfs:label "PointParameterU" ;
    rdfs:range :IfcParameterValue .

:pointParameterV_IfcPointOnSurface
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPointOnSurface ;
    rdfs:label "PointParameterV" ;
    rdfs:range :IfcParameterValue .

:pointParameter_IfcPointOnCurve
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPointOnCurve ;
    rdfs:label "PointParameter" ;
    rdfs:range :IfcParameterValue .

:points_IfcIndexedPolyCurve
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcIndexedPolyCurve ;
    rdfs:label "Points" ;
    rdfs:range :IfcCartesianPointList .

:points_IfcPolyline
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPolyline ;
    rdfs:label "Points" ;
    rdfs:range :IfcCartesianPoint_List .

:polygon_IfcPolyLoop
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPolyLoop ;
    rdfs:label "Polygon" ;
    rdfs:range :IfcCartesianPoint_List .

:polygonalBoundary_IfcPolygonalBoundedHalfSpace
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPolygonalBoundedHalfSpace ;
    rdfs:label "PolygonalBoundary" ;
    rdfs:range :IfcBoundedCurve .

:position_IfcConic
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConic ;
    rdfs:label "Position" ;
    rdfs:range :IfcAxis2Placement .

:position_IfcCsgPrimitive3D
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCsgPrimitive3D ;
    rdfs:label "Position" ;
    rdfs:range :IfcAxis2Placement3D .

:position_IfcElementarySurface
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcElementarySurface ;
    rdfs:label "Position" ;
    rdfs:range :IfcAxis2Placement3D .

:position_IfcLightSourceGoniometric
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightSourceGoniometric ;
    rdfs:label "Position" ;
    rdfs:range :IfcAxis2Placement3D .

:position_IfcLightSourcePositional
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightSourcePositional ;
    rdfs:label "Position" ;
    rdfs:range :IfcCartesianPoint .

:position_IfcParameterizedProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcParameterizedProfileDef ;
    rdfs:label "Position" ;
    rdfs:range :IfcAxis2Placement2D .

:position_IfcPolygonalBoundedHalfSpace
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPolygonalBoundedHalfSpace ;
    rdfs:label "Position" ;
    rdfs:range :IfcAxis2Placement3D .

:position_IfcRecurrencePattern
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRecurrencePattern ;
    rdfs:label "Position" ;
    rdfs:range :IfcInteger .

:position_IfcSweptAreaSolid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSweptAreaSolid ;
    rdfs:label "Position" ;
    rdfs:range :IfcAxis2Placement3D .

:position_IfcSweptSurface
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSweptSurface ;
    rdfs:label "Position" ;
    rdfs:range :IfcAxis2Placement3D .

:postalBox_IfcPostalAddress
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPostalAddress ;
    rdfs:label "PostalBox" ;
    rdfs:range :IfcLabel .

:postalCode_IfcPostalAddress
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPostalAddress ;
    rdfs:label "PostalCode" ;
    rdfs:range :IfcLabel .

:preStress_IfcTendon
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTendon ;
    rdfs:label "PreStress" ;
    rdfs:range :IfcPressureMeasure .

:precision_IfcGeometricRepresentationContext
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcGeometricRepresentationContext ;
    rdfs:label "Precision" ;
    rdfs:range :IfcReal .

:predefinedType_IfcActionRequest
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcActionRequest ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcActionRequestTypeEnum .

:predefinedType_IfcActuator
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcActuator ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcActuatorTypeEnum .

:predefinedType_IfcActuatorType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcActuatorType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcActuatorTypeEnum .

:predefinedType_IfcAirTerminal
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAirTerminal ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcAirTerminalTypeEnum .

:predefinedType_IfcAirTerminalBox
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAirTerminalBox ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcAirTerminalBoxTypeEnum .

:predefinedType_IfcAirTerminalBoxType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAirTerminalBoxType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcAirTerminalBoxTypeEnum .

:predefinedType_IfcAirTerminalType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAirTerminalType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcAirTerminalTypeEnum .

:predefinedType_IfcAirToAirHeatRecovery
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAirToAirHeatRecovery ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcAirToAirHeatRecoveryTypeEnum .

:predefinedType_IfcAirToAirHeatRecoveryType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAirToAirHeatRecoveryType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcAirToAirHeatRecoveryTypeEnum .

:predefinedType_IfcAlarm
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAlarm ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcAlarmTypeEnum .

:predefinedType_IfcAlarmType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAlarmType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcAlarmTypeEnum .

:predefinedType_IfcAudioVisualAppliance
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAudioVisualAppliance ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcAudioVisualApplianceTypeEnum .

:predefinedType_IfcAudioVisualApplianceType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAudioVisualApplianceType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcAudioVisualApplianceTypeEnum .

:predefinedType_IfcBeam
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBeam ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcBeamTypeEnum .

:predefinedType_IfcBeamType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBeamType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcBeamTypeEnum .

:predefinedType_IfcBoiler
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBoiler ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcBoilerTypeEnum .

:predefinedType_IfcBoilerType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBoilerType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcBoilerTypeEnum .

:predefinedType_IfcBuildingElementPart
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBuildingElementPart ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcBuildingElementPartTypeEnum .

:predefinedType_IfcBuildingElementPartType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBuildingElementPartType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcBuildingElementPartTypeEnum .

:predefinedType_IfcBuildingElementProxy
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBuildingElementProxy ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcBuildingElementProxyTypeEnum .

:predefinedType_IfcBuildingElementProxyType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBuildingElementProxyType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcBuildingElementProxyTypeEnum .

:predefinedType_IfcBuildingSystem
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBuildingSystem ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcBuildingSystemTypeEnum .

:predefinedType_IfcBurner
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBurner ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcBurnerTypeEnum .

:predefinedType_IfcBurnerType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBurnerType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcBurnerTypeEnum .

:predefinedType_IfcCableCarrierFitting
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCableCarrierFitting ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCableCarrierFittingTypeEnum .

:predefinedType_IfcCableCarrierFittingType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCableCarrierFittingType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCableCarrierFittingTypeEnum .

:predefinedType_IfcCableCarrierSegment
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCableCarrierSegment ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCableCarrierSegmentTypeEnum .

:predefinedType_IfcCableCarrierSegmentType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCableCarrierSegmentType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCableCarrierSegmentTypeEnum .

:predefinedType_IfcCableFitting
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCableFitting ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCableFittingTypeEnum .

:predefinedType_IfcCableFittingType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCableFittingType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCableFittingTypeEnum .

:predefinedType_IfcCableSegment
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCableSegment ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCableSegmentTypeEnum .

:predefinedType_IfcCableSegmentType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCableSegmentType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCableSegmentTypeEnum .

:predefinedType_IfcChiller
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcChiller ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcChillerTypeEnum .

:predefinedType_IfcChillerType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcChillerType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcChillerTypeEnum .

:predefinedType_IfcChimney
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcChimney ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcChimneyTypeEnum .

:predefinedType_IfcChimneyType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcChimneyType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcChimneyTypeEnum .

:predefinedType_IfcCoil
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCoil ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCoilTypeEnum .

:predefinedType_IfcCoilType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCoilType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCoilTypeEnum .

:predefinedType_IfcColumn
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcColumn ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcColumnTypeEnum .

:predefinedType_IfcColumnType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcColumnType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcColumnTypeEnum .

:predefinedType_IfcCommunicationsAppliance
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCommunicationsAppliance ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCommunicationsApplianceTypeEnum .

:predefinedType_IfcCommunicationsApplianceType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCommunicationsApplianceType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCommunicationsApplianceTypeEnum .

:predefinedType_IfcCompressor
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCompressor ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCompressorTypeEnum .

:predefinedType_IfcCompressorType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCompressorType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCompressorTypeEnum .

:predefinedType_IfcCondenser
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCondenser ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCondenserTypeEnum .

:predefinedType_IfcCondenserType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCondenserType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCondenserTypeEnum .

:predefinedType_IfcConstructionEquipmentResource
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConstructionEquipmentResource ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcConstructionEquipmentResourceTypeEnum .

:predefinedType_IfcConstructionEquipmentResourceType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConstructionEquipmentResourceType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcConstructionEquipmentResourceTypeEnum .

:predefinedType_IfcConstructionMaterialResource
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConstructionMaterialResource ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcConstructionMaterialResourceTypeEnum .

:predefinedType_IfcConstructionMaterialResourceType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConstructionMaterialResourceType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcConstructionMaterialResourceTypeEnum .

:predefinedType_IfcConstructionProductResource
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConstructionProductResource ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcConstructionProductResourceTypeEnum .

:predefinedType_IfcConstructionProductResourceType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConstructionProductResourceType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcConstructionProductResourceTypeEnum .

:predefinedType_IfcController
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcController ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcControllerTypeEnum .

:predefinedType_IfcControllerType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcControllerType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcControllerTypeEnum .

:predefinedType_IfcCooledBeam
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCooledBeam ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCooledBeamTypeEnum .

:predefinedType_IfcCooledBeamType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCooledBeamType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCooledBeamTypeEnum .

:predefinedType_IfcCoolingTower
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCoolingTower ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCoolingTowerTypeEnum .

:predefinedType_IfcCoolingTowerType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCoolingTowerType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCoolingTowerTypeEnum .

:predefinedType_IfcCostItem
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCostItem ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCostItemTypeEnum .

:predefinedType_IfcCostSchedule
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCostSchedule ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCostScheduleTypeEnum .

:predefinedType_IfcCovering
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCovering ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCoveringTypeEnum .

:predefinedType_IfcCoveringType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCoveringType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCoveringTypeEnum .

:predefinedType_IfcCrewResource
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCrewResource ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCrewResourceTypeEnum .

:predefinedType_IfcCrewResourceType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCrewResourceType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCrewResourceTypeEnum .

:predefinedType_IfcCurtainWall
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCurtainWall ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCurtainWallTypeEnum .

:predefinedType_IfcCurtainWallType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCurtainWallType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcCurtainWallTypeEnum .

:predefinedType_IfcDamper
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDamper ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcDamperTypeEnum .

:predefinedType_IfcDamperType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDamperType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcDamperTypeEnum .

:predefinedType_IfcDiscreteAccessory
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDiscreteAccessory ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcDiscreteAccessoryTypeEnum .

:predefinedType_IfcDiscreteAccessoryType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDiscreteAccessoryType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcDiscreteAccessoryTypeEnum .

:predefinedType_IfcDistributionChamberElement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDistributionChamberElement ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcDistributionChamberElementTypeEnum .

:predefinedType_IfcDistributionChamberElementType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDistributionChamberElementType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcDistributionChamberElementTypeEnum .

:predefinedType_IfcDistributionPort
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDistributionPort ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcDistributionPortTypeEnum .

:predefinedType_IfcDistributionSystem
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDistributionSystem ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcDistributionSystemEnum .

:predefinedType_IfcDoor
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoor ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcDoorTypeEnum .

:predefinedType_IfcDoorType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcDoorTypeEnum .

:predefinedType_IfcDuctFitting
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDuctFitting ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcDuctFittingTypeEnum .

:predefinedType_IfcDuctFittingType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDuctFittingType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcDuctFittingTypeEnum .

:predefinedType_IfcDuctSegment
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDuctSegment ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcDuctSegmentTypeEnum .

:predefinedType_IfcDuctSegmentType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDuctSegmentType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcDuctSegmentTypeEnum .

:predefinedType_IfcDuctSilencer
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDuctSilencer ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcDuctSilencerTypeEnum .

:predefinedType_IfcDuctSilencerType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDuctSilencerType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcDuctSilencerTypeEnum .

:predefinedType_IfcElectricAppliance
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcElectricAppliance ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcElectricApplianceTypeEnum .

:predefinedType_IfcElectricApplianceType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcElectricApplianceType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcElectricApplianceTypeEnum .

:predefinedType_IfcElectricDistributionBoard
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcElectricDistributionBoard ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcElectricDistributionBoardTypeEnum .

:predefinedType_IfcElectricDistributionBoardType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcElectricDistributionBoardType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcElectricDistributionBoardTypeEnum .

:predefinedType_IfcElectricFlowStorageDevice
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcElectricFlowStorageDevice ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcElectricFlowStorageDeviceTypeEnum .

:predefinedType_IfcElectricFlowStorageDeviceType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcElectricFlowStorageDeviceType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcElectricFlowStorageDeviceTypeEnum .

:predefinedType_IfcElectricGenerator
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcElectricGenerator ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcElectricGeneratorTypeEnum .

:predefinedType_IfcElectricGeneratorType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcElectricGeneratorType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcElectricGeneratorTypeEnum .

:predefinedType_IfcElectricMotor
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcElectricMotor ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcElectricMotorTypeEnum .

:predefinedType_IfcElectricMotorType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcElectricMotorType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcElectricMotorTypeEnum .

:predefinedType_IfcElectricTimeControl
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcElectricTimeControl ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcElectricTimeControlTypeEnum .

:predefinedType_IfcElectricTimeControlType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcElectricTimeControlType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcElectricTimeControlTypeEnum .

:predefinedType_IfcElementAssembly
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcElementAssembly ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcElementAssemblyTypeEnum .

:predefinedType_IfcElementAssemblyType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcElementAssemblyType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcElementAssemblyTypeEnum .

:predefinedType_IfcEngine
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEngine ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcEngineTypeEnum .

:predefinedType_IfcEngineType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEngineType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcEngineTypeEnum .

:predefinedType_IfcEvaporativeCooler
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEvaporativeCooler ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcEvaporativeCoolerTypeEnum .

:predefinedType_IfcEvaporativeCoolerType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEvaporativeCoolerType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcEvaporativeCoolerTypeEnum .

:predefinedType_IfcEvaporator
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEvaporator ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcEvaporatorTypeEnum .

:predefinedType_IfcEvaporatorType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEvaporatorType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcEvaporatorTypeEnum .

:predefinedType_IfcEvent
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEvent ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcEventTypeEnum .

:predefinedType_IfcEventType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEventType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcEventTypeEnum .

:predefinedType_IfcExternalSpatialElement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcExternalSpatialElement ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcExternalSpatialElementTypeEnum .

:predefinedType_IfcFan
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFan ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcFanTypeEnum .

:predefinedType_IfcFanType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFanType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcFanTypeEnum .

:predefinedType_IfcFastener
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFastener ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcFastenerTypeEnum .

:predefinedType_IfcFastenerType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFastenerType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcFastenerTypeEnum .

:predefinedType_IfcFilter
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFilter ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcFilterTypeEnum .

:predefinedType_IfcFilterType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFilterType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcFilterTypeEnum .

:predefinedType_IfcFireSuppressionTerminal
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFireSuppressionTerminal ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcFireSuppressionTerminalTypeEnum .

:predefinedType_IfcFireSuppressionTerminalType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFireSuppressionTerminalType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcFireSuppressionTerminalTypeEnum .

:predefinedType_IfcFlowInstrument
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFlowInstrument ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcFlowInstrumentTypeEnum .

:predefinedType_IfcFlowInstrumentType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFlowInstrumentType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcFlowInstrumentTypeEnum .

:predefinedType_IfcFlowMeter
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFlowMeter ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcFlowMeterTypeEnum .

:predefinedType_IfcFlowMeterType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFlowMeterType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcFlowMeterTypeEnum .

:predefinedType_IfcFooting
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFooting ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcFootingTypeEnum .

:predefinedType_IfcFootingType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFootingType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcFootingTypeEnum .

:predefinedType_IfcFurniture
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFurniture ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcFurnitureTypeEnum .

:predefinedType_IfcFurnitureType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFurnitureType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcFurnitureTypeEnum .

:predefinedType_IfcGeographicElement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcGeographicElement ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcGeographicElementTypeEnum .

:predefinedType_IfcGeographicElementType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcGeographicElementType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcGeographicElementTypeEnum .

:predefinedType_IfcGrid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcGrid ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcGridTypeEnum .

:predefinedType_IfcHeatExchanger
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcHeatExchanger ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcHeatExchangerTypeEnum .

:predefinedType_IfcHeatExchangerType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcHeatExchangerType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcHeatExchangerTypeEnum .

:predefinedType_IfcHumidifier
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcHumidifier ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcHumidifierTypeEnum .

:predefinedType_IfcHumidifierType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcHumidifierType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcHumidifierTypeEnum .

:predefinedType_IfcInterceptor
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcInterceptor ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcInterceptorTypeEnum .

:predefinedType_IfcInterceptorType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcInterceptorType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcInterceptorTypeEnum .

:predefinedType_IfcInventory
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcInventory ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcInventoryTypeEnum .

:predefinedType_IfcJunctionBox
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcJunctionBox ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcJunctionBoxTypeEnum .

:predefinedType_IfcJunctionBoxType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcJunctionBoxType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcJunctionBoxTypeEnum .

:predefinedType_IfcLaborResource
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLaborResource ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcLaborResourceTypeEnum .

:predefinedType_IfcLaborResourceType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLaborResourceType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcLaborResourceTypeEnum .

:predefinedType_IfcLamp
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLamp ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcLampTypeEnum .

:predefinedType_IfcLampType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLampType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcLampTypeEnum .

:predefinedType_IfcLightFixture
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightFixture ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcLightFixtureTypeEnum .

:predefinedType_IfcLightFixtureType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightFixtureType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcLightFixtureTypeEnum .

:predefinedType_IfcMechanicalFastener
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMechanicalFastener ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcMechanicalFastenerTypeEnum .

:predefinedType_IfcMechanicalFastenerType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMechanicalFastenerType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcMechanicalFastenerTypeEnum .

:predefinedType_IfcMedicalDevice
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMedicalDevice ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcMedicalDeviceTypeEnum .

:predefinedType_IfcMedicalDeviceType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMedicalDeviceType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcMedicalDeviceTypeEnum .

:predefinedType_IfcMember
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMember ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcMemberTypeEnum .

:predefinedType_IfcMemberType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMemberType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcMemberTypeEnum .

:predefinedType_IfcMotorConnection
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMotorConnection ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcMotorConnectionTypeEnum .

:predefinedType_IfcMotorConnectionType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMotorConnectionType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcMotorConnectionTypeEnum .

:predefinedType_IfcOccupant
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOccupant ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcOccupantTypeEnum .

:predefinedType_IfcOpeningElement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOpeningElement ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcOpeningElementTypeEnum .

:predefinedType_IfcOutlet
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOutlet ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcOutletTypeEnum .

:predefinedType_IfcOutletType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOutletType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcOutletTypeEnum .

:predefinedType_IfcPerformanceHistory
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPerformanceHistory ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcPerformanceHistoryTypeEnum .

:predefinedType_IfcPermit
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPermit ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcPermitTypeEnum .

:predefinedType_IfcPile
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPile ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcPileTypeEnum .

:predefinedType_IfcPileType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPileType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcPileTypeEnum .

:predefinedType_IfcPipeFitting
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPipeFitting ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcPipeFittingTypeEnum .

:predefinedType_IfcPipeFittingType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPipeFittingType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcPipeFittingTypeEnum .

:predefinedType_IfcPipeSegment
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPipeSegment ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcPipeSegmentTypeEnum .

:predefinedType_IfcPipeSegmentType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPipeSegmentType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcPipeSegmentTypeEnum .

:predefinedType_IfcPlate
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPlate ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcPlateTypeEnum .

:predefinedType_IfcPlateType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPlateType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcPlateTypeEnum .

:predefinedType_IfcProcedure
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProcedure ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcProcedureTypeEnum .

:predefinedType_IfcProcedureType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProcedureType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcProcedureTypeEnum .

:predefinedType_IfcProjectOrder
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProjectOrder ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcProjectOrderTypeEnum .

:predefinedType_IfcProjectionElement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProjectionElement ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcProjectionElementTypeEnum .

:predefinedType_IfcProtectiveDevice
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProtectiveDevice ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcProtectiveDeviceTypeEnum .

:predefinedType_IfcProtectiveDeviceTrippingUnit
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProtectiveDeviceTrippingUnit ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcProtectiveDeviceTrippingUnitTypeEnum .

:predefinedType_IfcProtectiveDeviceTrippingUnitType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProtectiveDeviceTrippingUnitType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcProtectiveDeviceTrippingUnitTypeEnum .

:predefinedType_IfcProtectiveDeviceType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProtectiveDeviceType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcProtectiveDeviceTypeEnum .

:predefinedType_IfcPump
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPump ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcPumpTypeEnum .

:predefinedType_IfcPumpType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPumpType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcPumpTypeEnum .

:predefinedType_IfcRailing
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRailing ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcRailingTypeEnum .

:predefinedType_IfcRailingType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRailingType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcRailingTypeEnum .

:predefinedType_IfcRamp
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRamp ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcRampTypeEnum .

:predefinedType_IfcRampFlight
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRampFlight ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcRampFlightTypeEnum .

:predefinedType_IfcRampFlightType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRampFlightType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcRampFlightTypeEnum .

:predefinedType_IfcRampType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRampType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcRampTypeEnum .

:predefinedType_IfcReinforcingBar
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingBar ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcReinforcingBarTypeEnum .

:predefinedType_IfcReinforcingBarType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingBarType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcReinforcingBarTypeEnum .

:predefinedType_IfcReinforcingMesh
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingMesh ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcReinforcingMeshTypeEnum .

:predefinedType_IfcReinforcingMeshType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingMeshType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcReinforcingMeshTypeEnum .

:predefinedType_IfcRoof
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRoof ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcRoofTypeEnum .

:predefinedType_IfcRoofType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRoofType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcRoofTypeEnum .

:predefinedType_IfcSanitaryTerminal
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSanitaryTerminal ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcSanitaryTerminalTypeEnum .

:predefinedType_IfcSanitaryTerminalType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSanitaryTerminalType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcSanitaryTerminalTypeEnum .

:predefinedType_IfcSensor
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSensor ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcSensorTypeEnum .

:predefinedType_IfcSensorType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSensorType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcSensorTypeEnum .

:predefinedType_IfcShadingDevice
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcShadingDevice ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcShadingDeviceTypeEnum .

:predefinedType_IfcShadingDeviceType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcShadingDeviceType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcShadingDeviceTypeEnum .

:predefinedType_IfcSlab
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSlab ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcSlabTypeEnum .

:predefinedType_IfcSlabType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSlabType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcSlabTypeEnum .

:predefinedType_IfcSolarDevice
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSolarDevice ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcSolarDeviceTypeEnum .

:predefinedType_IfcSolarDeviceType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSolarDeviceType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcSolarDeviceTypeEnum .

:predefinedType_IfcSpace
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSpace ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcSpaceTypeEnum .

:predefinedType_IfcSpaceHeater
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSpaceHeater ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcSpaceHeaterTypeEnum .

:predefinedType_IfcSpaceHeaterType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSpaceHeaterType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcSpaceHeaterTypeEnum .

:predefinedType_IfcSpaceType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSpaceType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcSpaceTypeEnum .

:predefinedType_IfcSpatialZone
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSpatialZone ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcSpatialZoneTypeEnum .

:predefinedType_IfcSpatialZoneType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSpatialZoneType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcSpatialZoneTypeEnum .

:predefinedType_IfcStackTerminal
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStackTerminal ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcStackTerminalTypeEnum .

:predefinedType_IfcStackTerminalType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStackTerminalType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcStackTerminalTypeEnum .

:predefinedType_IfcStair
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStair ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcStairTypeEnum .

:predefinedType_IfcStairFlight
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStairFlight ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcStairFlightTypeEnum .

:predefinedType_IfcStairFlightType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStairFlightType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcStairFlightTypeEnum .

:predefinedType_IfcStairType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStairType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcStairTypeEnum .

:predefinedType_IfcStructuralAnalysisModel
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralAnalysisModel ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcAnalysisModelTypeEnum .

:predefinedType_IfcStructuralCurveAction
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralCurveAction ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcStructuralCurveActivityTypeEnum .

:predefinedType_IfcStructuralCurveMember
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralCurveMember ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcStructuralCurveMemberTypeEnum .

:predefinedType_IfcStructuralCurveReaction
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralCurveReaction ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcStructuralCurveActivityTypeEnum .

:predefinedType_IfcStructuralLoadGroup
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadGroup ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcLoadGroupTypeEnum .

:predefinedType_IfcStructuralSurfaceAction
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralSurfaceAction ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcStructuralSurfaceActivityTypeEnum .

:predefinedType_IfcStructuralSurfaceMember
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralSurfaceMember ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcStructuralSurfaceMemberTypeEnum .

:predefinedType_IfcStructuralSurfaceReaction
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralSurfaceReaction ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcStructuralSurfaceActivityTypeEnum .

:predefinedType_IfcSubContractResource
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSubContractResource ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcSubContractResourceTypeEnum .

:predefinedType_IfcSubContractResourceType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSubContractResourceType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcSubContractResourceTypeEnum .

:predefinedType_IfcSurfaceFeature
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceFeature ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcSurfaceFeatureTypeEnum .

:predefinedType_IfcSwitchingDevice
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSwitchingDevice ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcSwitchingDeviceTypeEnum .

:predefinedType_IfcSwitchingDeviceType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSwitchingDeviceType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcSwitchingDeviceTypeEnum .

:predefinedType_IfcSystemFurnitureElement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSystemFurnitureElement ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcSystemFurnitureElementTypeEnum .

:predefinedType_IfcSystemFurnitureElementType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSystemFurnitureElementType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcSystemFurnitureElementTypeEnum .

:predefinedType_IfcTank
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTank ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcTankTypeEnum .

:predefinedType_IfcTankType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTankType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcTankTypeEnum .

:predefinedType_IfcTask
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTask ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcTaskTypeEnum .

:predefinedType_IfcTaskType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTaskType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcTaskTypeEnum .

:predefinedType_IfcTendon
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTendon ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcTendonTypeEnum .

:predefinedType_IfcTendonAnchor
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTendonAnchor ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcTendonAnchorTypeEnum .

:predefinedType_IfcTendonAnchorType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTendonAnchorType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcTendonAnchorTypeEnum .

:predefinedType_IfcTendonType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTendonType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcTendonTypeEnum .

:predefinedType_IfcTransformer
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTransformer ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcTransformerTypeEnum .

:predefinedType_IfcTransformerType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTransformerType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcTransformerTypeEnum .

:predefinedType_IfcTransportElement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTransportElement ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcTransportElementTypeEnum .

:predefinedType_IfcTransportElementType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTransportElementType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcTransportElementTypeEnum .

:predefinedType_IfcTubeBundle
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTubeBundle ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcTubeBundleTypeEnum .

:predefinedType_IfcTubeBundleType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTubeBundleType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcTubeBundleTypeEnum .

:predefinedType_IfcUnitaryControlElement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcUnitaryControlElement ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcUnitaryControlElementTypeEnum .

:predefinedType_IfcUnitaryControlElementType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcUnitaryControlElementType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcUnitaryControlElementTypeEnum .

:predefinedType_IfcUnitaryEquipment
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcUnitaryEquipment ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcUnitaryEquipmentTypeEnum .

:predefinedType_IfcUnitaryEquipmentType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcUnitaryEquipmentType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcUnitaryEquipmentTypeEnum .

:predefinedType_IfcValve
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcValve ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcValveTypeEnum .

:predefinedType_IfcValveType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcValveType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcValveTypeEnum .

:predefinedType_IfcVibrationIsolator
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcVibrationIsolator ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcVibrationIsolatorTypeEnum .

:predefinedType_IfcVibrationIsolatorType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcVibrationIsolatorType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcVibrationIsolatorTypeEnum .

:predefinedType_IfcVoidingFeature
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcVoidingFeature ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcVoidingFeatureTypeEnum .

:predefinedType_IfcWall
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWall ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcWallTypeEnum .

:predefinedType_IfcWallType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWallType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcWallTypeEnum .

:predefinedType_IfcWasteTerminal
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWasteTerminal ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcWasteTerminalTypeEnum .

:predefinedType_IfcWasteTerminalType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWasteTerminalType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcWasteTerminalTypeEnum .

:predefinedType_IfcWindow
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindow ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcWindowTypeEnum .

:predefinedType_IfcWindowType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindowType ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcWindowTypeEnum .

:predefinedType_IfcWorkCalendar
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWorkCalendar ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcWorkCalendarTypeEnum .

:predefinedType_IfcWorkPlan
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWorkPlan ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcWorkPlanTypeEnum .

:predefinedType_IfcWorkSchedule
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWorkSchedule ;
    rdfs:label "PredefinedType" ;
    rdfs:range :IfcWorkScheduleTypeEnum .

:prefixTitles_IfcPerson
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPerson ;
    rdfs:label "PrefixTitles" ;
    rdfs:range :IfcLabel_List .

:prefix_IfcSIUnit
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSIUnit ;
    rdfs:label "Prefix" ;
    rdfs:range :IfcSIPrefix .

:primaryMeasureType_IfcSimplePropertyTemplate
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSimplePropertyTemplate ;
    rdfs:label "PrimaryMeasureType" ;
    rdfs:range :IfcLabel .

:primaryUnit_IfcSimplePropertyTemplate
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSimplePropertyTemplate ;
    rdfs:label "PrimaryUnit" ;
    rdfs:range :IfcUnit .

:priority_IfcMaterialLayer
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialLayer ;
    rdfs:label "Priority" ;
    rdfs:range :IfcNormalisedRatioMeasure .

:priority_IfcMaterialProfile
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialProfile ;
    rdfs:label "Priority" ;
    rdfs:range :IfcNormalisedRatioMeasure .

:priority_IfcTask
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTask ;
    rdfs:label "Priority" ;
    rdfs:range :IfcInteger .

:processType_IfcTypeProcess
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTypeProcess ;
    rdfs:label "ProcessType" ;
    rdfs:range :IfcLabel .

:productDefinitional_IfcShapeAspect
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcShapeAspect ;
    rdfs:label "ProductDefinitional" ;
    rdfs:range :IfcLogical .

:profileDefinition_IfcProfileProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProfileProperties ;
    rdfs:label "ProfileDefinition" ;
    rdfs:range :IfcProfileDef ;
    owl:inverseOf :hasProperties_IfcProfileDef .

:profileName_IfcProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProfileDef ;
    rdfs:label "ProfileName" ;
    rdfs:range :IfcLabel .

:profileType_IfcProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProfileDef ;
    rdfs:label "ProfileType" ;
    rdfs:range :IfcProfileTypeEnum .

:profile_IfcMaterialProfile
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialProfile ;
    rdfs:label "Profile" ;
    rdfs:range :IfcProfileDef .

:profiles_IfcCompositeProfileDef
    a owl:ObjectProperty ;
    rdfs:domain :IfcCompositeProfileDef ;
    rdfs:label "Profiles" ;
    rdfs:range :IfcProfileDef .

:projectedOrTrue_IfcStructuralCurveAction
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralCurveAction ;
    rdfs:label "ProjectedOrTrue" ;
    rdfs:range :IfcProjectedOrTrueLengthEnum .

:projectedOrTrue_IfcStructuralSurfaceAction
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralSurfaceAction ;
    rdfs:label "ProjectedOrTrue" ;
    rdfs:range :IfcProjectedOrTrueLengthEnum .

:projectsElements_IfcFeatureElementAddition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFeatureElementAddition ;
    rdfs:label "ProjectsElements" ;
    rdfs:range :IfcRelProjectsElement ;
    owl:inverseOf :relatedFeatureElement_IfcRelProjectsElement .

:propertiesForConstraint_IfcConstraint
    a owl:ObjectProperty ;
    rdfs:domain :IfcConstraint ;
    rdfs:label "PropertiesForConstraint" ;
    rdfs:range :IfcResourceConstraintRelationship ;
    owl:inverseOf :relatingConstraint_IfcResourceConstraintRelationship .

:properties_IfcExtendedProperties
    a owl:ObjectProperty ;
    rdfs:domain :IfcExtendedProperties ;
    rdfs:label "Properties" ;
    rdfs:range :IfcProperty .

:propertyDependsOn_IfcProperty
    a owl:ObjectProperty ;
    rdfs:domain :IfcProperty ;
    rdfs:label "PropertyDependsOn" ;
    rdfs:range :IfcPropertyDependencyRelationship ;
    owl:inverseOf :dependantProperty_IfcPropertyDependencyRelationship .

:propertyForDependance_IfcProperty
    a owl:ObjectProperty ;
    rdfs:domain :IfcProperty ;
    rdfs:label "PropertyForDependance" ;
    rdfs:range :IfcPropertyDependencyRelationship ;
    owl:inverseOf :dependingProperty_IfcPropertyDependencyRelationship .

:propertyReference_IfcPropertyReferenceValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertyReferenceValue ;
    rdfs:label "PropertyReference" ;
    rdfs:range :IfcObjectReferenceSelect .

:providesBoundaries_IfcElement
    a owl:ObjectProperty ;
    rdfs:domain :IfcElement ;
    rdfs:label "ProvidesBoundaries" ;
    rdfs:range :IfcRelSpaceBoundary ;
    owl:inverseOf :relatedBuildingElement_IfcRelSpaceBoundary .

:proxyType_IfcProxy
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProxy ;
    rdfs:label "ProxyType" ;
    rdfs:range :IfcObjectTypeEnum .

:publisher_IfcLibraryInformation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLibraryInformation ;
    rdfs:label "Publisher" ;
    rdfs:range :IfcActorSelect .

:purpose_IfcAddress
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAddress ;
    rdfs:label "Purpose" ;
    rdfs:range :IfcAddressTypeEnum .

:purpose_IfcDocumentInformation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDocumentInformation ;
    rdfs:label "Purpose" ;
    rdfs:range :IfcText .

:purpose_IfcStructuralLoadGroup
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadGroup ;
    rdfs:label "Purpose" ;
    rdfs:range :IfcLabel .

:purpose_IfcWorkControl
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWorkControl ;
    rdfs:label "Purpose" ;
    rdfs:range :IfcLabel .

:quadricAttenuation_IfcLightSourcePositional
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightSourcePositional ;
    rdfs:label "QuadricAttenuation" ;
    rdfs:range :IfcReal .

:qualifier_IfcApproval
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcApproval ;
    rdfs:label "Qualifier" ;
    rdfs:range :IfcText .

:quality_IfcPhysicalComplexQuantity
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPhysicalComplexQuantity ;
    rdfs:label "Quality" ;
    rdfs:range :IfcLabel .

:quantities_IfcElementQuantity
    a owl:ObjectProperty ;
    rdfs:domain :IfcElementQuantity ;
    rdfs:label "Quantities" ;
    rdfs:range :IfcPhysicalQuantity .

:quantityInProcess_IfcRelAssignsToProcess
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelAssignsToProcess ;
    rdfs:label "QuantityInProcess" ;
    rdfs:range :IfcMeasureWithUnit .

:radius_IfcCircle
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCircle ;
    rdfs:label "Radius" ;
    rdfs:range :IfcPositiveLengthMeasure .

:radius_IfcCircleProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCircleProfileDef ;
    rdfs:label "Radius" ;
    rdfs:range :IfcPositiveLengthMeasure .

:radius_IfcCylindricalSurface
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCylindricalSurface ;
    rdfs:label "Radius" ;
    rdfs:range :IfcPositiveLengthMeasure .

:radius_IfcLightSourcePositional
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightSourcePositional ;
    rdfs:label "Radius" ;
    rdfs:range :IfcPositiveLengthMeasure .

:radius_IfcRightCircularCylinder
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRightCircularCylinder ;
    rdfs:label "Radius" ;
    rdfs:range :IfcPositiveLengthMeasure .

:radius_IfcSphere
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSphere ;
    rdfs:label "Radius" ;
    rdfs:range :IfcPositiveLengthMeasure .

:radius_IfcSweptDiskSolid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSweptDiskSolid ;
    rdfs:label "Radius" ;
    rdfs:range :IfcPositiveLengthMeasure .

:rasterCode_IfcBlobTexture
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBlobTexture ;
    rdfs:label "RasterCode" ;
    rdfs:range :IfcBinary .

:rasterFormat_IfcBlobTexture
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBlobTexture ;
    rdfs:label "RasterFormat" ;
    rdfs:range :IfcIdentifier .

:rateDateTime_IfcCurrencyRelationship
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCurrencyRelationship ;
    rdfs:label "RateDateTime" ;
    rdfs:range :IfcDateTime .

:rateSource_IfcCurrencyRelationship
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCurrencyRelationship ;
    rdfs:label "RateSource" ;
    rdfs:range :IfcLibraryInformation .

:realizingElement_IfcRelConnectsPorts
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelConnectsPorts ;
    rdfs:label "RealizingElement" ;
    rdfs:range :IfcElement .

:realizingElements_IfcRelConnectsWithRealizingElements
    a owl:ObjectProperty ;
    rdfs:domain :IfcRelConnectsWithRealizingElements ;
    rdfs:label "RealizingElements" ;
    rdfs:range :IfcElement ;
    owl:inverseOf :isConnectionRealization_IfcElement .

:recurrencePattern_IfcWorkTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWorkTime ;
    rdfs:label "RecurrencePattern" ;
    rdfs:range :IfcRecurrencePattern .

:recurrenceType_IfcRecurrencePattern
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRecurrencePattern ;
    rdfs:label "RecurrenceType" ;
    rdfs:range :IfcRecurrenceTypeEnum .

:recurrence_IfcTaskTimeRecurring
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTaskTimeRecurring ;
    rdfs:label "Recurrence" ;
    rdfs:range :IfcRecurrencePattern .

:red_IfcColourRgb
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcColourRgb ;
    rdfs:label "Red" ;
    rdfs:range :IfcNormalisedRatioMeasure .

:refDirection_IfcAxis2Placement2D
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAxis2Placement2D ;
    rdfs:label "RefDirection" ;
    rdfs:range :IfcDirection .

:refDirection_IfcAxis2Placement3D
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAxis2Placement3D ;
    rdfs:label "RefDirection" ;
    rdfs:range :IfcDirection .

:refDirection_IfcOffsetCurve3D
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOffsetCurve3D ;
    rdfs:label "RefDirection" ;
    rdfs:range :IfcDirection .

:refElevation_IfcSite
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSite ;
    rdfs:label "RefElevation" ;
    rdfs:range :IfcLengthMeasure .

:refLatitude_IfcSite
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSite ;
    rdfs:label "RefLatitude" ;
    rdfs:range :IfcCompoundPlaneAngleMeasure .

:refLongitude_IfcSite
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSite ;
    rdfs:label "RefLongitude" ;
    rdfs:range :IfcCompoundPlaneAngleMeasure .

:referenceCurve_IfcPcurve
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPcurve ;
    rdfs:label "ReferenceCurve" ;
    rdfs:range :IfcCurve .

:referenceExtent_IfcMaterialLayerSetUsage
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialLayerSetUsage ;
    rdfs:label "ReferenceExtent" ;
    rdfs:range :IfcPositiveLengthMeasure .

:referenceExtent_IfcMaterialProfileSetUsage
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialProfileSetUsage ;
    rdfs:label "ReferenceExtent" ;
    rdfs:range :IfcPositiveLengthMeasure .

:referencePath_IfcMetric
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMetric ;
    rdfs:label "ReferencePath" ;
    rdfs:range :IfcReference .

:referencePath_IfcTableColumn
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTableColumn ;
    rdfs:label "ReferencePath" ;
    rdfs:range :IfcReference .

:referenceSurface_IfcSurfaceCurveSweptAreaSolid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceCurveSweptAreaSolid ;
    rdfs:label "ReferenceSurface" ;
    rdfs:range :IfcSurface .

:referenceTokens_IfcClassification
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcClassification ;
    rdfs:label "ReferenceTokens" ;
    rdfs:range :IfcIdentifier_List .

:referencedByPlacements_IfcObjectPlacement
    a owl:ObjectProperty ;
    rdfs:domain :IfcObjectPlacement ;
    rdfs:label "ReferencedByPlacements" ;
    rdfs:range :IfcLocalPlacement ;
    owl:inverseOf :placementRelTo_IfcLocalPlacement .

:referencedDocument_IfcDocumentReference
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDocumentReference ;
    rdfs:label "ReferencedDocument" ;
    rdfs:range :IfcDocumentInformation ;
    owl:inverseOf :hasDocumentReferences_IfcDocumentInformation .

:referencedInStructures_IfcElement
    a owl:ObjectProperty ;
    rdfs:domain :IfcElement ;
    rdfs:label "ReferencedInStructures" ;
    rdfs:range :IfcRelReferencedInSpatialStructure ;
    owl:inverseOf :relatedElements_IfcRelReferencedInSpatialStructure .

:referencedLibrary_IfcLibraryReference
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLibraryReference ;
    rdfs:label "ReferencedLibrary" ;
    rdfs:range :IfcLibraryInformation ;
    owl:inverseOf :hasLibraryReferences_IfcLibraryInformation .

:referencedSource_IfcClassificationReference
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcClassificationReference ;
    rdfs:label "ReferencedSource" ;
    rdfs:range :IfcClassificationReferenceSelect .

:referencesElements_IfcSpatialElement
    a owl:ObjectProperty ;
    rdfs:domain :IfcSpatialElement ;
    rdfs:label "ReferencesElements" ;
    rdfs:range :IfcRelReferencedInSpatialStructure ;
    owl:inverseOf :relatingStructure_IfcRelReferencedInSpatialStructure .

:reflectanceColour_IfcSurfaceStyleLighting
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceStyleLighting ;
    rdfs:label "ReflectanceColour" ;
    rdfs:range :IfcColourRgb .

:reflectanceMethod_IfcSurfaceStyleRendering
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceStyleRendering ;
    rdfs:label "ReflectanceMethod" ;
    rdfs:range :IfcReflectanceMethodEnum .

:reflectionColour_IfcSurfaceStyleRendering
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceStyleRendering ;
    rdfs:label "ReflectionColour" ;
    rdfs:range :IfcColourOrFactor .

:refractionIndex_IfcSurfaceStyleRefraction
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceStyleRefraction ;
    rdfs:label "RefractionIndex" ;
    rdfs:range :IfcReal .

:region_IfcPostalAddress
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPostalAddress ;
    rdfs:label "Region" ;
    rdfs:range :IfcLabel .

:reinforcementRole_IfcSectionReinforcementProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSectionReinforcementProperties ;
    rdfs:label "ReinforcementRole" ;
    rdfs:range :IfcReinforcingBarRoleEnum .

:reinforcementSectionDefinitions_IfcReinforcementDefinitionProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcementDefinitionProperties ;
    rdfs:label "ReinforcementSectionDefinitions" ;
    rdfs:range :IfcSectionReinforcementProperties_List .

:relatedApprovals_IfcApprovalRelationship
    a owl:ObjectProperty ;
    rdfs:domain :IfcApprovalRelationship ;
    rdfs:label "RelatedApprovals" ;
    rdfs:range :IfcApproval ;
    owl:inverseOf :isRelatedWith_IfcApproval .

:relatedBuildingElement_IfcRelFillsElement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelFillsElement ;
    rdfs:label "RelatedBuildingElement" ;
    rdfs:range :IfcElement ;
    owl:inverseOf :fillsVoids_IfcElement .

:relatedBuildingElement_IfcRelSpaceBoundary
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelSpaceBoundary ;
    rdfs:label "RelatedBuildingElement" ;
    rdfs:range :IfcElement ;
    owl:inverseOf :providesBoundaries_IfcElement .

:relatedBuildings_IfcRelServicesBuildings
    a owl:ObjectProperty ;
    rdfs:domain :IfcRelServicesBuildings ;
    rdfs:label "RelatedBuildings" ;
    rdfs:range :IfcSpatialElement ;
    owl:inverseOf :servicedBySystems_IfcSpatialElement .

:relatedConnectionType_IfcRelConnectsPathElements
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelConnectsPathElements ;
    rdfs:label "RelatedConnectionType" ;
    rdfs:range :IfcConnectionTypeEnum .

:relatedControlElements_IfcRelFlowControlElements
    a owl:ObjectProperty ;
    rdfs:domain :IfcRelFlowControlElements ;
    rdfs:label "RelatedControlElements" ;
    rdfs:range :IfcDistributionControlElement ;
    owl:inverseOf :assignedToFlowElement_IfcDistributionControlElement .

:relatedCoverings_IfcRelCoversBldgElements
    a owl:ObjectProperty ;
    rdfs:domain :IfcRelCoversBldgElements ;
    rdfs:label "RelatedCoverings" ;
    rdfs:range :IfcCovering ;
    owl:inverseOf :coversElements_IfcCovering .

:relatedCoverings_IfcRelCoversSpaces
    a owl:ObjectProperty ;
    rdfs:domain :IfcRelCoversSpaces ;
    rdfs:label "RelatedCoverings" ;
    rdfs:range :IfcCovering ;
    owl:inverseOf :coversSpaces_IfcCovering .

:relatedDefinitions_IfcRelDeclares
    a owl:ObjectProperty ;
    rdfs:domain :IfcRelDeclares ;
    rdfs:label "RelatedDefinitions" ;
    rdfs:range :IfcDefinitionSelect .

:relatedDocuments_IfcDocumentInformationRelationship
    a owl:ObjectProperty ;
    rdfs:domain :IfcDocumentInformationRelationship ;
    rdfs:label "RelatedDocuments" ;
    rdfs:range :IfcDocumentInformation ;
    owl:inverseOf :isPointedTo_IfcDocumentInformation .

:relatedElement_IfcRelConnectsElements
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelConnectsElements ;
    rdfs:label "RelatedElement" ;
    rdfs:range :IfcElement ;
    owl:inverseOf :connectedFrom_IfcElement .

:relatedElement_IfcRelConnectsPortToElement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelConnectsPortToElement ;
    rdfs:label "RelatedElement" ;
    rdfs:range :IfcDistributionElement ;
    owl:inverseOf :hasPorts_IfcDistributionElement .

:relatedElement_IfcRelInterferesElements
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelInterferesElements ;
    rdfs:label "RelatedElement" ;
    rdfs:range :IfcElement ;
    owl:inverseOf :isInterferedByElements_IfcElement .

:relatedElements_IfcRelContainedInSpatialStructure
    a owl:ObjectProperty ;
    rdfs:domain :IfcRelContainedInSpatialStructure ;
    rdfs:label "RelatedElements" ;
    rdfs:range :IfcProduct .

:relatedElements_IfcRelReferencedInSpatialStructure
    a owl:ObjectProperty ;
    rdfs:domain :IfcRelReferencedInSpatialStructure ;
    rdfs:label "RelatedElements" ;
    rdfs:range :IfcProduct ;
    owl:inverseOf :referencedInStructures_IfcElement .

:relatedFeatureElement_IfcRelProjectsElement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelProjectsElement ;
    rdfs:label "RelatedFeatureElement" ;
    rdfs:range :IfcFeatureElementAddition ;
    owl:inverseOf :projectsElements_IfcFeatureElementAddition .

:relatedMaterials_IfcMaterialRelationship
    a owl:ObjectProperty ;
    rdfs:domain :IfcMaterialRelationship ;
    rdfs:label "RelatedMaterials" ;
    rdfs:range :IfcMaterial ;
    owl:inverseOf :isRelatedWith_IfcMaterial .

:relatedMonetaryUnit_IfcCurrencyRelationship
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCurrencyRelationship ;
    rdfs:label "RelatedMonetaryUnit" ;
    rdfs:range :IfcMonetaryUnit .

:relatedObjectsType_IfcRelAssigns
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelAssigns ;
    rdfs:label "RelatedObjectsType" ;
    rdfs:range :IfcObjectTypeEnum .

:relatedObjects_IfcRelAggregates
    a owl:ObjectProperty ;
    rdfs:domain :IfcRelAggregates ;
    rdfs:label "RelatedObjects" ;
    rdfs:range :IfcObjectDefinition ;
    owl:inverseOf :decomposes_IfcObjectDefinition .

:relatedObjects_IfcRelAssigns
    a owl:ObjectProperty ;
    rdfs:domain :IfcRelAssigns ;
    rdfs:label "RelatedObjects" ;
    rdfs:range :IfcObjectDefinition ;
    owl:inverseOf :hasAssignments_IfcObjectDefinition .

:relatedObjects_IfcRelAssociates
    a owl:ObjectProperty ;
    rdfs:domain :IfcRelAssociates ;
    rdfs:label "RelatedObjects" ;
    rdfs:range :IfcDefinitionSelect .

:relatedObjects_IfcRelDefinesByObject
    a owl:ObjectProperty ;
    rdfs:domain :IfcRelDefinesByObject ;
    rdfs:label "RelatedObjects" ;
    rdfs:range :IfcObject ;
    owl:inverseOf :isDeclaredBy_IfcObject .

:relatedObjects_IfcRelDefinesByProperties
    a owl:ObjectProperty ;
    rdfs:domain :IfcRelDefinesByProperties ;
    rdfs:label "RelatedObjects" ;
    rdfs:range :IfcObjectDefinition .

:relatedObjects_IfcRelDefinesByType
    a owl:ObjectProperty ;
    rdfs:domain :IfcRelDefinesByType ;
    rdfs:label "RelatedObjects" ;
    rdfs:range :IfcObject ;
    owl:inverseOf :isTypedBy_IfcObject .

:relatedObjects_IfcRelNests
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelNests ;
    rdfs:label "RelatedObjects" ;
    rdfs:range :IfcObjectDefinition_List .

:relatedOpeningElement_IfcRelVoidsElement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelVoidsElement ;
    rdfs:label "RelatedOpeningElement" ;
    rdfs:range :IfcFeatureElementSubtraction ;
    owl:inverseOf :voidsElements_IfcFeatureElementSubtraction .

:relatedOrganizations_IfcOrganizationRelationship
    a owl:ObjectProperty ;
    rdfs:domain :IfcOrganizationRelationship ;
    rdfs:label "RelatedOrganizations" ;
    rdfs:range :IfcOrganization ;
    owl:inverseOf :isRelatedBy_IfcOrganization .

:relatedPort_IfcRelConnectsPorts
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelConnectsPorts ;
    rdfs:label "RelatedPort" ;
    rdfs:range :IfcPort ;
    owl:inverseOf :connectedFrom_IfcPort .

:relatedPriorities_IfcRelConnectsPathElements
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelConnectsPathElements ;
    rdfs:label "RelatedPriorities" ;
    rdfs:range :IfcInteger_List .

:relatedProcess_IfcRelSequence
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelSequence ;
    rdfs:label "RelatedProcess" ;
    rdfs:range :IfcProcess ;
    owl:inverseOf :isSuccessorFrom_IfcProcess .

:relatedPropertySets_IfcRelDefinesByTemplate
    a owl:ObjectProperty ;
    rdfs:domain :IfcRelDefinesByTemplate ;
    rdfs:label "RelatedPropertySets" ;
    rdfs:range :IfcPropertySetDefinition ;
    owl:inverseOf :isDefinedBy_IfcPropertySetDefinition .

:relatedResourceObjects_IfcExternalReferenceRelationship
    a owl:ObjectProperty ;
    rdfs:domain :IfcExternalReferenceRelationship ;
    rdfs:label "RelatedResourceObjects" ;
    rdfs:range :IfcResourceObjectSelect .

:relatedResourceObjects_IfcResourceApprovalRelationship
    a owl:ObjectProperty ;
    rdfs:domain :IfcResourceApprovalRelationship ;
    rdfs:label "RelatedResourceObjects" ;
    rdfs:range :IfcResourceObjectSelect ;
    owl:inverseOf :hasApprovals_IfcProperty .

:relatedResourceObjects_IfcResourceConstraintRelationship
    a owl:ObjectProperty ;
    rdfs:domain :IfcResourceConstraintRelationship ;
    rdfs:label "RelatedResourceObjects" ;
    rdfs:range :IfcResourceObjectSelect ;
    owl:inverseOf :hasConstraints_IfcProperty .

:relatedStructuralActivity_IfcRelConnectsStructuralActivity
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelConnectsStructuralActivity ;
    rdfs:label "RelatedStructuralActivity" ;
    rdfs:range :IfcStructuralActivity ;
    owl:inverseOf :assignedToStructuralItem_IfcStructuralActivity .

:relatedStructuralConnection_IfcRelConnectsStructuralMember
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelConnectsStructuralMember ;
    rdfs:label "RelatedStructuralConnection" ;
    rdfs:range :IfcStructuralConnection ;
    owl:inverseOf :connectsStructuralMembers_IfcStructuralConnection .

:relatesTo_IfcMaterial
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterial ;
    rdfs:label "RelatesTo" ;
    rdfs:range :IfcMaterialRelationship ;
    owl:inverseOf :relatingMaterial_IfcMaterialRelationship .

:relates_IfcApproval
    a owl:ObjectProperty ;
    rdfs:domain :IfcApproval ;
    rdfs:label "Relates" ;
    rdfs:range :IfcApprovalRelationship ;
    owl:inverseOf :relatingApproval_IfcApprovalRelationship .

:relates_IfcOrganization
    a owl:ObjectProperty ;
    rdfs:domain :IfcOrganization ;
    rdfs:label "Relates" ;
    rdfs:range :IfcOrganizationRelationship ;
    owl:inverseOf :relatingOrganization_IfcOrganizationRelationship .

:relatingActor_IfcRelAssignsToActor
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelAssignsToActor ;
    rdfs:label "RelatingActor" ;
    rdfs:range :IfcActor ;
    owl:inverseOf :isActingUpon_IfcActor .

:relatingApproval_IfcApprovalRelationship
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcApprovalRelationship ;
    rdfs:label "RelatingApproval" ;
    rdfs:range :IfcApproval ;
    owl:inverseOf :relates_IfcApproval .

:relatingApproval_IfcRelAssociatesApproval
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelAssociatesApproval ;
    rdfs:label "RelatingApproval" ;
    rdfs:range :IfcApproval ;
    owl:inverseOf :approvedObjects_IfcApproval .

:relatingApproval_IfcResourceApprovalRelationship
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcResourceApprovalRelationship ;
    rdfs:label "RelatingApproval" ;
    rdfs:range :IfcApproval ;
    owl:inverseOf :approvedResources_IfcApproval .

:relatingBuildingElement_IfcRelCoversBldgElements
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelCoversBldgElements ;
    rdfs:label "RelatingBuildingElement" ;
    rdfs:range :IfcElement ;
    owl:inverseOf :hasCoverings_IfcElement .

:relatingBuildingElement_IfcRelVoidsElement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelVoidsElement ;
    rdfs:label "RelatingBuildingElement" ;
    rdfs:range :IfcElement ;
    owl:inverseOf :hasOpenings_IfcElement .

:relatingClassification_IfcRelAssociatesClassification
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelAssociatesClassification ;
    rdfs:label "RelatingClassification" ;
    rdfs:range :IfcClassificationSelect .

:relatingConnectionType_IfcRelConnectsPathElements
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelConnectsPathElements ;
    rdfs:label "RelatingConnectionType" ;
    rdfs:range :IfcConnectionTypeEnum .

:relatingConstraint_IfcRelAssociatesConstraint
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelAssociatesConstraint ;
    rdfs:label "RelatingConstraint" ;
    rdfs:range :IfcConstraint .

:relatingConstraint_IfcResourceConstraintRelationship
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcResourceConstraintRelationship ;
    rdfs:label "RelatingConstraint" ;
    rdfs:range :IfcConstraint ;
    owl:inverseOf :propertiesForConstraint_IfcConstraint .

:relatingContext_IfcRelDeclares
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelDeclares ;
    rdfs:label "RelatingContext" ;
    rdfs:range :IfcContext ;
    owl:inverseOf :declares_IfcContext .

:relatingControl_IfcRelAssignsToControl
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelAssignsToControl ;
    rdfs:label "RelatingControl" ;
    rdfs:range :IfcControl ;
    owl:inverseOf :controls_IfcControl .

:relatingDocument_IfcDocumentInformationRelationship
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDocumentInformationRelationship ;
    rdfs:label "RelatingDocument" ;
    rdfs:range :IfcDocumentInformation ;
    owl:inverseOf :isPointer_IfcDocumentInformation .

:relatingDocument_IfcRelAssociatesDocument
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelAssociatesDocument ;
    rdfs:label "RelatingDocument" ;
    rdfs:range :IfcDocumentSelect .

:relatingElement_IfcRelConnectsElements
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelConnectsElements ;
    rdfs:label "RelatingElement" ;
    rdfs:range :IfcElement ;
    owl:inverseOf :connectedTo_IfcElement .

:relatingElement_IfcRelConnectsStructuralActivity
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelConnectsStructuralActivity ;
    rdfs:label "RelatingElement" ;
    rdfs:range :IfcStructuralActivityAssignmentSelect ;
    owl:inverseOf :assignedStructuralActivity_IfcStructuralItem .

:relatingElement_IfcRelInterferesElements
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelInterferesElements ;
    rdfs:label "RelatingElement" ;
    rdfs:range :IfcElement ;
    owl:inverseOf :interferesElements_IfcElement .

:relatingElement_IfcRelProjectsElement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelProjectsElement ;
    rdfs:label "RelatingElement" ;
    rdfs:range :IfcElement ;
    owl:inverseOf :hasProjections_IfcElement .

:relatingFlowElement_IfcRelFlowControlElements
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelFlowControlElements ;
    rdfs:label "RelatingFlowElement" ;
    rdfs:range :IfcDistributionFlowElement ;
    owl:inverseOf :hasControlElements_IfcDistributionFlowElement .

:relatingGroup_IfcRelAssignsToGroup
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelAssignsToGroup ;
    rdfs:label "RelatingGroup" ;
    rdfs:range :IfcGroup ;
    owl:inverseOf :isGroupedBy_IfcGroup .

:relatingLibrary_IfcRelAssociatesLibrary
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelAssociatesLibrary ;
    rdfs:label "RelatingLibrary" ;
    rdfs:range :IfcLibrarySelect .

:relatingMaterial_IfcMaterialRelationship
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialRelationship ;
    rdfs:label "RelatingMaterial" ;
    rdfs:range :IfcMaterial ;
    owl:inverseOf :relatesTo_IfcMaterial .

:relatingMaterial_IfcRelAssociatesMaterial
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelAssociatesMaterial ;
    rdfs:label "RelatingMaterial" ;
    rdfs:range :IfcMaterialSelect .

:relatingMonetaryUnit_IfcCurrencyRelationship
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCurrencyRelationship ;
    rdfs:label "RelatingMonetaryUnit" ;
    rdfs:range :IfcMonetaryUnit .

:relatingObject_IfcRelAggregates
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelAggregates ;
    rdfs:label "RelatingObject" ;
    rdfs:range :IfcObjectDefinition ;
    owl:inverseOf :isDecomposedBy_IfcObjectDefinition .

:relatingObject_IfcRelDefinesByObject
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelDefinesByObject ;
    rdfs:label "RelatingObject" ;
    rdfs:range :IfcObject ;
    owl:inverseOf :declares_IfcObject .

:relatingObject_IfcRelNests
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelNests ;
    rdfs:label "RelatingObject" ;
    rdfs:range :IfcObjectDefinition ;
    owl:inverseOf :isNestedBy_IfcObjectDefinition .

:relatingOpeningElement_IfcRelFillsElement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelFillsElement ;
    rdfs:label "RelatingOpeningElement" ;
    rdfs:range :IfcOpeningElement ;
    owl:inverseOf :hasFillings_IfcOpeningElement .

:relatingOrganization_IfcOrganizationRelationship
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOrganizationRelationship ;
    rdfs:label "RelatingOrganization" ;
    rdfs:range :IfcOrganization ;
    owl:inverseOf :relates_IfcOrganization .

:relatingPort_IfcRelConnectsPortToElement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelConnectsPortToElement ;
    rdfs:label "RelatingPort" ;
    rdfs:range :IfcPort ;
    owl:inverseOf :containedIn_IfcPort .

:relatingPort_IfcRelConnectsPorts
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelConnectsPorts ;
    rdfs:label "RelatingPort" ;
    rdfs:range :IfcPort ;
    owl:inverseOf :connectedTo_IfcPort .

:relatingPriorities_IfcRelConnectsPathElements
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelConnectsPathElements ;
    rdfs:label "RelatingPriorities" ;
    rdfs:range :IfcInteger_List .

:relatingProcess_IfcRelAssignsToProcess
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelAssignsToProcess ;
    rdfs:label "RelatingProcess" ;
    rdfs:range :IfcProcessSelect .

:relatingProcess_IfcRelSequence
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelSequence ;
    rdfs:label "RelatingProcess" ;
    rdfs:range :IfcProcess ;
    owl:inverseOf :isPredecessorTo_IfcProcess .

:relatingProduct_IfcRelAssignsToProduct
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelAssignsToProduct ;
    rdfs:label "RelatingProduct" ;
    rdfs:range :IfcProductSelect .

:relatingPropertyDefinition_IfcRelDefinesByProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelDefinesByProperties ;
    rdfs:label "RelatingPropertyDefinition" ;
    rdfs:range :IfcPropertySetDefinitionSelect ;
    owl:inverseOf :definesOccurrence_IfcPropertySetDefinition .

:relatingReference_IfcExternalReferenceRelationship
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcExternalReferenceRelationship ;
    rdfs:label "RelatingReference" ;
    rdfs:range :IfcExternalReference ;
    owl:inverseOf :externalReferenceForResources_IfcExternalReference .

:relatingResource_IfcRelAssignsToResource
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelAssignsToResource ;
    rdfs:label "RelatingResource" ;
    rdfs:range :IfcResourceSelect .

:relatingSpace_IfcRelCoversSpaces
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelCoversSpaces ;
    rdfs:label "RelatingSpace" ;
    rdfs:range :IfcSpace ;
    owl:inverseOf :hasCoverings_IfcSpace .

:relatingSpace_IfcRelSpaceBoundary
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelSpaceBoundary ;
    rdfs:label "RelatingSpace" ;
    rdfs:range :IfcSpaceBoundarySelect .

:relatingStructuralMember_IfcRelConnectsStructuralMember
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelConnectsStructuralMember ;
    rdfs:label "RelatingStructuralMember" ;
    rdfs:range :IfcStructuralMember ;
    owl:inverseOf :connectedBy_IfcStructuralMember .

:relatingStructure_IfcRelContainedInSpatialStructure
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelContainedInSpatialStructure ;
    rdfs:label "RelatingStructure" ;
    rdfs:range :IfcSpatialElement ;
    owl:inverseOf :containsElements_IfcSpatialElement .

:relatingStructure_IfcRelReferencedInSpatialStructure
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelReferencedInSpatialStructure ;
    rdfs:label "RelatingStructure" ;
    rdfs:range :IfcSpatialElement ;
    owl:inverseOf :referencesElements_IfcSpatialElement .

:relatingSystem_IfcRelServicesBuildings
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelServicesBuildings ;
    rdfs:label "RelatingSystem" ;
    rdfs:range :IfcSystem ;
    owl:inverseOf :servicesBuildings_IfcSystem .

:relatingTemplate_IfcRelDefinesByTemplate
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelDefinesByTemplate ;
    rdfs:label "RelatingTemplate" ;
    rdfs:range :IfcPropertySetTemplate ;
    owl:inverseOf :defines_IfcPropertySetTemplate .

:relatingType_IfcRelDefinesByType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelDefinesByType ;
    rdfs:label "RelatingType" ;
    rdfs:range :IfcTypeObject ;
    owl:inverseOf :types_IfcTypeObject .

:relationshipType_IfcDocumentInformationRelationship
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDocumentInformationRelationship ;
    rdfs:label "RelationshipType" ;
    rdfs:range :IfcLabel .

:relativePlacement_IfcLocalPlacement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLocalPlacement ;
    rdfs:label "RelativePlacement" ;
    rdfs:range :IfcAxis2Placement .

:remainingTime_IfcTaskTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTaskTime ;
    rdfs:label "RemainingTime" ;
    rdfs:range :IfcDuration .

:remainingUsage_IfcResourceTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcResourceTime ;
    rdfs:label "RemainingUsage" ;
    rdfs:range :IfcPositiveRatioMeasure .

:remainingWork_IfcResourceTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcResourceTime ;
    rdfs:label "RemainingWork" ;
    rdfs:range :IfcDuration .

:repeatS_IfcSurfaceTexture
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceTexture ;
    rdfs:label "RepeatS" ;
    rdfs:range :IfcBoolean .

:repeatT_IfcSurfaceTexture
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceTexture ;
    rdfs:label "RepeatT" ;
    rdfs:range :IfcBoolean .

:representationContexts_IfcContext
    a owl:ObjectProperty ;
    rdfs:domain :IfcContext ;
    rdfs:label "RepresentationContexts" ;
    rdfs:range :IfcRepresentationContext .

:representationIdentifier_IfcRepresentation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRepresentation ;
    rdfs:label "RepresentationIdentifier" ;
    rdfs:range :IfcLabel .

:representationMap_IfcRepresentation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRepresentation ;
    rdfs:label "RepresentationMap" ;
    rdfs:range :IfcRepresentationMap ;
    owl:inverseOf :mappedRepresentation_IfcRepresentationMap .

:representationMaps_IfcTypeProduct
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTypeProduct ;
    rdfs:label "RepresentationMaps" ;
    rdfs:range :IfcRepresentationMap_List .

:representationType_IfcRepresentation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRepresentation ;
    rdfs:label "RepresentationType" ;
    rdfs:range :IfcLabel .

:representation_IfcProduct
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProduct ;
    rdfs:label "Representation" ;
    rdfs:range :IfcProductRepresentation ;
    owl:inverseOf :shapeOfProduct_IfcProductDefinitionShape .

:representationsInContext_IfcRepresentationContext
    a owl:ObjectProperty ;
    rdfs:domain :IfcRepresentationContext ;
    rdfs:label "RepresentationsInContext" ;
    rdfs:range :IfcRepresentation ;
    owl:inverseOf :contextOfItems_IfcRepresentation .

:representations_IfcProductRepresentation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProductRepresentation ;
    rdfs:label "Representations" ;
    rdfs:range :IfcRepresentation_List .

:representedMaterial_IfcMaterialDefinitionRepresentation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialDefinitionRepresentation ;
    rdfs:label "RepresentedMaterial" ;
    rdfs:range :IfcMaterial ;
    owl:inverseOf :hasRepresentation_IfcMaterial .

:requestingApproval_IfcApproval
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcApproval ;
    rdfs:label "RequestingApproval" ;
    rdfs:range :IfcActorSelect .

:resourceType_IfcTypeResource
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTypeResource ;
    rdfs:label "ResourceType" ;
    rdfs:range :IfcLabel .

:responsiblePerson_IfcAsset
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAsset ;
    rdfs:label "ResponsiblePerson" ;
    rdfs:range :IfcPerson .

:responsiblePersons_IfcInventory
    a owl:ObjectProperty ;
    rdfs:domain :IfcInventory ;
    rdfs:label "ResponsiblePersons" ;
    rdfs:range :IfcPerson .

:resultForLoadGroup_IfcStructuralResultGroup
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralResultGroup ;
    rdfs:label "ResultForLoadGroup" ;
    rdfs:range :IfcStructuralLoadGroup ;
    owl:inverseOf :sourceOfResultGroup_IfcStructuralLoadGroup .

:resultGroupFor_IfcStructuralResultGroup
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralResultGroup ;
    rdfs:label "ResultGroupFor" ;
    rdfs:range :IfcStructuralAnalysisModel ;
    owl:inverseOf :hasResults_IfcStructuralAnalysisModel .

:revision_IfcDocumentInformation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDocumentInformation ;
    rdfs:label "Revision" ;
    rdfs:range :IfcLabel .

:riserHeight_IfcStairFlight
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStairFlight ;
    rdfs:label "RiserHeight" ;
    rdfs:range :IfcPositiveLengthMeasure .

:role_IfcActorRole
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcActorRole ;
    rdfs:label "Role" ;
    rdfs:range :IfcRoleEnum .

:roles_IfcOrganization
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOrganization ;
    rdfs:label "Roles" ;
    rdfs:range :IfcActorRole_List .

:roles_IfcPerson
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPerson ;
    rdfs:label "Roles" ;
    rdfs:range :IfcActorRole_List .

:roles_IfcPersonAndOrganization
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPersonAndOrganization ;
    rdfs:label "Roles" ;
    rdfs:range :IfcActorRole_List .

:rotationalDisplacementRX_IfcStructuralLoadSingleDisplacement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadSingleDisplacement ;
    rdfs:label "RotationalDisplacementRX" ;
    rdfs:range :IfcPlaneAngleMeasure .

:rotationalDisplacementRY_IfcStructuralLoadSingleDisplacement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadSingleDisplacement ;
    rdfs:label "RotationalDisplacementRY" ;
    rdfs:range :IfcPlaneAngleMeasure .

:rotationalDisplacementRZ_IfcStructuralLoadSingleDisplacement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadSingleDisplacement ;
    rdfs:label "RotationalDisplacementRZ" ;
    rdfs:range :IfcPlaneAngleMeasure .

:rotationalStiffnessByLengthX_IfcBoundaryEdgeCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBoundaryEdgeCondition ;
    rdfs:label "RotationalStiffnessByLengthX" ;
    rdfs:range :IfcModulusOfRotationalSubgradeReactionSelect .

:rotationalStiffnessByLengthY_IfcBoundaryEdgeCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBoundaryEdgeCondition ;
    rdfs:label "RotationalStiffnessByLengthY" ;
    rdfs:range :IfcModulusOfRotationalSubgradeReactionSelect .

:rotationalStiffnessByLengthZ_IfcBoundaryEdgeCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBoundaryEdgeCondition ;
    rdfs:label "RotationalStiffnessByLengthZ" ;
    rdfs:range :IfcModulusOfRotationalSubgradeReactionSelect .

:rotationalStiffnessX_IfcBoundaryNodeCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBoundaryNodeCondition ;
    rdfs:label "RotationalStiffnessX" ;
    rdfs:range :IfcRotationalStiffnessSelect .

:rotationalStiffnessY_IfcBoundaryNodeCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBoundaryNodeCondition ;
    rdfs:label "RotationalStiffnessY" ;
    rdfs:range :IfcRotationalStiffnessSelect .

:rotationalStiffnessZ_IfcBoundaryNodeCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBoundaryNodeCondition ;
    rdfs:label "RotationalStiffnessZ" ;
    rdfs:range :IfcRotationalStiffnessSelect .

:roundingRadius_IfcRoundedRectangleProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRoundedRectangleProfileDef ;
    rdfs:label "RoundingRadius" ;
    rdfs:range :IfcPositiveLengthMeasure .

:rowCells_IfcTableRow
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTableRow ;
    rdfs:label "RowCells" ;
    rdfs:range :IfcValue_List .

:rows_IfcTable
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTable ;
    rdfs:label "Rows" ;
    rdfs:range :IfcTableRow_List .

:sameSense_IfcCompositeCurveSegment
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCompositeCurveSegment ;
    rdfs:label "SameSense" ;
    rdfs:range :IfcBoolean .

:sameSense_IfcEdgeCurve
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEdgeCurve ;
    rdfs:label "SameSense" ;
    rdfs:range :IfcBoolean .

:sameSense_IfcFaceSurface
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFaceSurface ;
    rdfs:label "SameSense" ;
    rdfs:range :IfcBoolean .

:sameSense_IfcGridAxis
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcGridAxis ;
    rdfs:label "SameSense" ;
    rdfs:range :IfcBoolean .

:sbsmBoundary_IfcShellBasedSurfaceModel
    a owl:ObjectProperty ;
    rdfs:domain :IfcShellBasedSurfaceModel ;
    rdfs:label "SbsmBoundary" ;
    rdfs:range :IfcShell .

:scale2_IfcCartesianTransformationOperator2DnonUniform
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCartesianTransformationOperator2DnonUniform ;
    rdfs:label "Scale2" ;
    rdfs:range :IfcReal .

:scale2_IfcCartesianTransformationOperator3DnonUniform
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCartesianTransformationOperator3DnonUniform ;
    rdfs:label "Scale2" ;
    rdfs:range :IfcReal .

:scale3_IfcCartesianTransformationOperator3DnonUniform
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCartesianTransformationOperator3DnonUniform ;
    rdfs:label "Scale3" ;
    rdfs:range :IfcReal .

:scale_IfcCartesianTransformationOperator
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCartesianTransformationOperator ;
    rdfs:label "Scale" ;
    rdfs:range :IfcReal .

:scale_IfcMapConversion
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMapConversion ;
    rdfs:label "Scale" ;
    rdfs:range :IfcReal .

:scheduleContour_IfcResourceTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcResourceTime ;
    rdfs:label "ScheduleContour" ;
    rdfs:range :IfcLabel .

:scheduleDate_IfcEventTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEventTime ;
    rdfs:label "ScheduleDate" ;
    rdfs:range :IfcDateTime .

:scheduleDuration_IfcTaskTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTaskTime ;
    rdfs:label "ScheduleDuration" ;
    rdfs:range :IfcDuration .

:scheduleFinish_IfcResourceTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcResourceTime ;
    rdfs:label "ScheduleFinish" ;
    rdfs:range :IfcDateTime .

:scheduleFinish_IfcTaskTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTaskTime ;
    rdfs:label "ScheduleFinish" ;
    rdfs:range :IfcDateTime .

:scheduleStart_IfcResourceTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcResourceTime ;
    rdfs:label "ScheduleStart" ;
    rdfs:range :IfcDateTime .

:scheduleStart_IfcTaskTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTaskTime ;
    rdfs:label "ScheduleStart" ;
    rdfs:range :IfcDateTime .

:scheduleUsage_IfcResourceTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcResourceTime ;
    rdfs:label "ScheduleUsage" ;
    rdfs:range :IfcPositiveRatioMeasure .

:scheduleWork_IfcResourceTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcResourceTime ;
    rdfs:label "ScheduleWork" ;
    rdfs:range :IfcDuration .

:scope_IfcDocumentInformation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDocumentInformation ;
    rdfs:label "Scope" ;
    rdfs:range :IfcText .

:secondMullionOffset_IfcWindowLiningProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindowLiningProperties ;
    rdfs:label "SecondMullionOffset" ;
    rdfs:range :IfcNormalisedRatioMeasure .

:secondOperand_IfcBooleanResult
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBooleanResult ;
    rdfs:label "SecondOperand" ;
    rdfs:range :IfcBooleanOperand .

:secondTransomOffset_IfcWindowLiningProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindowLiningProperties ;
    rdfs:label "SecondTransomOffset" ;
    rdfs:range :IfcNormalisedRatioMeasure .

:secondaryMeasureType_IfcSimplePropertyTemplate
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSimplePropertyTemplate ;
    rdfs:label "SecondaryMeasureType" ;
    rdfs:range :IfcLabel .

:secondaryPlaneAngle_IfcLightDistributionData
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightDistributionData ;
    rdfs:label "SecondaryPlaneAngle" ;
    rdfs:range :IfcPlaneAngleMeasure_List .

:secondaryUnit_IfcSimplePropertyTemplate
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSimplePropertyTemplate ;
    rdfs:label "SecondaryUnit" ;
    rdfs:range :IfcUnit .

:sectionDefinition_IfcSectionReinforcementProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSectionReinforcementProperties ;
    rdfs:label "SectionDefinition" ;
    rdfs:range :IfcSectionProperties .

:sectionType_IfcSectionProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSectionProperties ;
    rdfs:label "SectionType" ;
    rdfs:range :IfcSectionTypeEnum .

:segments_IfcCompositeCurve
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCompositeCurve ;
    rdfs:label "Segments" ;
    rdfs:range :IfcCompositeCurveSegment_List .

:segments_IfcIndexedPolyCurve
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcIndexedPolyCurve ;
    rdfs:label "Segments" ;
    rdfs:range :IfcSegmentIndexSelect_List .

:selfIntersect_IfcBSplineCurve
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBSplineCurve ;
    rdfs:label "SelfIntersect" ;
    rdfs:range :IfcLogical .

:selfIntersect_IfcBSplineSurface
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBSplineSurface ;
    rdfs:label "SelfIntersect" ;
    rdfs:range :IfcLogical .

:selfIntersect_IfcCompositeCurve
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCompositeCurve ;
    rdfs:label "SelfIntersect" ;
    rdfs:range :IfcLogical .

:selfIntersect_IfcIndexedPolyCurve
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcIndexedPolyCurve ;
    rdfs:label "SelfIntersect" ;
    rdfs:range :IfcBoolean .

:selfIntersect_IfcOffsetCurve2D
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOffsetCurve2D ;
    rdfs:label "SelfIntersect" ;
    rdfs:range :IfcLogical .

:selfIntersect_IfcOffsetCurve3D
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOffsetCurve3D ;
    rdfs:label "SelfIntersect" ;
    rdfs:range :IfcLogical .

:selfWeightCoefficients_IfcStructuralLoadCase
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadCase ;
    rdfs:label "SelfWeightCoefficients" ;
    rdfs:range :IfcRatioMeasure_List .

:semiAxis1_IfcEllipse
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEllipse ;
    rdfs:label "SemiAxis1" ;
    rdfs:range :IfcPositiveLengthMeasure .

:semiAxis1_IfcEllipseProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEllipseProfileDef ;
    rdfs:label "SemiAxis1" ;
    rdfs:range :IfcPositiveLengthMeasure .

:semiAxis2_IfcEllipse
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEllipse ;
    rdfs:label "SemiAxis2" ;
    rdfs:range :IfcPositiveLengthMeasure .

:semiAxis2_IfcEllipseProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEllipseProfileDef ;
    rdfs:label "SemiAxis2" ;
    rdfs:range :IfcPositiveLengthMeasure .

:senseAgreement_IfcTrimmedCurve
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTrimmedCurve ;
    rdfs:label "SenseAgreement" ;
    rdfs:range :IfcBoolean .

:sequenceType_IfcRelSequence
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelSequence ;
    rdfs:label "SequenceType" ;
    rdfs:range :IfcSequenceEnum .

:servicedBySystems_IfcSpatialElement
    a owl:ObjectProperty ;
    rdfs:domain :IfcSpatialElement ;
    rdfs:label "ServicedBySystems" ;
    rdfs:range :IfcRelServicesBuildings ;
    owl:inverseOf :relatedBuildings_IfcRelServicesBuildings .

:servicesBuildings_IfcSystem
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSystem ;
    rdfs:label "ServicesBuildings" ;
    rdfs:range :IfcRelServicesBuildings ;
    owl:inverseOf :relatingSystem_IfcRelServicesBuildings .

:setPointValue_IfcPropertyBoundedValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertyBoundedValue ;
    rdfs:label "SetPointValue" ;
    rdfs:range :IfcValue .

:shapeAspectStyle_IfcDoorLiningProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorLiningProperties ;
    rdfs:label "ShapeAspectStyle" ;
    rdfs:range :IfcShapeAspect .

:shapeAspectStyle_IfcDoorPanelProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorPanelProperties ;
    rdfs:label "ShapeAspectStyle" ;
    rdfs:range :IfcShapeAspect .

:shapeAspectStyle_IfcPermeableCoveringProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPermeableCoveringProperties ;
    rdfs:label "ShapeAspectStyle" ;
    rdfs:range :IfcShapeAspect .

:shapeAspectStyle_IfcWindowLiningProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindowLiningProperties ;
    rdfs:label "ShapeAspectStyle" ;
    rdfs:range :IfcShapeAspect .

:shapeAspectStyle_IfcWindowPanelProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindowPanelProperties ;
    rdfs:label "ShapeAspectStyle" ;
    rdfs:range :IfcShapeAspect .

:shapeOfProduct_IfcProductDefinitionShape
    a owl:ObjectProperty ;
    rdfs:domain :IfcProductDefinitionShape ;
    rdfs:label "ShapeOfProduct" ;
    rdfs:range :IfcProduct ;
    owl:inverseOf :representation_IfcProduct .

:shapeRepresentations_IfcShapeAspect
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcShapeAspect ;
    rdfs:label "ShapeRepresentations" ;
    rdfs:range :IfcShapeModel_List .

:sharedPlacement_IfcStructuralAnalysisModel
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralAnalysisModel ;
    rdfs:label "SharedPlacement" ;
    rdfs:range :IfcObjectPlacement .

:shearReinforcement_IfcSurfaceReinforcementArea
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceReinforcementArea ;
    rdfs:label "ShearReinforcement" ;
    rdfs:range :IfcRatioMeasure .

:sheethDiameter_IfcTendonType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTendonType ;
    rdfs:label "SheethDiameter" ;
    rdfs:range :IfcPositiveLengthMeasure .

:side_IfcSurfaceStyle
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceStyle ;
    rdfs:label "Side" ;
    rdfs:range :IfcSurfaceSide .

:siteAddress_IfcSite
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSite ;
    rdfs:label "SiteAddress" ;
    rdfs:range :IfcPostalAddress .

:sizeInX_IfcPlanarExtent
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPlanarExtent ;
    rdfs:label "SizeInX" ;
    rdfs:range :IfcLengthMeasure .

:sizeInY_IfcPlanarExtent
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPlanarExtent ;
    rdfs:label "SizeInY" ;
    rdfs:range :IfcLengthMeasure .

:sizeable_IfcDoorStyle
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorStyle ;
    rdfs:label "Sizeable" ;
    rdfs:range :IfcBoolean .

:sizeable_IfcWindowStyle
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindowStyle ;
    rdfs:label "Sizeable" ;
    rdfs:range :IfcBoolean .

:slippageX_IfcSlippageConnectionCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSlippageConnectionCondition ;
    rdfs:label "SlippageX" ;
    rdfs:range :IfcLengthMeasure .

:slippageY_IfcSlippageConnectionCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSlippageConnectionCondition ;
    rdfs:label "SlippageY" ;
    rdfs:range :IfcLengthMeasure .

:slippageZ_IfcSlippageConnectionCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSlippageConnectionCondition ;
    rdfs:label "SlippageZ" ;
    rdfs:range :IfcLengthMeasure .

:sort_IfcClassificationReference
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcClassificationReference ;
    rdfs:label "Sort" ;
    rdfs:range :IfcIdentifier .

:sourceCRS_IfcCoordinateOperation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCoordinateOperation ;
    rdfs:label "SourceCRS" ;
    rdfs:range :IfcCoordinateReferenceSystemSelect .

:sourceOfResultGroup_IfcStructuralLoadGroup
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadGroup ;
    rdfs:label "SourceOfResultGroup" ;
    rdfs:range :IfcStructuralResultGroup ;
    owl:inverseOf :resultForLoadGroup_IfcStructuralResultGroup .

:source_IfcClassification
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcClassification ;
    rdfs:label "Source" ;
    rdfs:range :IfcLabel .

:specularColour_IfcSurfaceStyleRendering
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceStyleRendering ;
    rdfs:label "SpecularColour" ;
    rdfs:range :IfcColourOrFactor .

:specularHighlight_IfcSurfaceStyleRendering
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceStyleRendering ;
    rdfs:label "SpecularHighlight" ;
    rdfs:range :IfcSpecularHighlightSelect .

:spineCurve_IfcSectionedSpine
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSectionedSpine ;
    rdfs:label "SpineCurve" ;
    rdfs:range :IfcCompositeCurve .

:spreadAngle_IfcLightSourceSpot
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLightSourceSpot ;
    rdfs:label "SpreadAngle" ;
    rdfs:range :IfcPositivePlaneAngleMeasure .

:startOfNextHatchLine_IfcFillAreaStyleHatching
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFillAreaStyleHatching ;
    rdfs:label "StartOfNextHatchLine" ;
    rdfs:range :IfcHatchLineDistanceSelect .

:startParam_IfcFixedReferenceSweptAreaSolid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFixedReferenceSweptAreaSolid ;
    rdfs:label "StartParam" ;
    rdfs:range :IfcParameterValue .

:startParam_IfcSurfaceCurveSweptAreaSolid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceCurveSweptAreaSolid ;
    rdfs:label "StartParam" ;
    rdfs:range :IfcParameterValue .

:startParam_IfcSweptDiskSolid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSweptDiskSolid ;
    rdfs:label "StartParam" ;
    rdfs:range :IfcParameterValue .

:startProfile_IfcSectionProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSectionProperties ;
    rdfs:label "StartProfile" ;
    rdfs:range :IfcProfileDef .

:startTime_IfcTimePeriod
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTimePeriod ;
    rdfs:label "StartTime" ;
    rdfs:range :IfcTime .

:startTime_IfcTimeSeries
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTimeSeries ;
    rdfs:label "StartTime" ;
    rdfs:range :IfcDateTime .

:startTime_IfcWorkControl
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWorkControl ;
    rdfs:label "StartTime" ;
    rdfs:range :IfcDateTime .

:start_IfcWorkTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWorkTime ;
    rdfs:label "Start" ;
    rdfs:range :IfcDate .

:state_IfcOwnerHistory
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcOwnerHistory ;
    rdfs:label "State" ;
    rdfs:range :IfcStateEnum .

:statusTime_IfcResourceTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcResourceTime ;
    rdfs:label "StatusTime" ;
    rdfs:range :IfcDateTime .

:statusTime_IfcTaskTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTaskTime ;
    rdfs:label "StatusTime" ;
    rdfs:range :IfcDateTime .

:status_IfcActionRequest
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcActionRequest ;
    rdfs:label "Status" ;
    rdfs:range :IfcLabel .

:status_IfcApproval
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcApproval ;
    rdfs:label "Status" ;
    rdfs:range :IfcLabel .

:status_IfcCostSchedule
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCostSchedule ;
    rdfs:label "Status" ;
    rdfs:range :IfcLabel .

:status_IfcDocumentInformation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDocumentInformation ;
    rdfs:label "Status" ;
    rdfs:range :IfcDocumentStatusEnum .

:status_IfcPermit
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPermit ;
    rdfs:label "Status" ;
    rdfs:range :IfcLabel .

:status_IfcProjectOrder
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProjectOrder ;
    rdfs:label "Status" ;
    rdfs:range :IfcLabel .

:status_IfcTask
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTask ;
    rdfs:label "Status" ;
    rdfs:range :IfcLabel .

:steelGrade_IfcReinforcementBarProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcementBarProperties ;
    rdfs:label "SteelGrade" ;
    rdfs:range :IfcLabel .

:steelGrade_IfcReinforcingElement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingElement ;
    rdfs:label "SteelGrade" ;
    rdfs:range :IfcLabel .

:styledByItem_IfcRepresentationItem
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRepresentationItem ;
    rdfs:label "StyledByItem" ;
    rdfs:range :IfcStyledItem ;
    owl:inverseOf :item_IfcStyledItem .

:styles_IfcPresentationStyleAssignment
    a owl:ObjectProperty ;
    rdfs:domain :IfcPresentationStyleAssignment ;
    rdfs:label "Styles" ;
    rdfs:range :IfcPresentationStyleSelect .

:styles_IfcStyledItem
    a owl:ObjectProperty ;
    rdfs:domain :IfcStyledItem ;
    rdfs:label "Styles" ;
    rdfs:range :IfcStyleAssignmentSelect .

:styles_IfcSurfaceStyle
    a owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceStyle ;
    rdfs:label "Styles" ;
    rdfs:range :IfcSurfaceStyleElementSelect .

:submittedOn_IfcCostSchedule
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCostSchedule ;
    rdfs:label "SubmittedOn" ;
    rdfs:range :IfcDateTime .

:suffixTitles_IfcPerson
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPerson ;
    rdfs:label "SuffixTitles" ;
    rdfs:range :IfcLabel_List .

:supportedLength_IfcRelConnectsStructuralMember
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelConnectsStructuralMember ;
    rdfs:label "SupportedLength" ;
    rdfs:range :IfcLengthMeasure .

:surfaceColour_IfcSurfaceStyleShading
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceStyleShading ;
    rdfs:label "SurfaceColour" ;
    rdfs:range :IfcColourRgb .

:surfaceForm_IfcBSplineSurface
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBSplineSurface ;
    rdfs:label "SurfaceForm" ;
    rdfs:range :IfcBSplineSurfaceForm .

:surfaceOnRelatedElement_IfcConnectionSurfaceGeometry
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConnectionSurfaceGeometry ;
    rdfs:label "SurfaceOnRelatedElement" ;
    rdfs:range :IfcSurfaceOrFaceSurface .

:surfaceOnRelatingElement_IfcConnectionSurfaceGeometry
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConnectionSurfaceGeometry ;
    rdfs:label "SurfaceOnRelatingElement" ;
    rdfs:range :IfcSurfaceOrFaceSurface .

:surfaceReinforcement1_IfcSurfaceReinforcementArea
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceReinforcementArea ;
    rdfs:label "SurfaceReinforcement1" ;
    rdfs:range :IfcLengthMeasure_List .

:surfaceReinforcement2_IfcSurfaceReinforcementArea
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceReinforcementArea ;
    rdfs:label "SurfaceReinforcement2" ;
    rdfs:range :IfcLengthMeasure_List .

:sweptArea_IfcSweptAreaSolid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSweptAreaSolid ;
    rdfs:label "SweptArea" ;
    rdfs:range :IfcProfileDef .

:sweptCurve_IfcSweptSurface
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSweptSurface ;
    rdfs:label "SweptCurve" ;
    rdfs:range :IfcProfileDef .

:systemType_IfcDistributionPort
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDistributionPort ;
    rdfs:label "SystemType" ;
    rdfs:range :IfcDistributionSystemEnum .

:tag_IfcElement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcElement ;
    rdfs:label "Tag" ;
    rdfs:range :IfcIdentifier .

:tag_IfcProxy
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcProxy ;
    rdfs:label "Tag" ;
    rdfs:range :IfcLabel .

:tag_IfcTypeProduct
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTypeProduct ;
    rdfs:label "Tag" ;
    rdfs:range :IfcLabel .

:targetCRS_IfcCoordinateOperation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCoordinateOperation ;
    rdfs:label "TargetCRS" ;
    rdfs:range :IfcCoordinateReferenceSystem .

:targetScale_IfcGeometricRepresentationSubContext
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcGeometricRepresentationSubContext ;
    rdfs:label "TargetScale" ;
    rdfs:range :IfcPositiveRatioMeasure .

:targetView_IfcGeometricRepresentationSubContext
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcGeometricRepresentationSubContext ;
    rdfs:label "TargetView" ;
    rdfs:range :IfcGeometricProjectionEnum .

:taskTime_IfcTask
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTask ;
    rdfs:label "TaskTime" ;
    rdfs:range :IfcTaskTime .

:telephoneNumbers_IfcTelecomAddress
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTelecomAddress ;
    rdfs:label "TelephoneNumbers" ;
    rdfs:range :IfcLabel_List .

:templateType_IfcComplexPropertyTemplate
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcComplexPropertyTemplate ;
    rdfs:label "TemplateType" ;
    rdfs:range :IfcComplexPropertyTemplateTypeEnum .

:templateType_IfcPropertySetTemplate
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertySetTemplate ;
    rdfs:label "TemplateType" ;
    rdfs:range :IfcPropertySetTemplateTypeEnum .

:templateType_IfcSimplePropertyTemplate
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSimplePropertyTemplate ;
    rdfs:label "TemplateType" ;
    rdfs:range :IfcSimplePropertyTemplateTypeEnum .

:tensionFailureX_IfcFailureConnectionCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFailureConnectionCondition ;
    rdfs:label "TensionFailureX" ;
    rdfs:range :IfcForceMeasure .

:tensionFailureY_IfcFailureConnectionCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFailureConnectionCondition ;
    rdfs:label "TensionFailureY" ;
    rdfs:range :IfcForceMeasure .

:tensionFailureZ_IfcFailureConnectionCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFailureConnectionCondition ;
    rdfs:label "TensionFailureZ" ;
    rdfs:range :IfcForceMeasure .

:tensionForce_IfcTendon
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTendon ;
    rdfs:label "TensionForce" ;
    rdfs:range :IfcForceMeasure .

:texCoordIndex_IfcIndexedTriangleTextureMap
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcIndexedTriangleTextureMap ;
    rdfs:label "TexCoordIndex" ;
    rdfs:range :IfcPositiveInteger_List_List .

:texCoordsList_IfcTextureVertexList
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextureVertexList ;
    rdfs:label "TexCoordsList" ;
    rdfs:range :IfcParameterValue_List_List .

:texCoords_IfcIndexedTextureMap
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcIndexedTextureMap ;
    rdfs:label "TexCoords" ;
    rdfs:range :IfcTextureVertexList .

:textAlign_IfcTextStyleTextModel
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextStyleTextModel ;
    rdfs:label "TextAlign" ;
    rdfs:range :IfcTextAlignment .

:textCharacterAppearance_IfcTextStyle
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextStyle ;
    rdfs:label "TextCharacterAppearance" ;
    rdfs:range :IfcTextStyleForDefinedFont .

:textDecoration_IfcTextStyleTextModel
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextStyleTextModel ;
    rdfs:label "TextDecoration" ;
    rdfs:range :IfcTextDecoration .

:textFontStyle_IfcTextStyle
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextStyle ;
    rdfs:label "TextFontStyle" ;
    rdfs:range :IfcTextFontSelect .

:textIndent_IfcTextStyleTextModel
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextStyleTextModel ;
    rdfs:label "TextIndent" ;
    rdfs:range :IfcSizeSelect .

:textStyle_IfcTextStyle
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextStyle ;
    rdfs:label "TextStyle" ;
    rdfs:range :IfcTextStyleTextModel .

:textTransform_IfcTextStyleTextModel
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextStyleTextModel ;
    rdfs:label "TextTransform" ;
    rdfs:range :IfcTextTransformation .

:textureTransform_IfcSurfaceTexture
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceTexture ;
    rdfs:label "TextureTransform" ;
    rdfs:range :IfcCartesianTransformationOperator2D .

:textures_IfcSurfaceStyleWithTextures
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceStyleWithTextures ;
    rdfs:label "Textures" ;
    rdfs:range :IfcSurfaceTexture_List .

:theActor_IfcActor
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcActor ;
    rdfs:label "TheActor" ;
    rdfs:range :IfcActorSelect .

:theOrganization_IfcPersonAndOrganization
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPersonAndOrganization ;
    rdfs:label "TheOrganization" ;
    rdfs:range :IfcOrganization ;
    owl:inverseOf :engages_IfcOrganization .

:thePerson_IfcPersonAndOrganization
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPersonAndOrganization ;
    rdfs:label "ThePerson" ;
    rdfs:range :IfcPerson ;
    owl:inverseOf :engagedIn_IfcPerson .

:theoryType_IfcStructuralResultGroup
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralResultGroup ;
    rdfs:label "TheoryType" ;
    rdfs:range :IfcAnalysisTheoryTypeEnum .

:thermodynamicTemperatureExponent_IfcDimensionalExponents
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDimensionalExponents ;
    rdfs:label "ThermodynamicTemperatureExponent" ;
    rdfs:range expr:INTEGER .

:thickness_IfcCenterLineProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCenterLineProfileDef ;
    rdfs:label "Thickness" ;
    rdfs:range :IfcPositiveLengthMeasure .

:thickness_IfcLShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLShapeProfileDef ;
    rdfs:label "Thickness" ;
    rdfs:range :IfcPositiveLengthMeasure .

:thickness_IfcStructuralSurfaceMember
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralSurfaceMember ;
    rdfs:label "Thickness" ;
    rdfs:range :IfcPositiveLengthMeasure .

:thresholdDepth_IfcDoorLiningProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorLiningProperties ;
    rdfs:label "ThresholdDepth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:thresholdOffset_IfcDoorLiningProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorLiningProperties ;
    rdfs:label "ThresholdOffset" ;
    rdfs:range :IfcLengthMeasure .

:thresholdThickness_IfcDoorLiningProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorLiningProperties ;
    rdfs:label "ThresholdThickness" ;
    rdfs:range :IfcNonNegativeLengthMeasure .

:tiles_IfcFillAreaStyleTiles
    a owl:ObjectProperty ;
    rdfs:domain :IfcFillAreaStyleTiles ;
    rdfs:label "Tiles" ;
    rdfs:range :IfcStyledItem .

:tilingPattern_IfcFillAreaStyleTiles
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFillAreaStyleTiles ;
    rdfs:label "TilingPattern" ;
    rdfs:range :IfcVector_List .

:tilingScale_IfcFillAreaStyleTiles
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFillAreaStyleTiles ;
    rdfs:label "TilingScale" ;
    rdfs:range :IfcPositiveRatioMeasure .

:timeExponent_IfcDimensionalExponents
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDimensionalExponents ;
    rdfs:label "TimeExponent" ;
    rdfs:range expr:INTEGER .

:timeLag_IfcRelSequence
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelSequence ;
    rdfs:label "TimeLag" ;
    rdfs:range :IfcLagTime .

:timeOfApproval_IfcApproval
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcApproval ;
    rdfs:label "TimeOfApproval" ;
    rdfs:range :IfcDateTime .

:timePeriods_IfcRecurrencePattern
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRecurrencePattern ;
    rdfs:label "TimePeriods" ;
    rdfs:range :IfcTimePeriod_List .

:timeSeriesDataType_IfcTimeSeries
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTimeSeries ;
    rdfs:label "TimeSeriesDataType" ;
    rdfs:range :IfcTimeSeriesDataTypeEnum .

:timeStamp_IfcIrregularTimeSeriesValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcIrregularTimeSeriesValue ;
    rdfs:label "TimeStamp" ;
    rdfs:range :IfcDateTime .

:timeStep_IfcRegularTimeSeries
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRegularTimeSeries ;
    rdfs:label "TimeStep" ;
    rdfs:range :IfcTimeMeasure .

:timeValue_IfcQuantityTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcQuantityTime ;
    rdfs:label "TimeValue" ;
    rdfs:range :IfcTimeMeasure .

:toMaterialConstituentSet_IfcMaterialConstituent
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMaterialConstituent ;
    rdfs:label "ToMaterialConstituentSet" ;
    rdfs:range :IfcMaterialConstituentSet ;
    owl:inverseOf :materialConstituents_IfcMaterialConstituentSet .

:topFlangeEdgeRadius_IfcAsymmetricIShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAsymmetricIShapeProfileDef ;
    rdfs:label "TopFlangeEdgeRadius" ;
    rdfs:range :IfcNonNegativeLengthMeasure .

:topFlangeFilletRadius_IfcAsymmetricIShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAsymmetricIShapeProfileDef ;
    rdfs:label "TopFlangeFilletRadius" ;
    rdfs:range :IfcNonNegativeLengthMeasure .

:topFlangeSlope_IfcAsymmetricIShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAsymmetricIShapeProfileDef ;
    rdfs:label "TopFlangeSlope" ;
    rdfs:range :IfcPlaneAngleMeasure .

:topFlangeThickness_IfcAsymmetricIShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAsymmetricIShapeProfileDef ;
    rdfs:label "TopFlangeThickness" ;
    rdfs:range :IfcPositiveLengthMeasure .

:topFlangeWidth_IfcAsymmetricIShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAsymmetricIShapeProfileDef ;
    rdfs:label "TopFlangeWidth" ;
    rdfs:range :IfcPositiveLengthMeasure .

:topXDim_IfcTrapeziumProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTrapeziumProfileDef ;
    rdfs:label "TopXDim" ;
    rdfs:range :IfcPositiveLengthMeasure .

:topXOffset_IfcTrapeziumProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTrapeziumProfileDef ;
    rdfs:label "TopXOffset" ;
    rdfs:range :IfcLengthMeasure .

:totalCrossSectionArea_IfcReinforcementBarProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcementBarProperties ;
    rdfs:label "TotalCrossSectionArea" ;
    rdfs:range :IfcAreaMeasure .

:totalFloat_IfcTaskTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTaskTime ;
    rdfs:label "TotalFloat" ;
    rdfs:range :IfcDuration .

:totalFloat_IfcWorkControl
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWorkControl ;
    rdfs:label "TotalFloat" ;
    rdfs:range :IfcDuration .

:totalReplacementCost_IfcAsset
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAsset ;
    rdfs:label "TotalReplacementCost" ;
    rdfs:range :IfcCostValue .

:town_IfcPostalAddress
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPostalAddress ;
    rdfs:label "Town" ;
    rdfs:range :IfcLabel .

:transition_IfcCompositeCurveSegment
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCompositeCurveSegment ;
    rdfs:label "Transition" ;
    rdfs:range :IfcTransitionCode .

:translationalStiffnessByAreaX_IfcBoundaryFaceCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBoundaryFaceCondition ;
    rdfs:label "TranslationalStiffnessByAreaX" ;
    rdfs:range :IfcModulusOfSubgradeReactionSelect .

:translationalStiffnessByAreaY_IfcBoundaryFaceCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBoundaryFaceCondition ;
    rdfs:label "TranslationalStiffnessByAreaY" ;
    rdfs:range :IfcModulusOfSubgradeReactionSelect .

:translationalStiffnessByAreaZ_IfcBoundaryFaceCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBoundaryFaceCondition ;
    rdfs:label "TranslationalStiffnessByAreaZ" ;
    rdfs:range :IfcModulusOfSubgradeReactionSelect .

:translationalStiffnessByLengthX_IfcBoundaryEdgeCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBoundaryEdgeCondition ;
    rdfs:label "TranslationalStiffnessByLengthX" ;
    rdfs:range :IfcModulusOfTranslationalSubgradeReactionSelect .

:translationalStiffnessByLengthY_IfcBoundaryEdgeCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBoundaryEdgeCondition ;
    rdfs:label "TranslationalStiffnessByLengthY" ;
    rdfs:range :IfcModulusOfTranslationalSubgradeReactionSelect .

:translationalStiffnessByLengthZ_IfcBoundaryEdgeCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBoundaryEdgeCondition ;
    rdfs:label "TranslationalStiffnessByLengthZ" ;
    rdfs:range :IfcModulusOfTranslationalSubgradeReactionSelect .

:translationalStiffnessX_IfcBoundaryNodeCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBoundaryNodeCondition ;
    rdfs:label "TranslationalStiffnessX" ;
    rdfs:range :IfcTranslationalStiffnessSelect .

:translationalStiffnessY_IfcBoundaryNodeCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBoundaryNodeCondition ;
    rdfs:label "TranslationalStiffnessY" ;
    rdfs:range :IfcTranslationalStiffnessSelect .

:translationalStiffnessZ_IfcBoundaryNodeCondition
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBoundaryNodeCondition ;
    rdfs:label "TranslationalStiffnessZ" ;
    rdfs:range :IfcTranslationalStiffnessSelect .

:transmissionColour_IfcSurfaceStyleLighting
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceStyleLighting ;
    rdfs:label "TransmissionColour" ;
    rdfs:range :IfcColourRgb .

:transmissionColour_IfcSurfaceStyleRendering
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceStyleRendering ;
    rdfs:label "TransmissionColour" ;
    rdfs:range :IfcColourOrFactor .

:transomOffset_IfcDoorLiningProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorLiningProperties ;
    rdfs:label "TransomOffset" ;
    rdfs:range :IfcLengthMeasure .

:transomThickness_IfcDoorLiningProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorLiningProperties ;
    rdfs:label "TransomThickness" ;
    rdfs:range :IfcNonNegativeLengthMeasure .

:transomThickness_IfcWindowLiningProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindowLiningProperties ;
    rdfs:label "TransomThickness" ;
    rdfs:range :IfcNonNegativeLengthMeasure .

:transparency_IfcSurfaceStyleRendering
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSurfaceStyleRendering ;
    rdfs:label "Transparency" ;
    rdfs:range :IfcNormalisedRatioMeasure .

:transverseBarCrossSectionArea_IfcReinforcingMesh
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingMesh ;
    rdfs:label "TransverseBarCrossSectionArea" ;
    rdfs:range :IfcAreaMeasure .

:transverseBarCrossSectionArea_IfcReinforcingMeshType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingMeshType ;
    rdfs:label "TransverseBarCrossSectionArea" ;
    rdfs:range :IfcAreaMeasure .

:transverseBarNominalDiameter_IfcReinforcingMesh
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingMesh ;
    rdfs:label "TransverseBarNominalDiameter" ;
    rdfs:range :IfcPositiveLengthMeasure .

:transverseBarNominalDiameter_IfcReinforcingMeshType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingMeshType ;
    rdfs:label "TransverseBarNominalDiameter" ;
    rdfs:range :IfcPositiveLengthMeasure .

:transverseBarSpacing_IfcReinforcingMesh
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingMesh ;
    rdfs:label "TransverseBarSpacing" ;
    rdfs:range :IfcPositiveLengthMeasure .

:transverseBarSpacing_IfcReinforcingMeshType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReinforcingMeshType ;
    rdfs:label "TransverseBarSpacing" ;
    rdfs:range :IfcPositiveLengthMeasure .

:transversePosition_IfcSectionReinforcementProperties
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSectionReinforcementProperties ;
    rdfs:label "TransversePosition" ;
    rdfs:range :IfcLengthMeasure .

:treadLength_IfcStairFlight
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStairFlight ;
    rdfs:label "TreadLength" ;
    rdfs:range :IfcPositiveLengthMeasure .

:treeRootExpression_IfcCsgSolid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCsgSolid ;
    rdfs:label "TreeRootExpression" ;
    rdfs:range :IfcCsgSelect .

:trim1_IfcTrimmedCurve
    a owl:ObjectProperty ;
    rdfs:domain :IfcTrimmedCurve ;
    rdfs:label "Trim1" ;
    rdfs:range :IfcTrimmingSelect .

:trim2_IfcTrimmedCurve
    a owl:ObjectProperty ;
    rdfs:domain :IfcTrimmedCurve ;
    rdfs:label "Trim2" ;
    rdfs:range :IfcTrimmingSelect .

:trueNorth_IfcGeometricRepresentationContext
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcGeometricRepresentationContext ;
    rdfs:label "TrueNorth" ;
    rdfs:range :IfcDirection .

:typeIdentifier_IfcReference
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcReference ;
    rdfs:label "TypeIdentifier" ;
    rdfs:range :IfcIdentifier .

:types_IfcTypeObject
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTypeObject ;
    rdfs:label "Types" ;
    rdfs:range :IfcRelDefinesByType ;
    owl:inverseOf :relatingType_IfcRelDefinesByType .

:u1_IfcRectangularTrimmedSurface
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRectangularTrimmedSurface ;
    rdfs:label "U1" ;
    rdfs:range :IfcParameterValue .

:u2_IfcRectangularTrimmedSurface
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRectangularTrimmedSurface ;
    rdfs:label "U2" ;
    rdfs:range :IfcParameterValue .

:uAxes_IfcGrid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcGrid ;
    rdfs:label "UAxes" ;
    rdfs:range :IfcGridAxis_List .

:uClosed_IfcBSplineSurface
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBSplineSurface ;
    rdfs:label "UClosed" ;
    rdfs:range :IfcLogical .

:uDegree_IfcBSplineSurface
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBSplineSurface ;
    rdfs:label "UDegree" ;
    rdfs:range :IfcInteger .

:uKnots_IfcBSplineSurfaceWithKnots
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBSplineSurfaceWithKnots ;
    rdfs:label "UKnots" ;
    rdfs:range :IfcParameterValue_List .

:uMultiplicities_IfcBSplineSurfaceWithKnots
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBSplineSurfaceWithKnots ;
    rdfs:label "UMultiplicities" ;
    rdfs:range :IfcInteger_List .

:uRLReference_IfcImageTexture
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcImageTexture ;
    rdfs:label "URLReference" ;
    rdfs:range :IfcURIReference .

:unitBasis_IfcAppliedValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAppliedValue ;
    rdfs:label "UnitBasis" ;
    rdfs:range :IfcMeasureWithUnit .

:unitComponent_IfcMeasureWithUnit
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMeasureWithUnit ;
    rdfs:label "UnitComponent" ;
    rdfs:range :IfcUnit .

:unitType_IfcDerivedUnit
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDerivedUnit ;
    rdfs:label "UnitType" ;
    rdfs:range :IfcDerivedUnitEnum .

:unitType_IfcNamedUnit
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcNamedUnit ;
    rdfs:label "UnitType" ;
    rdfs:range :IfcUnitEnum .

:unit_IfcDerivedUnitElement
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDerivedUnitElement ;
    rdfs:label "Unit" ;
    rdfs:range :IfcNamedUnit .

:unit_IfcPhysicalSimpleQuantity
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPhysicalSimpleQuantity ;
    rdfs:label "Unit" ;
    rdfs:range :IfcNamedUnit .

:unit_IfcPropertyBoundedValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertyBoundedValue ;
    rdfs:label "Unit" ;
    rdfs:range :IfcUnit .

:unit_IfcPropertyEnumeration
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertyEnumeration ;
    rdfs:label "Unit" ;
    rdfs:range :IfcUnit .

:unit_IfcPropertyListValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertyListValue ;
    rdfs:label "Unit" ;
    rdfs:range :IfcUnit .

:unit_IfcPropertySingleValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertySingleValue ;
    rdfs:label "Unit" ;
    rdfs:range :IfcUnit .

:unit_IfcTableColumn
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTableColumn ;
    rdfs:label "Unit" ;
    rdfs:range :IfcUnit .

:unit_IfcTimeSeries
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTimeSeries ;
    rdfs:label "Unit" ;
    rdfs:range :IfcUnit .

:unitsInContext_IfcContext
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcContext ;
    rdfs:label "UnitsInContext" ;
    rdfs:range :IfcUnitAssignment .

:units_IfcUnitAssignment
    a owl:ObjectProperty ;
    rdfs:domain :IfcUnitAssignment ;
    rdfs:label "Units" ;
    rdfs:range :IfcUnit .

:updateDate_IfcCostSchedule
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCostSchedule ;
    rdfs:label "UpdateDate" ;
    rdfs:range :IfcDateTime .

:upperBoundValue_IfcPropertyBoundedValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertyBoundedValue ;
    rdfs:label "UpperBoundValue" ;
    rdfs:range :IfcValue .

:usageName_IfcComplexProperty
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcComplexProperty ;
    rdfs:label "UsageName" ;
    rdfs:range :IfcIdentifier .

:usageName_IfcComplexPropertyTemplate
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcComplexPropertyTemplate ;
    rdfs:label "UsageName" ;
    rdfs:range :IfcLabel .

:usageName_IfcPropertyReferenceValue
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPropertyReferenceValue ;
    rdfs:label "UsageName" ;
    rdfs:range :IfcText .

:usage_IfcConstructionResource
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConstructionResource ;
    rdfs:label "Usage" ;
    rdfs:range :IfcResourceTime .

:usage_IfcPhysicalComplexQuantity
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPhysicalComplexQuantity ;
    rdfs:label "Usage" ;
    rdfs:range :IfcLabel .

:usense_IfcRectangularTrimmedSurface
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRectangularTrimmedSurface ;
    rdfs:label "Usense" ;
    rdfs:range :IfcBoolean .

:userDefinedDataOrigin_IfcSchedulingTime
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcSchedulingTime ;
    rdfs:label "UserDefinedDataOrigin" ;
    rdfs:range :IfcLabel .

:userDefinedDataOrigin_IfcTimeSeries
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTimeSeries ;
    rdfs:label "UserDefinedDataOrigin" ;
    rdfs:range :IfcLabel .

:userDefinedEventTriggerType_IfcEvent
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEvent ;
    rdfs:label "UserDefinedEventTriggerType" ;
    rdfs:range :IfcLabel .

:userDefinedEventTriggerType_IfcEventType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcEventType ;
    rdfs:label "UserDefinedEventTriggerType" ;
    rdfs:range :IfcLabel .

:userDefinedGrade_IfcConstraint
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConstraint ;
    rdfs:label "UserDefinedGrade" ;
    rdfs:range :IfcLabel .

:userDefinedOperationType_IfcDoor
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoor ;
    rdfs:label "UserDefinedOperationType" ;
    rdfs:range :IfcLabel .

:userDefinedOperationType_IfcDoorType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDoorType ;
    rdfs:label "UserDefinedOperationType" ;
    rdfs:range :IfcLabel .

:userDefinedPartitioningType_IfcWindow
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindow ;
    rdfs:label "UserDefinedPartitioningType" ;
    rdfs:range :IfcLabel .

:userDefinedPartitioningType_IfcWindowType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcWindowType ;
    rdfs:label "UserDefinedPartitioningType" ;
    rdfs:range :IfcLabel .

:userDefinedPurpose_IfcAddress
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAddress ;
    rdfs:label "UserDefinedPurpose" ;
    rdfs:range :IfcLabel .

:userDefinedQualifier_IfcObjective
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcObjective ;
    rdfs:label "UserDefinedQualifier" ;
    rdfs:range :IfcLabel .

:userDefinedRole_IfcActorRole
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcActorRole ;
    rdfs:label "UserDefinedRole" ;
    rdfs:range :IfcLabel .

:userDefinedSequenceType_IfcRelSequence
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRelSequence ;
    rdfs:label "UserDefinedSequenceType" ;
    rdfs:range :IfcLabel .

:userDefinedTargetView_IfcGeometricRepresentationSubContext
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcGeometricRepresentationSubContext ;
    rdfs:label "UserDefinedTargetView" ;
    rdfs:range :IfcLabel .

:userDefinedType_IfcDerivedUnit
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDerivedUnit ;
    rdfs:label "UserDefinedType" ;
    rdfs:range :IfcLabel .

:user_IfcAsset
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAsset ;
    rdfs:label "User" ;
    rdfs:range :IfcActorSelect .

:v1_IfcRectangularTrimmedSurface
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRectangularTrimmedSurface ;
    rdfs:label "V1" ;
    rdfs:range :IfcParameterValue .

:v2_IfcRectangularTrimmedSurface
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRectangularTrimmedSurface ;
    rdfs:label "V2" ;
    rdfs:range :IfcParameterValue .

:vAxes_IfcGrid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcGrid ;
    rdfs:label "VAxes" ;
    rdfs:range :IfcGridAxis_List .

:vClosed_IfcBSplineSurface
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBSplineSurface ;
    rdfs:label "VClosed" ;
    rdfs:range :IfcLogical .

:vDegree_IfcBSplineSurface
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBSplineSurface ;
    rdfs:label "VDegree" ;
    rdfs:range :IfcInteger .

:vKnots_IfcBSplineSurfaceWithKnots
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBSplineSurfaceWithKnots ;
    rdfs:label "VKnots" ;
    rdfs:range :IfcParameterValue_List .

:vMultiplicities_IfcBSplineSurfaceWithKnots
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBSplineSurfaceWithKnots ;
    rdfs:label "VMultiplicities" ;
    rdfs:range :IfcInteger_List .

:validFrom_IfcDocumentInformation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDocumentInformation ;
    rdfs:label "ValidFrom" ;
    rdfs:range :IfcDate .

:validUntil_IfcDocumentInformation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcDocumentInformation ;
    rdfs:label "ValidUntil" ;
    rdfs:range :IfcDate .

:valueComponent_IfcMeasureWithUnit
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMeasureWithUnit ;
    rdfs:label "ValueComponent" ;
    rdfs:range :IfcValue .

:valueSource_IfcMetric
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMetric ;
    rdfs:label "ValueSource" ;
    rdfs:range :IfcLabel .

:values_IfcIrregularTimeSeries
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcIrregularTimeSeries ;
    rdfs:label "Values" ;
    rdfs:range :IfcIrregularTimeSeriesValue_List .

:values_IfcRegularTimeSeries
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRegularTimeSeries ;
    rdfs:label "Values" ;
    rdfs:range :IfcTimeSeriesValue_List .

:values_IfcStructuralLoadConfiguration
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadConfiguration ;
    rdfs:label "Values" ;
    rdfs:range :IfcStructuralLoadOrResult_List .

:versionDate_IfcLibraryInformation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLibraryInformation ;
    rdfs:label "VersionDate" ;
    rdfs:range :IfcDateTime .

:version_IfcApplication
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcApplication ;
    rdfs:label "Version" ;
    rdfs:range :IfcLabel .

:version_IfcLibraryInformation
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLibraryInformation ;
    rdfs:label "Version" ;
    rdfs:range :IfcLabel .

:vertexGeometry_IfcVertexPoint
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcVertexPoint ;
    rdfs:label "VertexGeometry" ;
    rdfs:range :IfcPoint .

:verticalDatum_IfcCoordinateReferenceSystem
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCoordinateReferenceSystem ;
    rdfs:label "VerticalDatum" ;
    rdfs:range :IfcIdentifier .

:vertices_IfcTextureMap
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextureMap ;
    rdfs:label "Vertices" ;
    rdfs:range :IfcTextureVertex_List .

:visibleSegmentLength_IfcCurveStyleFontPattern
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCurveStyleFontPattern ;
    rdfs:label "VisibleSegmentLength" ;
    rdfs:range :IfcLengthMeasure .

:voidsElements_IfcFeatureElementSubtraction
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcFeatureElementSubtraction ;
    rdfs:label "VoidsElements" ;
    rdfs:range :IfcRelVoidsElement ;
    owl:inverseOf :relatedOpeningElement_IfcRelVoidsElement .

:voids_IfcAdvancedBrepWithVoids
    a owl:ObjectProperty ;
    rdfs:domain :IfcAdvancedBrepWithVoids ;
    rdfs:label "Voids" ;
    rdfs:range :IfcClosedShell .

:voids_IfcFacetedBrepWithVoids
    a owl:ObjectProperty ;
    rdfs:domain :IfcFacetedBrepWithVoids ;
    rdfs:label "Voids" ;
    rdfs:range :IfcClosedShell .

:volumeOnRelatedElement_IfcConnectionVolumeGeometry
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConnectionVolumeGeometry ;
    rdfs:label "VolumeOnRelatedElement" ;
    rdfs:range :IfcSolidOrShell .

:volumeOnRelatingElement_IfcConnectionVolumeGeometry
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcConnectionVolumeGeometry ;
    rdfs:label "VolumeOnRelatingElement" ;
    rdfs:range :IfcSolidOrShell .

:volumeValue_IfcQuantityVolume
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcQuantityVolume ;
    rdfs:label "VolumeValue" ;
    rdfs:range :IfcVolumeMeasure .

:vsense_IfcRectangularTrimmedSurface
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRectangularTrimmedSurface ;
    rdfs:label "Vsense" ;
    rdfs:range :IfcBoolean .

:wAxes_IfcGrid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcGrid ;
    rdfs:label "WAxes" ;
    rdfs:range :IfcGridAxis_List .

:wWWHomePageURL_IfcTelecomAddress
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTelecomAddress ;
    rdfs:label "WWWHomePageURL" ;
    rdfs:range :IfcURIReference .

:wallThickness_IfcCShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCShapeProfileDef ;
    rdfs:label "WallThickness" ;
    rdfs:range :IfcPositiveLengthMeasure .

:wallThickness_IfcCircleHollowProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCircleHollowProfileDef ;
    rdfs:label "WallThickness" ;
    rdfs:range :IfcPositiveLengthMeasure .

:wallThickness_IfcRectangleHollowProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRectangleHollowProfileDef ;
    rdfs:label "WallThickness" ;
    rdfs:range :IfcPositiveLengthMeasure .

:warpingMoment_IfcStructuralLoadSingleForceWarping
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcStructuralLoadSingleForceWarping ;
    rdfs:label "WarpingMoment" ;
    rdfs:range :IfcWarpingMomentMeasure .

:warpingStiffness_IfcBoundaryNodeConditionWarping
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBoundaryNodeConditionWarping ;
    rdfs:label "WarpingStiffness" ;
    rdfs:range :IfcWarpingStiffnessSelect .

:webEdgeRadius_IfcTShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTShapeProfileDef ;
    rdfs:label "WebEdgeRadius" ;
    rdfs:range :IfcNonNegativeLengthMeasure .

:webSlope_IfcTShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTShapeProfileDef ;
    rdfs:label "WebSlope" ;
    rdfs:range :IfcPlaneAngleMeasure .

:webThickness_IfcAsymmetricIShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcAsymmetricIShapeProfileDef ;
    rdfs:label "WebThickness" ;
    rdfs:range :IfcPositiveLengthMeasure .

:webThickness_IfcIShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcIShapeProfileDef ;
    rdfs:label "WebThickness" ;
    rdfs:range :IfcPositiveLengthMeasure .

:webThickness_IfcTShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTShapeProfileDef ;
    rdfs:label "WebThickness" ;
    rdfs:range :IfcPositiveLengthMeasure .

:webThickness_IfcUShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcUShapeProfileDef ;
    rdfs:label "WebThickness" ;
    rdfs:range :IfcPositiveLengthMeasure .

:webThickness_IfcZShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcZShapeProfileDef ;
    rdfs:label "WebThickness" ;
    rdfs:range :IfcPositiveLengthMeasure .

:weekdayComponent_IfcRecurrencePattern
    a owl:ObjectProperty ;
    rdfs:domain :IfcRecurrencePattern ;
    rdfs:label "WeekdayComponent" ;
    rdfs:range :IfcDayInWeekNumber .

:weightValue_IfcQuantityWeight
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcQuantityWeight ;
    rdfs:label "WeightValue" ;
    rdfs:range :IfcMassMeasure .

:weightsData_IfcRationalBSplineCurveWithKnots
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRationalBSplineCurveWithKnots ;
    rdfs:label "WeightsData" ;
    rdfs:range :IfcReal_List .

:weightsData_IfcRationalBSplineSurfaceWithKnots
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRationalBSplineSurfaceWithKnots ;
    rdfs:label "WeightsData" ;
    rdfs:range :IfcReal_List_List .

:width_IfcCShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcCShapeProfileDef ;
    rdfs:label "Width" ;
    rdfs:range :IfcPositiveLengthMeasure .

:width_IfcLShapeProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcLShapeProfileDef ;
    rdfs:label "Width" ;
    rdfs:range :IfcPositiveLengthMeasure .

:width_IfcPixelTexture
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcPixelTexture ;
    rdfs:label "Width" ;
    rdfs:range :IfcInteger .

:wordSpacing_IfcTextStyleTextModel
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTextStyleTextModel ;
    rdfs:label "WordSpacing" ;
    rdfs:range :IfcSizeSelect .

:workMethod_IfcTask
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTask ;
    rdfs:label "WorkMethod" ;
    rdfs:range :IfcLabel .

:workMethod_IfcTaskType
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTaskType ;
    rdfs:label "WorkMethod" ;
    rdfs:range :IfcLabel .

:workingTimes_IfcWorkCalendar
    a owl:ObjectProperty ;
    rdfs:domain :IfcWorkCalendar ;
    rdfs:label "WorkingTimes" ;
    rdfs:range :IfcWorkTime .

:worldCoordinateSystem_IfcGeometricRepresentationContext
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcGeometricRepresentationContext ;
    rdfs:label "WorldCoordinateSystem" ;
    rdfs:range :IfcAxis2Placement .

:xAxisAbscissa_IfcMapConversion
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMapConversion ;
    rdfs:label "XAxisAbscissa" ;
    rdfs:range :IfcReal .

:xAxisOrdinate_IfcMapConversion
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcMapConversion ;
    rdfs:label "XAxisOrdinate" ;
    rdfs:range :IfcReal .

:xDim_IfcBoundingBox
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBoundingBox ;
    rdfs:label "XDim" ;
    rdfs:range :IfcPositiveLengthMeasure .

:xDim_IfcRectangleProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRectangleProfileDef ;
    rdfs:label "XDim" ;
    rdfs:range :IfcPositiveLengthMeasure .

:xLength_IfcBlock
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBlock ;
    rdfs:label "XLength" ;
    rdfs:range :IfcPositiveLengthMeasure .

:xLength_IfcRectangularPyramid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRectangularPyramid ;
    rdfs:label "XLength" ;
    rdfs:range :IfcPositiveLengthMeasure .

:yDim_IfcBoundingBox
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBoundingBox ;
    rdfs:label "YDim" ;
    rdfs:range :IfcPositiveLengthMeasure .

:yDim_IfcRectangleProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRectangleProfileDef ;
    rdfs:label "YDim" ;
    rdfs:range :IfcPositiveLengthMeasure .

:yDim_IfcTrapeziumProfileDef
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcTrapeziumProfileDef ;
    rdfs:label "YDim" ;
    rdfs:range :IfcPositiveLengthMeasure .

:yLength_IfcBlock
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBlock ;
    rdfs:label "YLength" ;
    rdfs:range :IfcPositiveLengthMeasure .

:yLength_IfcRectangularPyramid
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcRectangularPyramid ;
    rdfs:label "YLength" ;
    rdfs:range :IfcPositiveLengthMeasure .

:zDim_IfcBoundingBox
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBoundingBox ;
    rdfs:label "ZDim" ;
    rdfs:range :IfcPositiveLengthMeasure .

:zLength_IfcBlock
    a owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:domain :IfcBlock ;
    rdfs:label "ZLength" ;
    rdfs:range :IfcPositiveLengthMeasure .

