Skip to content

Instantly share code, notes, and snippets.

@gtfierro
Last active September 3, 2023 09:20
Show Gist options
  • Save gtfierro/c7aa9817d41ce956fbfeb71622f8cad8 to your computer and use it in GitHub Desktop.
Save gtfierro/c7aa9817d41ce956fbfeb71622f8cad8 to your computer and use it in GitHub Desktop.
Building Models for Energies
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix tag: <https://brickschema.org/schema/1.1/BrickTag#> .
@prefix unit: <http://qudt.org/vocab/unit/> .
@prefix bot: <https://w3c-lbd-cg.github.io/> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix ssn: <http://www.w3.org/ns/ssn/> .
@prefix ex: <urn:bot#> .
# using best practices from https://www.researchgate.net/publication/325644558_The_Modular_SSN_Ontology_A_Joint_W3C_and_OGC_Standard_Specifying_the_Semantics_of_Sensors_Observations_Sampling_and_Actuation/citation/download
ex:Site a bot:Site ;
bot:hasBuilding ex:Building ;
.
ex:Building a bot:Building ;
bot:hasSorey ex:Floor ;
.
ex:Floor a bot:Storey ;
bot:containsZone ex:HVAC_Zone_1, ex:HVAC_Zone_2, ex:Lighting_Zone_OO1, ex:Lighting_Zone_OO2,
ex:Lighting_Zone_Bathroom, ex:Lighting_Zone_PO, ex:Lighting_Zone_Kitchenette,
ex:Lighting_Zone_Corridor ;
bot:hasSpace ex:Open_Office, ex:Bathroom, ex:Private_Office, ex:Kitchenette, ex:Corridor ;
.
ex:HVAC_Zone_1 a bot:Space ;
bot:hasSpace ex:Open_Office, ex:Bathroom, ex:Corridor, ex:Private_Office ;
bot:adjacentZone ex:HVAC_Zone_2 ;
.
ex:HVAC_Zone_2 a bot:Space ;
bot:hasSpace ex:Kitchenette, ex:Corridor ;
bot:adjacentZone ex:HVAC_Zone_1 ;
.
# graph-specific, so not generally usable
ex:Illuminance a sosa:ObservableProperty ;
ssn:isPropertyOf ex:Open_Office, ex:Bathroom, ex:Private_Office, ex:Kitchenette, ex:Corridor ;
.
ex:VAVDamperPostition a sosa:ActuatableProperty .
ex:SupplyFanFrequency a sosa:ActuatableProperty .
ex:ReturnFanFrequency a sosa:ActuatableProperty .
ex:ExhaustFanFrequency a sosa:ActuatableProperty .
ex:HeatingCoilValvePosition a sosa:ActuatableProperty .
ex:CoolingCoilValvePosition a sosa:ActuatableProperty .
ex:ExhaustDamperPostition a sosa:ActuatableProperty .
ex:MixedAirDamperPostition a sosa:ActuatableProperty .
ex:OutsideDamperPostition a sosa:ActuatableProperty .
ex:SupplyAirFlow a sosa:ObservableProperty .
ex:ReturnAirFlow a sosa:ObservableProperty .
ex:SupplyAirTemperature a sosa:ObservableProperty .
ex:OutsideAirTemperature a sosa:ObservableProperty .
ex:MixedAirTemperature a sosa:ObservableProperty .
ex:ReturnAirTemperature a sosa:ObservableProperty .
ex:SupplyAirFlowSensor a sosa:Sensor ;
sosa:observes ex:SupplyAirFlow ;
.
ex:ReturnAirFlowSensor a sosa:Sensor ;
sosa:observes ex:ReturnAirFlow ;
.
ex:SupplyAirTemperatureSensor a sosa:Sensor ;
sosa:observes ex:SupplyAirTemperature ;
.
ex:OutsideAirTemperatureSensor a sosa:Sensor ;
sosa:observes ex:OutsideAirTemperature ;
.
ex:MixedAirTemperatureSensor a sosa:Sensor ;
sosa:observes ex:MixedAirTemperature ;
.
ex:ReturnAirTemperatureSensor a sosa:Sensor ;
sosa:observes ex:ReturnAirTemperature ;
.
ex:SupplyAirTemperatureSetpoint a sosa:ActuatableProperty .
ex:SupplyAirFlowSetpoint a sosa:ActuatableProperty .
# While this follows the practice laid out in the paper, it does not
# allow for describing *which* illuminance is being observed. One alternative
# would be to have different ObservableProperty for each room, e.g.
# ex:OpenOfficeIlluminance a sosa:ObservableProperty
ex:OO_Lighting_1_Sensor a sosa:Sensor ;
sosa:observes ex:Illuminance ;
.
ex:OO_Lighting_2_Sensor a sosa:Sensor ;
sosa:observes ex:Illuminance ;
.
ex:Bathroom_Lighting_Sensor a sosa:Sensor ;
sosa:observes ex:Illuminance ;
.
ex:Private_Office_Lighting_Sensor a sosa:Sensor ;
sosa:observes ex:Illuminance ;
.
ex:Kitchenette_Lighting_Sensor a sosa:Sensor ;
sosa:observes ex:Illuminance ;
.
ex:Corridor_Lighting_Sensor a sosa:Sensor ;
sosa:observes ex:Illuminance ;
.
ex:Lighting_Zone_OO1 a bot:Space ;
bot:adjacentZone ex:Lighting_Zone_OO2 ;
.
ex:Lighting_Zone_OO2 a bot:Space ;
bot:adjacentZone ex:Lighting_Zone_OO1 ;
.
ex:Lighting_Zone_Bathroom a bot:Space ;
bot:adjacentZone ex:Lighting_Zone_Corridor ;
.
ex:Lighting_Zone_PO a bot:Space ;
bot:adjacentZone ex:Lighting_Zone_Corridor ;
.
ex:Lighting_Zone_Kitchenette a bot:Space ;
bot:adjacentZone ex:Lighting_Zone_Corridor ;
.
ex:Lighting_Zone_Corridor a bot:Space .
ex:Open_Office a bot:Space ;
bot:hasSpace ex:Lighting_Zone_OO2, ex:Lighting_Zone_OO2 ;
.
ex:Bathroom a bot:Space ;
bot:hasSpace ex:Lighting_Zone_Bathroom ;
.
ex:Private_Office a bot:Space ;
bot:hasSpace ex:Lighting_Zone_PO ;
.
ex:Kitchenette a bot:Space ;
bot:hasSpace ex:Lighting_Zone_Kitchenette ;
.
ex:Corridor a brick:Space ;
bot:hasSpace ex:Lighting_Zone_Corridor ;
.
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix tag: <https://brickschema.org/schema/1.1/BrickTag#> .
@prefix unit: <http://qudt.org/vocab/unit/> .
@prefix bot: <https://w3c-lbd-cg.github.io/> .
@prefix ex: <urn:bot#> .
ex:Site a bot:Site ;
bot:hasBuilding ex:Building ;
.
ex:Building a bot:Building ;
bot:hasSorey ex:Floor ;
.
ex:Floor a bot:Storey ;
bot:containsZone ex:HVAC_Zone_1, ex:HVAC_Zone_2, ex:Lighting_Zone_OO1, ex:Lighting_Zone_OO2,
ex:Lighting_Zone_Bathroom, ex:Lighting_Zone_PO, ex:Lighting_Zone_Kitchenette,
ex:Lighting_Zone_Corridor ;
bot:hasSpace ex:Open_Office, ex:Bathroom, ex:Private_Office, ex:Kitchenette, ex:Corridor ;
.
ex:HVAC_Zone_1 a bot:Space ;
bot:hasSpace ex:Open_Office, ex:Bathroom, ex:Corridor, ex:Private_Office ;
bot:adjacentZone ex:HVAC_Zone_2 ;
.
ex:HVAC_Zone_2 a bot:Space ;
bot:hasSpace ex:Kitchenette, ex:Corridor ;
bot:adjacentZone ex:HVAC_Zone_1 ;
.
ex:Lighting_Zone_OO1 a bot:Space ;
bot:adjacentZone ex:Lighting_Zone_OO2 ;
.
ex:Lighting_Zone_OO2 a bot:Space ;
bot:adjacentZone ex:Lighting_Zone_OO1 ;
.
ex:Lighting_Zone_Bathroom a bot:Space ;
bot:adjacentZone ex:Lighting_Zone_Corridor ;
.
ex:Lighting_Zone_PO a bot:Space ;
bot:adjacentZone ex:Lighting_Zone_Corridor ;
.
ex:Lighting_Zone_Kitchenette a bot:Space ;
bot:adjacentZone ex:Lighting_Zone_Corridor ;
.
ex:Lighting_Zone_Corridor a bot:Space .
ex:Open_Office a bot:Space ;
bot:hasSpace ex:Lighting_Zone_OO2, ex:Lighting_Zone_OO2 ;
.
ex:Bathroom a bot:Space ;
bot:hasSpace ex:Lighting_Zone_Bathroom ;
.
ex:Private_Office a bot:Space ;
bot:hasSpace ex:Lighting_Zone_PO ;
.
ex:Kitchenette a bot:Space ;
bot:hasSpace ex:Lighting_Zone_Kitchenette ;
.
ex:Corridor a brick:Space ;
bot:hasSpace ex:Lighting_Zone_Corridor ;
.
@prefix brick: <https://brickschema.org/schema/1.1/Brick#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix tag: <https://brickschema.org/schema/1.1/BrickTag#> .
@prefix unit: <http://qudt.org/vocab/unit/> .
@prefix ex: <urn:brick#> .
# Spatial elements
ex:Site a brick:Site ;
brick:hasPart ex:Building ;
.
ex:Building a brick:Building ;
brick:hasPart ex:Floor ;
.
ex:Floor a brick:Floor ;
brick:hasPart ex:HVAC_Zone_1, ex:HVAC_Zone_2, ex:Open_Office,
ex:Bathroom, ex:Private_Office, ex:Kitchenette, ex:Corridor,
ex:Lighting_Zone_OO1, ex:Lighting_Zone_OO2, ex:Lighting_Zone_Bathroom,
ex:Lighting_Zone_PO, ex:Lighting_Zone_Kitchenette, ex:Lighting_Zone_Corridor ;
.
ex:Open_Office a brick:Room .
ex:Bathroom a brick:Room .
ex:Private_Office a brick:Room .
ex:Kitchenette a brick:Room .
ex:Corridor a brick:Space .
ex:HVAC_Zone_1 a brick:HVAC_Zone ;
brick:hasPart ex:Open_Office, ex:Bathroom, ex:Corridor, ex:Private_Office ;
.
ex:HVAC_Zone_2 a brick:HVAC_Zone ;
brick:hasPart ex:Kitchenette, ex:Corridor ;
.
# Lighting elements
ex:OO_Lighting_1_Sensor a brick:Illuminance_Sensor .
ex:OO_Lighting_2_Sensor a brick:Illuminance_Sensor .
ex:Bathroom_Lighting_Sensor a brick:Illuminance_Sensor .
ex:Private_Office_Lighting_Sensor a brick:Illuminance_Sensor .
ex:Kitchenette_Lighting_Sensor a brick:Illuminance_Sensor .
ex:Corridor_Lighting_Sensor a brick:Illuminance_Sensor .
ex:OO_Lighting_1 a brick:Luminaire ;
brick:hasPoint ex:OO_Lighting_1_Sensor ;
.
ex:OO_Lighting_2 a brick:Luminaire ;
brick:hasPoint ex:OO_Lighting_2_Sensor ;
.
ex:Bathroom_Lighting a brick:Luminaire ;
brick:hasPoint ex:Bathroom_Lighting_Sensor ;
.
ex:Private_Office_Lighting a brick:Luminaire ;
brick:hasPoint ex:Private_Office_Lighting_Sensor ;
.
ex:Kitchenette_Lighting a brick:Luminaire ;
brick:hasPoint ex:Kitchenette_Lighting_Sensor ;
.
ex:Corridor_Lighting a brick:Luminaire ;
brick:hasPoint ex:Corridor_Lighting_Sensor ;
.
ex:Lighting_Zone_OO1 a brick:Lighting_Zone ;
brick:isFedBy ex:OO_Lighting_1 ;
brick:isPartOf ex:Open_Office ;
.
ex:Lighting_Zone_OO2 a brick:Lighting_Zone ;
brick:isFedBy ex:OO_Lighting_2 ;
brick:isPartOf ex:Open_Office ;
.
ex:Lighting_Zone_Bathroom a brick:Lighting_Zone ;
brick:isFedBy ex:Bathroom_Lighting ;
brick:isPartOf ex:Bathroom ;
.
ex:Lighting_Zone_Private_Office a brick:Lighting_Zone ;
brick:isFedBy ex:Private_Office_Lighting ;
brick:isPartOf ex:Private_Office ;
.
ex:Lighting_Zone_Kitchenette a brick:Lighting_Zone ;
brick:isFedBy ex:Kitchenette_Lighting ;
brick:isPartOf ex:Kitchenette ;
.
ex:Lighting_Zone_Corridor a brick:Lighting_Zone ;
brick:isFedBy ex:Corridor_Lighting ;
brick:isPartOf ex:Corridor ;
.
# VAVs
ex:VAV_Box_1 a brick:VAV ;
brick:hasPoint ex:SATS_1, ex:SATSP_1 ;
brick:hasPart ex:Damper_1, ex:Heating_Coil_1 ;
brick:feeds ex:HVAC_Zone_1 ;
.
ex:SATS_1 a brick:Supply_Air_Temperature_Sensor .
ex:SATSP_1 a brick:Supply_Air_Temperature_Setpoint .
ex:Damper_1 a brick:Damper ;
brick:hasPoint ex:Damper_1_Position ;
.
ex:Damper_1_Position a brick:Damper_Position_Command .
ex:Heating_Coil_1 a brick:Heating_Coil ;
brick:hasPart ex:Heating_Valve_1 ;
.
ex:Heating_Valve_1 a brick:Heating_Valve ;
brick:hasPoint ex:Valve_Command_1 ;
.
ex:Valve_Command_1 a brick:Valve_Command .
ex:VAV_Box_2 a brick:VAV ;
brick:hasPoint ex:SATS_2, ex:SATSP_2 ;
brick:hasPart ex:Damper_2, ex:Heating_Coil_2 ;
brick:feeds ex:HVAC_Zone_2 ;
.
ex:SATS_2 a brick:Supply_Air_Temperature_Sensor .
ex:SATSP_2 a brick:Supply_Air_Temperature_Setpoint .
ex:Damper_2 a brick:Damper ;
brick:hasPoint ex:Damper_2_Position ;
.
ex:Damper_2_Position a brick:Damper_Position_Command .
ex:Heating_Coil_2 a brick:Heating_Coil ;
brick:hasPart ex:Heating_Valve_2 ;
.
ex:Heating_Valve_2 a brick:Heating_Valve ;
brick:hasPoint ex:Valve_Command_2 ;
.
ex:Valve_Command_2 a brick:Valve_Command .
ex:Exhaust_Fan_1 a brick:Exhaust_Fan ;
brick:isFedBy ex:Bathroom ;
.
# AHU
ex:AHU a brick:AHU ;
brick:hasPart ex:Supply_Fan, ex:Return_Fan,
ex:Cooling_Coil, ex:Heating_Coil, ex:Filter,
ex:Outside_Damper, ex:Mixed_Damper, ex:Exhaust_Damper ;
brick:feeds ex:VAV_Box_1, ex:VAV_Box_2 ;
brick:isFedBy ex:HVAC_Zone_1 ;
brick:hasPoint ex:OATS, ex:RATS, ex:MATS, ex:SATS,
ex:pre_hc_temp, ex:pre_cc_temp,
ex:RAFS, ex:SAFS ;
.
ex:OATS a brick:Outside_Air_Temperature_Sensor .
ex:RATS a brick:Return_Air_Temperature_Sensor .
ex:MATS a brick:Mixed_Air_Temperature_Sensor .
ex:SATS a brick:Supply_Air_Temperature_Sensor .
ex:pre_hc_temp a brick:Temperature_Sensor .
ex:pre_cc_temp a brick:Temperature_Sensor .
ex:SAFS a brick:Supply_Air_Flow_Sensor .
ex:RAFS a brick:Return_Air_Flow_Sensor .
ex:Supply_Fan a brick:Supply_Fan ;
brick:hasPoint ex:SF_Speed ;
.
ex:SF_Speed a brick:Frequency_Command .
ex:Return_Fan a brick:Return_Fan ;
brick:hasPoint ex:SF_Speed ;
.
ex:RF_Speed a brick:Frequency_Command .
ex:Cooling_Coil a brick:Cooling_Coil ;
brick:hasPoint ex:CC_Valve ;
.
ex:CC_Valve a brick:Cooling_Valve ;
brick:hasPoint ex:CC_Valve_CMD ;
.
ex:CC_Valve_CMD a brick:Valve_Command ;
.
ex:Heating_Coil a brick:Heating_Coil ;
brick:hasPoint ex:HC_Valve ;
.
ex:HC_Valve a brick:Heating_Valve ;
brick:hasPoint ex:HC_Valve_CMD ;
.
ex:HC_Valve_CMD a brick:Valve_Command ;
.
ex:Filter a brick:Filter .
ex:Outside_Damper a brick:Damper ;
brick:hasPoint ex:Outside_Damper_Command ;
.
ex:Outside_Damper_Command a brick:Damper_Position_Command .
ex:Mixed_Damper a brick:Damper ;
brick:hasPoint ex:Mixed_Damper_Command ;
.
ex:Mixed_Damper_Command a brick:Damper_Position_Command .
ex:Exhaust_Damper a brick:Damper ;
brick:hasPoint ex:Exhaust_Damper_Command ;
.
ex:Exhaust_Damper_Command a brick:Damper_Position_Command .
# controller
ex:Controller a brick:Controller ;
brick:controls ex:RF_Speed ;
brick:hasInput ex:RAFS ;
.
# internal topology of AHU
ex:RATS brick:feeds ex:Return_Fan .
ex:Return_Fan brick:feeds ex:RAFS .
ex:RAFS brick:feeds ex:Exhaust_Damper, ex:Mixed_Damper .
ex:Mixed_Damper brick:feeds ex:MATS .
ex:Outside_Damper brick:feeds ex:MATS .
ex:MATS brick:feeds ex:Filter .
ex:Filter brick:feeds ex:pre_hc_temp .
ex:pre_hc_temp brick:feeds ex:Heating_Coil .
ex:Heating_Coil brick:feeds ex:pre_cc_temp .
ex:pre_cc_temp brick:feeds ex:Cooling_Coil .
ex:Cooling_Coil brick:feeds ex:SATS .
ex:SATS brick:feeds ex:Supply_Fan .
ex:Supply_Fan brick:feeds ex:SAFS .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix tag: <https://brickschema.org/schema/1.1/BrickTag#> .
@prefix unit: <http://qudt.org/vocab/unit/> .
@prefix core: <https://w3id.org/rec/core> .
@prefix bldg: <https://w3id.org/rec/building> .
@prefix dev: <https://w3id.org/rec/device> .
@prefix ex: <urn:rec#> .
# spatial components
ex:Site a core:RealEstate ;
core:hasRealEstatecomponent ex:Building ;
.
ex:Building a core:Building ;
core:hasBuildingComponent ex:Open_Office, ex:Bathroom, ex:Private_Office, ex:Kitchenette, ex:Corridor ;
.
ex:Open_Office a core:Room ;
core:hasType bldg:Office ;
.
ex:Bathroom a core:Room ;
core:hasType bldg:Bathroom ;
.
ex:Private_Office a core:Room ;
core:hasType bldg:Office ;
.
ex:Kitchenette a core:Room ;
core:hasType bldg:DishingRoom, bldg:CookingRoom ;
.
ex:Corridor a core:Room ;
core:hasType bldg:Hallway ;
.
# TODO: zones?
ex:HVAC_Zone_1 a bldg:VirtualBuildingComponent ;
core:hasBuildingComponent ex:Open_Office, ex:Bathroom, ex:Corridor, ex:Private_Office ;
.
ex:HVAC_Zone_2 a bldg:VirtualBuildingComponent ;
core:hasBuildingComponent ex:Kitchenette, ex:Corridor ;
.
# VAVs:
ex:VAV_Box_1 a core:Device ;
core:hasSubDevice ex:Damper_1, ex:Heating_Coil_1 ;
core:servesBuildingComponent ex:HVAC_Zone_1 ;
.
ex:Damper_1 a core:Device ;
dev:hasDeviceFunctionType dev:Damper ;
core:hasPlacementContext dev:SupplyAir ;
.
ex:Heating_Coil_1 a core:Device ;
core:hasType dev:Coil ;
dev:hasPlacementContext dev:HotWaterFlow, dev:SupplyAir ;
.
ex:VAV_Box_2 a core:Device ;
core:hasSubDevice ex:Damper_2, ex:Heating_Coil_2 ;
core:servesBuildingComponent ex:HVAC_Zone_2 ;
.
ex:Damper_2 a core:Device ;
core:hasType dev:Damper ;
core:hasPlacementContext dev:SupplyAir ;
.
ex:Heating_Coil_2 a core:Device ;
dev:hasDeviceFunctionType dev:Coil ;
dev:hasPlacementContext dev:HotWaterFlow, dev:SupplyAir ;
.
# AHU
ex:AHU a core:Device ;
dev:hasDeviceFunctionType dev:AirHandlingUnit ;
core:servesDevice ex:VAV_Box_1, ex:VAV_Box_2 ;
core:hasSubDevice ex:Supply_Fan, ex:Return_Fan,
ex:Cooling_Coil, ex:Heating_Coil, ex:Filter,
ex:Outside_Damper, ex:Mixed_Damper, ex:Exhaust_Damper ;
.
ex:Supply_Fan a core:Device ;
dev:hasDeviceFunctionType dev:Fan ;
core:hasPlacementContext dev:SupplyAir ;
.
ex:Return_Fan a core:Device ;
dev:hasDeviceFunctionType dev:Fan ;
# no return air in REC
# core:hasPlacementContext dev:ReturnAir ;
.
ex:Cooling_Coil a core:Device ;
dev:hasDeviceFunctionType dev:Coil ;
dev:hasPlacementContext dev:PrimaryCoolingFlow, dev:SupplyAir ;
.
ex:Heating_Coil a core:Device ;
dev:hasDeviceFunctionType dev:Coil ;
dev:hasPlacementContext dev:PrimaryHeatingFlow, dev:SupplyAir ;
.
ex:Filter a core:Device ;
dev:hasDeviceFunctionType dev:Filter ;
# circulation isn't quite mixed
dev:hasPlacementContext dev:CirculationAir ;
.
ex:Outside_Damper a core:Device ;
core:hasType dev:Damper ;
core:hasPlacementContext dev:OutdoorAir ;
.
# circulation isn't quite mixed
ex:Mixed_Damper a core:Device ;
core:hasType dev:Damper ;
core:hasPlacementContext dev:CirculationAir ;
.
ex:Exhaust_Damper a core:Device ;
core:hasType dev:Damper ;
core:hasPlacementContext dev:ExhaustAir ;
.
# internal topology
ex:Return_Fan core:servesDevice ex:Exhaust_Damper, ex:Mixed_Damper .
ex:Mixed_Damper core:servesDevice ex:Filter .
ex:Outside_Damper core:servesDevice ex:Filter .
ex:Filter core:servesDevice ex:Heating_Coil .
ex:Heating_Coil core:servesDevice ex:Cooling_Coil .
ex:Cooling_Coil core:servesDevice ex:Supply_Fan .
ex:Supply_Fan core:servesDevice ex:VAV_Box_1, ex:VAV_Box_2 .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix tag: <https://brickschema.org/schema/1.1/BrickTag#> .
@prefix unit: <http://qudt.org/vocab/unit/> .
@prefix sarefcore: <https://saref.etsi.org/core/> .
@prefix s4syst: <https://saref.etsi.org/saref4syst/> .
@prefix s4bldg: <https://saref.etsi.org/saref4bldg/> .
@prefix ex: <urn:saref#> .
ex:Building a s4bldg:Building ;
s4bldg:hasSpace ex:Floor ;
.
ex:Floor a s4bldg:BuildingSpace ;
s4bldg:hasSpace ex:HVAC_Zone_1, ex:HVAC_Zone_2, ex:Open_Office,
ex:Bathroom, ex:Private_Office, ex:Kitchenette, ex:Corridor,
ex:Lighting_Zone_OO1, ex:Lighting_Zone_OO2, ex:Lighting_Zone_Bathroom,
ex:Lighting_Zone_PO, ex:Lighting_Zone_Kitchenette, ex:Lighting_Zone_Corridor ;
.
ex:Open_Office a s4bldg:BuildingSpace .
ex:Bathroom a s4bldg:BuildingSpace .
ex:Private_Office a s4bldg:BuildingSpace .
ex:Kitchenette a s4bldg:BuildingSpace .
ex:Corridor a s4bldg:BuildingSpace .
ex:HVAC_Zone_1 a s4bldg:BuildingSpace ;
s4bldg:hasSpace ex:Open_Office, ex:Bathroom, ex:Corridor, ex:Private_Office ;
.
ex:Window_1 a s4bldg:ShadingDevice ;
s4bldg:shadingDeviceType "window" ;
s4bldg:isContainedIn ex:HVAC_Zone_1 ;
.
ex:Window_2 a s4bldg:ShadingDevice ;
s4bldg:shadingDeviceType "window" ;
s4bldg:isContainedIn ex:HVAC_Zone_1 ;
.
ex:HVAC_Zone_2 a s4bldg:BuildingSpace ;
s4bldg:hasSpace ex:Kitchenette, ex:Corridor ;
.
# lighting
ex:OO_Lighting_1 a s4bldg:Lamp .
ex:OO_Lighting_2 a s4bldg:Lamp .
ex:Bathroom_Lighting a s4bldg:Lamp .
ex:Private_Office_Lighting a s4bldg:Lamp .
ex:Kitchenette_Lighting a s4bldg:Lamp .
ex:Corridor_Lighting a s4bldg:Lamp .
# VAVs: there is no way in s4bldg to put one device "inside" another
ex:VAV_Box_1 a s4bldg:FlowTerminal .
ex:SATS_1 a sarefcore:TemperatureSensor .
ex:Damper_1 a s4bldg:Damper .
ex:Damper_1_Position a s4bldg:Actuator .
ex:Heating_Coil_1 a s4bldg:Coil .
ex:Valve_Command_1 a s4bldg:Actuator .
ex:VAV_Box_2 a s4bldg:FlowTerminal .
ex:SATS_2 a sarefcore:TemperatureSensor .
ex:Damper_2 a s4bldg:Damper .
ex:Damper_2_Position a s4bldg:Actuator .
ex:Heating_Coil_2 a s4bldg:Coil .
ex:Valve_Command_2 a s4bldg:Actuator .
ex:Exhaust_Fan_1 a s4bldg:Fan .
# AHU
ex:AHU a s4bldg:DistributionFlowDevice .
ex:Return_Fan a s4bldg:Fan .
ex:Supply_Fan a s4bldg:Fan .
ex:Filter a s4bldg:Filter .
ex:Outside_Damper a s4bldg:Damper .
ex:Mixed_Damper a s4bldg:Damper .
ex:Exhaust_Damper a s4bldg:Damper .
ex:Heating_Coil a s4bldg:Coil .
ex:Cooling_Coil a s4bldg:Coil .
ex:OATS a sarefcore:TemperatureSensor .
ex:RATS a sarefcore:TemperatureSensor .
ex:MATS a sarefcore:TemperatureSensor .
ex:SATS a sarefcore:TemperatureSensor .
ex:SF_Speed a s4bldg:Actuator .
ex:RF_Speed a s4bldg:Actuator .
ex:CC_Valve_CMD a s4bldg:Actuator .
ex:HC_Valve_CMD a s4bldg:Actuator .
ex:Controller a s4bldg:DistributionControlDevice .
@pained
Copy link

pained commented Mar 30, 2021

Adding the building model Marco created that forms the basis of these TTL files.
MarcoBuildingModel

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment