Thank you for your help,
<ui:inputSelect aura:id="buildingList" change="{!c.onBuildingSelection}">
<ui:inputSelectOption label="Please Select a building"/>
<aura:iteration items="{!v.buildings}" var="building">
<ui:inputSelectOption label="{!building.Name}" text="{!building.Id}" />
</aura:iteration>
</ui:inputSelect>
<ui:inputSelect aura:id="inspectionList" change="{!c.onInspectionSelection}">
<ui:inputSelectOption label="Please Select an Inspection"/>
<aura:iteration items="{!v.inspections}" var="inspection">
<ui:inputSelectOption label="{!inspection.Name}" text="{!inspection.id}"/>
</aura:iteration>
</ui:inputSelect>
<ui:inputSelect aura:id="spaceList">
<ui:inputSelectOption label="Please Select a Space"/>
<aura:iteration items="{!v.spaces}" var="space">
<ui:inputSelectOption label="{!space}"/>
</aura:iteration>
</ui:inputSelect>
They do, Inspections and Spaces are child objects of building. so when you select a building the inspection and space lists are populated.So I think I got it to work by moving my <ui:inputSelectOption label="please select"/> after my aura:iteration