This is a modeling construct. Instances of abstract classes cannot be created. All abstract classes in this standard have a more specific subclass.
This is a modeling construct. All classes defined in the 223 standard are instances of `Class`.
A `Class` shall be associated with at least one label using the relation `rdfs:label`.
s223: A `Class` shall be associated with at least one label using the relation `rdfs:label`.
All classes and relations defined in the 223 standard are subclasses of `Concept`.
Incompatible Medium. Case1: An entity with a pure medium and an associated `Property` with a different pure medium.
Incompatible Medium. Case 1: Two pure mediums.
s223: {$this} `hasMedium` of {?m1}, but is associated with `Property` {?prop} that has `ofMedium` of {?m2}.
SELECT $this ?m1 ?prop ?m2 WHERE { $this s223:hasMedium ?m1 . $this ?p ?prop . ?prop a/rdfs:subClassOf* s223:Property . ?prop s223:ofMedium ?m2 . FILTER (?m1 != ?m2 ) . FILTER NOT EXISTS {?m1 s223:composedOf ?c1} . FILTER NOT EXISTS {?m2 s223:composedOf ?c2} FILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) . FILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) . }
Incompatible Medium. Case3: An entity with constituents and an associated `Property` with a pure medium.
Incompatible Medium. Case 3: A medium with constituents and an associated `Property` with a pure medium.
s223: {$this} `hasMedium` of {?m2}, but is associated with `Property` {?prop} that has `ofMedium` of {?m1}.
SELECT $this ?m1 ?prop ?m2 WHERE { $this s223:hasMedium ?m2 . $this ?p ?prop . ?prop a/rdfs:subClassOf* s223:Property . ?prop s223:ofMedium ?m1 . ?m2 s223:composedOf/s223:ofConstituent ?s2 . FILTER NOT EXISTS {?m1 s223:composedOf ?c1} . FILTER NOT EXISTS { ?m2 s223:composedOf/s223:ofConstituent ?s12 . {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} . } }
A `Concept` shall be associated with zero or more `Property`s using the relation `hasProperty`.
s223: A `Concept` shall be associated with zero or more `Property`s using the relation `hasProperty`.
Incompatible Medium. Case2: An entity with a pure medium and an associated `Property` with constituents.
Incompatible Medium. Case 2: A pure medium and an associated `Property` with constituents.
SELECT $this ?m1 ?prop ?m2 WHERE { $this s223:hasMedium ?m1 . $this ?p ?prop . ?prop a/rdfs:subClassOf* s223:Property . ?prop s223:ofMedium ?m2 . ?m2 s223:composedOf/s223:ofConstituent ?s2 . FILTER NOT EXISTS {?m1 s223:composedOf ?c1} . FILTER NOT EXISTS { ?m2 s223:composedOf/s223:ofConstituent ?s12 . {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} . } }
Incompatible Medium. Case4: An entity with constituents and an associated `Property` with constituents.
Incompatible Medium. Case 4: A medium with constituents and an associated `Property` with constituents.
SELECT $this ?m1 ?prop ?m2 WHERE { $this s223:hasMedium ?m1 . $this ?p ?prop . ?prop a/rdfs:subClassOf* s223:Property . ?prop s223:ofMedium ?m2 . ?m1 s223:composedOf/s223:ofConstituent ?s1 . ?m2 s223:composedOf/s223:ofConstituent ?s2 . FILTER NOT EXISTS { ?m1 s223:composedOf/s223:ofConstituent ?s11 . ?m2 s223:composedOf/s223:ofConstituent ?s12 . FILTER (?s11 = ?s12) . } FILTER NOT EXISTS { ?m1 s223:composedOf/s223:ofConstituent ?s21 . ?m2 s223:composedOf/s223:ofConstituent ?s22 . {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} . } }
A `Relation` associates the subject and the object in an RDF triple, the *predicate* portion of a *(subject, predicate, object)* triple.
A `Relation` shall be associated with at least one label using the relation `rdfs:label`.
s223: A `Relation` shall be associated with at least one label using the relation `rdfs:label`.
An `RelationWithInverse` is modeling construct used to define symmetric behavior for certain relations in the standard such as `connectedTo` and `connectedFrom`.
A `RelationWithInverse` shall be associated with exactly one other `RelationWithInverse` using the relation `inverseOf`.
s223: A `RelationWithInverse` shall be associated with exactly one other `RelationWithInverse` using the relation `inverseOf`.
A modeling construct used to define symmetric behavior for certain relations in the standard such as `cnx`, `connected`, and `pairedConnectionPoint`.
A cooling coil with a connected chilled water valve.
The ChilledWaterCoil shall be connected to a ChilledWaterValve using the relation connectedTo.
A valve that controls the flow of chilled water through a chilled water coil.
A damper with an analog or two binary position command properties.
An electrical heating element with an analog heating command.
An electric heating coil shall have at least one analog heating command property using a relation hasProperty.
g36: An electric heating coil shall have at least one analog heating command property using a relation hasProperty.
A Fan shall have at least one Start/Stop command using the relation hasProperty.
g36: A Fan shall have at least one Start/Stop command using the relation hasProperty.
A fan with VFD shall have at least one fan speed command using the relation hasProperty.
g36: A fan with VFD shall have at least one fan speed command using the relation hasProperty.
A hot water coil connected to a control valve.
The HotWaterCoil shall be connected to a HotWaterValve using the relation connectedTo.
g36: The HotWaterCoil shall be connected to a HotWaterValve using the relation connectedTo.
A valve that controls the flow of hot water through a hot water coil.
A damper that can take two positions: fully open and fully closed.
A Two Position Damper shall have at least one open-and-close damper command property using the relation hasProperty.
g36: A Two Position Damper shall have at least one open-and-close damper command property using the relation hasProperty.
A thermal zone with the points required for Guideline 36 control sequences. It is a collection of s223:DomainSpace instances.
A Zone shall have at least one Domain-HVAC using the relation hasDomain.
g36: A Zone shall have at least one Domain-HVAC using the relation hasDomain.
A Zone shall have at least a zone CO2 concentration property using the relation hasProperty, if applicable control is used.
g36: A Zone shall have at least a zone CO2 concentration property using the relation hasProperty, if applicable control is used.
A Zone shall have at least one binary zone occupancy property using the relation hasProperty
g36: A Zone shall have at least one binary zone occupancy property using the relation hasProperty
A Zone shall have a zone temperature setpoint adjustment property using the relation hasProperty, if applicable.
g36: A Zone shall have a zone temperature setpoint adjustment property using the relation hasProperty, if applicable.
A Zone shall have at least one window switch on-off property using the relation hasProperty.
g36: A Zone shall have at least one window switch on-off property using the relation hasProperty.
A ZoneGroup is a grouping of zones that may be scheduled together. Zone groupings must be assigned based on rules in Clause 3.1.3 of Guideline 36.
A ZoneGroup shall contain at least one Zone using the relation contains.
g36: A ZoneGroup shall contain at least one Zone using the relation contains.
A ZoneGroup shall have the Domain HVAC using the relation hasDomain.
g36: A ZoneGroup shall have the Domain HVAC using the relation hasDomain.
s223: {$this} cannot be declared an instance of only {?c}, which is an abstract class.
SELECT $this ?c WHERE { $this a ?c . ?c a s223:AbstractClass . FILTER NOT EXISTS { $this a ?nonAbs . ?nonAbs rdfs:subClassOf+ ?c . FILTER NOT EXISTS { ?nonAbs a s223:AbstractClass } } }
An `ActuatableProperty` normally is referred to by `Equipment` using the relation `actuatedByProperty`.
s223: An `ActuatableProperty` normally is referred to by `Equipment` using the relation `actuatedByProperty`.
A piece of `Equipment` that receives control signals and electrically, pneumatically, or hydraulically makes changes in the physical world, such as the position of a valve or damper.
An `Actuator` shall be associated with zero or more pieces of `Equipment` using the relation `actuates`.
s223: An `Actuator` shall be associated with zero or more pieces of `Equipment` using the relation `actuates`.
An `Actuator` shall be associated with at least one `ActuatableProperty` using the relation `actuatedByProperty`.
s223: An `Actuator` shall be associated with at least one `ActuatableProperty` using the relation `actuatedByProperty`.
A piece of `Equipment` consisting of a fan or fans and other equipment necessary to perform one or more of the following functions: circulating, filtration, heating, cooling, heat recovery, humidifying, dehumidifying, and mixing of air.
An `AirHandlingUnit` shall have at least one outlet using the medium `Fluid-Air`.
s223: An `AirHandlingUnit` shall have at least one outlet using the medium `Fluid-Air`.
An `AirHandlingUnit` shall have at least one inlet using the medium `Fluid-Air`.
s223: An `AirHandlingUnit` shall have at least one inlet using the medium `Fluid-Air`.
A `HeatPump` that transfers thermal energy between two bodies of air.
An `AirToAirHeatPump` shall have at least two inlets using the medium `Fluid-Air`.
s223: An `AirToAirHeatPump` shall have at least two inlets using the medium `Fluid-Air`.
An `AirToAirHeatPump` shall have at least two outlets using the medium `Fluid-Air`.
s223: An `AirToAirHeatPump` shall have at least two outlets using the medium `Fluid-Air`.
A `BACnetExternalReferenceShape` shall be associated with at most one BACnet device identifier using the relation `bacnet:device-identifier`.
A `BACnetExternalReferenceShape` shall be associated with at most one string value using the relation `bacnet:property-identifier`. The string value shall be either a decimal number or exactly equal to the ASHRAE 135-2024 Clause 21 identifier text of BACnetPropertyIdentifier. If it is omitted, it defaults to "present-value", except for BACnet File objects, where absence of `bacnet:property-identifier` refers to the entire content of the file accessed with Stream Access.
A `BACnetExternalReferenceShape` shall be associated with at most one index for reading items from a BACnet property that is an array using the relation `bacnet:property-array-index`.
A `BACnetExternalReferenceShape` shall be associated with at most one BACnet object identifier using the relation `bacnet:object-identifier`.
A `BACnetExternalReferenceShape` shall be associated with at most one BACnet object name using the relation `bacnet:object-name`.
A `BACnetExternalReferenceShape` shall be associated with at most one priority for writing values using the relation `bacnet:priority-for-writing`.
A `BACnetExternalReferenceShape` shall be associated with at most one BACnet device name using the relation `bacnet:device-name`.
A piece of `Equipment` for bathing that receives as an input hot or cold water dispensed from one or two `Faucet`s, and is designed to hold a specific volume of water and release the held water through a `Drain`.
A `Bathtub` shall have at least one outlet using the medium `Fluid-Water`.
s223: A `Bathtub` shall have at least one outlet using the medium `Fluid-Water`.
A `Bathtub` shall have at least one inlet using the medium `Fluid-Water`.
s223: A `Bathtub` shall have at least one inlet using the medium `Fluid-Water`.
A `Battery` shall have at least one outlet or bidirectional connection point using the medium `Constituent-Electricity`.
s223: A `Battery` shall have at least one outlet or bidirectional connection point using the medium `Constituent-Electricity`.
A piece of `Equipment` that uses fuel or electricity to heat water or other fluids and supply steam or hot water for heating, humidification, or other applications.
A `Boiler` shall have at least one outlet using the medium `Fluid-Water`.
s223: A `Boiler` shall have at least one outlet using the medium `Fluid-Water`.
A `Boiler` shall have at least one inlet using the medium `Fluid-Water`.
s223: A `Boiler` shall have at least one inlet using the medium `Fluid-Water`.
A `ChilledBeam` must always have the role `Role-Cooling`
A piece of `Equipment` that removes heat from a liquid coolant via a vapor-compression, adsorption refrigeration, or absorption refrigeration cycles.
A `Chiller` shall have at least one outlet using the medium `Fluid-Water`.
s223: A `Chiller` shall have at least one outlet using the medium `Fluid-Water`.
A `Chiller` shall have at least one inlet using the medium `Fluid-Water`.
s223: A `Chiller` shall have at least one inlet using the medium `Fluid-Water`.
Ensure that all instances of an s223 class use only the relations defined for that class. Note that this only applies to s223 relations.
Ensure that all instances of an s223 class use only the relations defined for that class. Note that only s223 relations are checked by this validation.
s223: s223 predicate {?p} is not defined for instance {$this}.
SELECT $this ?p ?o WHERE { ?p a/rdfs:subClassOf* s223:Relation . $this ?p ?o . FILTER NOT EXISTS {$this a sh:NodeShape} FILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class . ?class sh:property/sh:path ?p . } FILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class . ?class sh:xone/rdf:rest*/rdf:first/sh:property/sh:path ?p . } FILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class . ?class sh:or/rdf:rest*/rdf:first/sh:property/sh:path ?p . } }
Ensure that all instances of an s223 class use only the relations defined for that class. Note that this only applies to QUDT relations.
Ensure that all instances of an s223 class use only the relations defined for that class. Note that only QUDT relations are checked by this validation.
s223: QUDT predicate {?p} is not defined for instance {$this}.
SELECT $this ?p ?o WHERE { $this ?p ?o . FILTER(STRSTARTS (str(?p), "http://qudt.org/schema/qudt")) FILTER NOT EXISTS {$this a sh:NodeShape} FILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class . ?class sh:property/sh:path ?p . } FILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class . ?class sh:xone/rdf:rest*/rdf:first/sh:property/sh:path ?p . } FILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class . ?class sh:or/rdf:rest*/rdf:first/sh:property/sh:path ?p . } }
A piece of `Equipment` that automatically cleans a load of textiles (e.g., clothing, bedding).
A `ClothesWasher` shall have at least one inlet using the medium `Fluid-Water`.
s223: A `ClothesWasher` shall have at least one inlet using the medium `Fluid-Water`.
A `ClothesWasher` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: A `ClothesWasher` shall have at least one inlet using the medium `Constituent-Electricity`.
A `ClothesWasher` shall have at least one outlet using the medium `Fluid-Water`.
s223: A `ClothesWasher` shall have at least one outlet using the medium `Fluid-Water`.
A type of `Waveguide` that consists of a central conductor, surrounded by an insulator, a metallic shield, and an outer jacket, all sharing the same geometric axis - which allows it to efficiently transmit high-frequency signals over long distances with minimal interference - and is used for `Wideband-DOCSIS` and `Wideband-CATV` communication.
A `CoaxialCable` shall be associated with exactly one `Wideband-DOCSIS` or `Wideband-CATV` using the relation `hasMedium`.
s223: A `CoaxialCable` shall be associated with exactly one `Wideband-DOCSIS` or `Wideband-CATV` using the relation `hasMedium`.
A piece of `Equipment` that automatically brews coffee.
A `CoffeeMaker` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: A `CoffeeMaker` shall have at least one inlet using the medium `Constituent-Electricity`.
A piece of `Equipment` that mechanically increases the pressure of a gas.
A `Compressor` shall have at least one inlet.
s223: A `Compressor` shall have at least one inlet.
A `Compressor` shall have at least one outlet.
s223: A `Compressor` shall have at least one outlet.
A piece of `Equipment` that processes an input electrical or RF signal, typically from a `Computer`, and outputs a durable representation of information, typically text and/or graphics, typically on paper.
A `ComputerPrinter` shall have at least one inlet using the medium `Electricity-Signal` or `EM-RF`.
s223: A `ComputerPrinter` shall have at least one inlet using the medium `Electricity-Signal` or `EM-RF`.
A `ComputerPrinter` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: A `ComputerPrinter` shall have at least one inlet using the medium `Constituent-Electricity`.
A `Sensor` that `observes` a `QuantifiableObservableProperty` that represents a concentration of a miscible constituent in a medium, in contrast to a `ParticulateSensor` that `observes` a `QuantifiableObservableProperty` that represents an amount of a particulate in a medium (see {s223:ParticulateSensor}). The 223 standard does not constrain the `Unit` or `QuantityKind` reported by a `ConcentrationSensor`, but possible `QuantityKind`s include `Concentration` (moles per volume), `Density` (mass per volume), `MoleFraction`, and `VolumeFraction`.
CONSTRUCT {$this rdfs:label ?newLabel .} WHERE { FILTER (NOT EXISTS {$this rdfs:label ?something}) . BIND(REPLACE(STR($this), "^.*/([^/]*)$", "$1") AS ?localNameWithoutHash) BIND(REPLACE(?localNameWithoutHash, "^.*#(.*)$", "$1") AS ?localName) BIND(REPLACE(?localName, "-", " ", "i") AS ?newLabel) }
Infer the `hasElectricalPhase` value from any connected `ConnectionPoint`s.
CONSTRUCT {$this s223:hasElectricalPhase ?phase .} WHERE { $this s223:cnx/s223:hasElectricalPhase ?phase . }
Infer the `connectedFrom` relations using `connectsThrough` and `connectsFrom`.
CONSTRUCT {$this s223:connectedFrom ?equipment .} WHERE { $this s223:hasConnectionPoint ?cp . ?cp a s223:InletConnectionPoint . ?cp s223:connectsThrough/s223:connectsFrom ?equipment . }
Infer the `connected` relation using `connectedTo`
CONSTRUCT {$this s223:connected ?thing .} WHERE { $this s223:connectedTo ?thing . }
Infer the `connected` relation using `connectedFrom`
CONSTRUCT {$this s223:connected ?thing .} WHERE { $this s223:connectedFrom ?thing . }
Infer the `connectedThrough` relation using `hasConnectionPoint` and `connectsThrough`
CONSTRUCT {$this s223:connectedThrough ?connection .} WHERE { $this s223:hasConnectionPoint/s223:connectsThrough ?connection . }
Infer the `connectedTo` relation using `connectsThrough` and `connectsTo`.
CONSTRUCT {$this s223:connectedTo ?equipment .} WHERE { $this s223:hasConnectionPoint ?cp . ?cp a s223:OutletConnectionPoint . ?cp s223:connectsThrough/s223:connectsTo ?equipment . }
Infer the `connected` relation for BiDirectional connections
CONSTRUCT {$this s223:connected ?d2 .} WHERE { $this s223:connectedThrough/^s223:connectedThrough ?d2 . FILTER ($this != ?d2) . FILTER NOT EXISTS {$this s223:contains* ?d2} . FILTER NOT EXISTS {?d2 s223:contains* $this} . }
Infer the `cnx` relationship using `hasConnectionPoint`.
CONSTRUCT {$this s223:cnx ?thing .} WHERE { $this s223:hasConnectionPoint ?thing . }
Infer the `cnx` relation using `isConnectionPointOf`.
CONSTRUCT {$this s223:cnx ?thing .} WHERE { $this ^s223:isConnectionPointOf ?thing . }
Infer the `hasConnectionPoint` relation using `cnx`
CONSTRUCT {$this s223:hasConnectionPoint ?thing .} WHERE { $this s223:cnx ?thing . }
You need either an `InletConnectionPoint` and an `OutletConnectionPoint`, or at least one `BidirectionalConnectionPoint` and another `ConnectionPoint` of any type.
s223: You need either an `InletConnectionPoint` and an `OutletConnectionPoint`, or at least one `BidirectionalConnectionPoint` and another `ConnectionPoint` of any type.
A `Connection` shall have at least two `connectsAt` relations allowing flow in and out of the `Connection`.
Infer the `hasElectricalPhase` value from any connected `Conductor`.
CONSTRUCT {$this s223:hasElectricalPhase ?phase .} WHERE { $this s223:connectsThrough/s223:hasElectricalPhase ?phase . }
Infer `cnx` relation using the relation `connectsThrough`.
CONSTRUCT {$this s223:cnx ?thing .} WHERE { $this ^s223:connectsThrough ?thing . }
Infer the `connectsTo` relation using the relation `connectsAt`.
CONSTRUCT {$this s223:connectsTo ?equipment .} WHERE { $this s223:connectsAt ?cp . ?cp a s223:InletConnectionPoint . ?cp s223:isConnectionPointOf ?equipment . }
Infer `cnx` relation using the relation `connectsAt`.
CONSTRUCT {$this s223:cnx ?thing .} WHERE { $this s223:connectsAt ?thing . }
Infer the `connectsFrom` relation using the relation `connectsAt`.
CONSTRUCT {$this s223:connectsFrom ?equipment .} WHERE { $this s223:connectsAt ?cp . ?cp a s223:OutletConnectionPoint . ?cp s223:isConnectionPointOf ?equipment . }
Infer the `connectsAt` relation using the relation `cnx`.
CONSTRUCT {$this s223:connectsAt ?thing .} WHERE { $this s223:cnx ?thing . }
`Equipment` and `PhysicalSpace`s must not contain themselves, directly or indirectly.
s223: `Equipment` and `PhysicalSpace`s must not contain themselves, directly or indirectly.
s223: Problem with {$this}. `Equipment` and `PhysicalSpace`s must not contain themselves, directly or indirectly.
SELECT $this WHERE { $this s223:contains+ $this . }
A piece of equipment for regulation of a system or component in normal operation, which executes one or more `Function`s.
A `Controller` shall be associated with zero or more `Function`s using the relation `executes`.
s223: A `Controller` shall be associated with zero or more `Function`s using the relation `executes`.
A `CoolingCoil` must always have the role `Role-Cooling`
A piece of `Equipment` that uses atmospheric air to cool warm water, generally by direct contact via evaporation.
A `CoolingTower` shall have at least one outlet using the medium `Fluid-Water`.
s223: A `CoolingTower` shall have at least one outlet using the medium `Fluid-Water`.
A `CoolingTower` shall have at least one inlet using the medium `Fluid-Water`.
s223: A `CoolingTower` shall have at least one inlet using the medium `Fluid-Water`.
A piece of `Equipment` that processes an input of one or more durable representation(s) of information, typically text and/or graphics and typically on paper, and outputs one or more reproductions of the information for each input, typically on paper.
A `CopyMachine` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: A `CopyMachine` shall have at least one inlet using the medium `Constituent-Electricity`.
A `LightSensor` that `observes` a `QuantifiableObservableProperty` that represents a correlated color temperature (CCT) of a light source, defined as the absolute temperature of a blackbody whose chromaticity most nearly resembles that of the light source.
A `CorrelatedColorTemperatureSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `CorrelatedColorTemperature`.
s223: A `CorrelatedColorTemperatureSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `CorrelatedColorTemperature`.
A piece of `Equipment` that automatically cleans dishware, cookware, and cutlery.
A `Dishwasher` shall have at least one outlet using the medium `Fluid-Water`.
s223: A `Dishwasher` shall have at least one outlet using the medium `Fluid-Water`.
A `Dishwasher` shall have at least one inlet using the medium `Fluid-Water`.
s223: A `Dishwasher` shall have at least one inlet using the medium `Fluid-Water`.
A `Dishwasher` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: A `Dishwasher` shall have at least one inlet using the medium `Constituent-Electricity`.
Infer a `hasDomain` relation by checking any enclosing `Zone` to determine the domain.
CONSTRUCT {$this s223:hasDomain ?domain .} WHERE { $this ^s223:hasDomainSpace/s223:hasDomain ?domain . }
A piece of `Equipment` consisting of hinged, sliding, or revolving barrier at the entrance to a building or room.
A `Door` shall have at least two bidirectional connection points using the medium `Fluid-Air`.
s223: A `Door` shall have at least two bidirectional connection points using the medium `Fluid-Air`.
A `Valve` that allows, regulates, or stops the flow of water from a `Sink`, `Shower`, `Bathtub`, or other plumbing service equipment into a plumbing drainage system that typically carries the mixture to a sewer system or septic tank.
A `Drain` shall have at least one outlet using the medium `Fluid-Water`.
s223: A `Drain` shall have at least one outlet using the medium `Fluid-Water`.
A `Drain` shall have at least one inlet using the medium `Fluid-Water`.
s223: A `Drain` shall have at least one inlet using the medium `Fluid-Water`.
A `TerminalUnit` that mixes two independent sources of primary air.
A `DualDuctTerminal` shall have at least two inlets using the medium `Fluid-Air`.
s223: A `DualDuctTerminal` shall have at least two inlets using the medium `Fluid-Air`.
A `Connection` that is used to transport air such as supply, return, and exhaust in HVAC (Heating, Ventilation, and Air Conditioning) systems.
A `LightSensor` that `observes` a `QuantifiableObservableProperty` that represents a Duv of a light source, defined as the distance between the chromaticity of the light source and a blackbody radiator of equal correlated color temperature (CCT).
A `DuvSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Duv`.
s223: A `DuvSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Duv`.
A type of `Connection` that represents air, a vacuum, outer space, or a similar environment used to convey electromagnetic energy i.e., `Constituent-EM`, without the use of a solid materials such as fiber optic cables or other such `Waveguide`s.
An `EM` shall be associated with exactly one `Constituent-EM` using the relation `hasMedium`.
s223: An `EM` shall be associated with exactly one `Constituent-EM` using the relation `hasMedium`.
A piece of `Equipment` that automatically removes moisture from a load of textiles (e.g., clothing, bedding), typically after they are washed in a `ClothesWasher`.
An `ElectricClothesDryer` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: An `ElectricClothesDryer` shall have at least one inlet using the medium `Constituent-Electricity`.
A piece of `Equipment` with a flat surface containing one or more heat sources designed for cooking with pots and pans.
An `ElectricCooktop` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: An `ElectricCooktop` shall have at least one inlet using the medium `Constituent-Electricity`.
An `ElectricEnergyConverter` that transforms direct current (DC) electric power from one voltage to another voltage.
An `ElectricEnergyDCDCConverter` shall have at least two connection points using the medium `Electricity-DC`.
s223: An `ElectricEnergyDCDCConverter` shall have at least two connection points using the medium `Electricity-DC`.
An `ElectricEnergyConverter` that tranforms direct current (DC) electric power to alternating current (AC) electric power, or vice versa.
An `ElectricEnergyInverter` shall have at least one connection point using the medium `Electricity-AC`.
s223: An `ElectricEnergyInverter` shall have at least one connection point using the medium `Electricity-AC`.
An `ElectricEnergyInverter` shall have at least one connection point using the medium `Electricity-DC`.
s223: An `ElectricEnergyInverter` shall have at least one connection point using the medium `Electricity-DC`.
An `ElectricEnergyConverter` that transforms alternating current (AC) electric power from one voltage to another voltage.
An `ElectricEnergyTransformer` shall have at least two connection points using the medium `Electricity-AC`.
s223: An `ElectricEnergyTransformer` shall have at least two connection points using the medium `Electricity-AC`.
A piece of `Equipment` that dispenses water and optionally heats and/or cools the water prior to dispensing.
An `ElectricWaterDispenser` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: An `ElectricWaterDispenser` shall have at least one inlet using the medium `Constituent-Electricity`.
An `ElectricWaterDispenser` shall have at least one inlet using the medium `Fluid-Water`.
s223: An `ElectricWaterDispenser` shall have at least one inlet using the medium `Fluid-Water`.
A piece of equipment that automatically opens an electric circuit automatically at a predetermined overcurrent, so as to prevent damage to the circuit, the equipment connected to the circuit, and the building containing the circuit.
An `ElectricityBreaker` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: An `ElectricityBreaker` shall have at least one inlet using the medium `Constituent-Electricity`.
An `ElectricityBreaker` shall have at least one outlet using the medium `Constituent-Electricity`.
s223: An `ElectricityBreaker` shall have at least one outlet using the medium `Constituent-Electricity`.
An `ElectricityMeter` shall contain a `VoltageSensor` and `ElectricCurrentSensor` with the same observation location.
s223: {$this} does not contain a `VoltageSensor` and `ElectricCurrentSensor` with a shared observation location.
SELECT $this WHERE { FILTER NOT EXISTS { $this s223:contains ?voltageSensor . $this s223:contains ?currentSensor . ?voltageSensor a/rdfs:subClassOf* s223:VoltageSensor ; s223:hasObservationLocation ?location . ?currentSensor a/rdfs:subClassOf* s223:ElectricCurrentSensor ; s223:hasObservationLocation ?location . } }
A piece of `Equipment` that contains one or more receptacles for connecting electrical equipment to electrical power, typically via a plug and cord. Not to be confused with an `OutletConnectionPoint` with the medium `Constituent-Electricity`.
An `ElectricityOutlet` shall have exactly one inlet using the medium `Constituent-Electricity`.
s223: An `ElectricityOutlet` shall have exactly one inlet using the medium `Constituent-Electricity`.
An `ElectricityOutlet` shall have at least one outlet using the medium `Constituent-Electricity`.
s223: An `ElectricityOutlet` shall have at least one outlet using the medium `Constituent-Electricity`.
A piece of `Equipment` that vertically transports people or freight between floors or levels of a building via a vertical shaft commonly referred to as a hoistway. The people or freight are typically situated on a platform, or in a container commonly referred to as a car, cab, cabin, cage, or carriage.
An `Elevator` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: An `Elevator` shall have at least one inlet using the medium `Constituent-Electricity`.
For equipment contained within another piece of equipment use the `mapsTo` relation to infer a Medium from the containing equipment.
CONSTRUCT { ?childCp s223:hasMedium ?medium . } WHERE { $this s223:hasConnectionPoint ?cp . ?childCp s223:mapsTo ?cp . ?cp s223:connectsThrough ?connection . ?cp s223:hasMedium ?medium . FILTER NOT EXISTS {?childCp s223:hasMedium ?something} . }
For equipment containing another piece of equipment, use the `mapsTo` relation to infer a Medium from the contained equipment.
CONSTRUCT { ?parentCp s223:hasMedium ?medium . } WHERE { $this s223:hasConnectionPoint ?cp . ?cp s223:mapsTo ?parentCp . ?cp s223:connectsThrough ?connection . ?cp s223:hasMedium ?medium . FILTER NOT EXISTS {?parentCp s223:hasMedium ?something} . }
A piece of `Equipment` that vertically transports people between floors or levels of a building via a moving staircase.
An `Escalator` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: An `Escalator` shall have at least one inlet using the medium `Constituent-Electricity`.
A piece of `Equipment` that connects a single instance of electrical equipment, such as `Computer`s and Wi-Fi access points, to an Ethernet network so it can communicate with other equipment and, optionally, with the Internet.
An `EthernetPort` shall have at least one inlet using the medium `Electricity-DC`.
s223: An `EthernetPort` shall have at least one inlet using the medium `Electricity-DC`.
An `EthernetPort` shall have at least two bidirectional connection points using the medium `Signal-WiredEthernet` or `Signal-FiberEthernet`.
s223: An `EthernetPort` shall have at least two bidirectional connection points using the medium `Signal-WiredEthernet` or `Signal-FiberEthernet`.
A piece of `Equipment` that connects one or more instances of electrical equipment, such as `Computer`s and Wi-Fi access points, to an Ethernet network so they can communicate with each other and, optionally, to the Internet.
An `EthernetSwitch` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: An `EthernetSwitch` shall have at least one inlet using the medium `Constituent-Electricity`.
An `EthernetSwitch` shall have at least two bidirectional connection points using the medium `Signal-WiredEthernet` or `Signal-FiberEthernet`.
s223: An `EthernetSwitch` shall have at least two bidirectional connection points using the medium `Signal-WiredEthernet` or `Signal-FiberEthernet`.
A piece of `Equipment` consisting of a `Coil` and a `Fan` that regulates the temperature of one or more spaces.
A `FanCoilUnit` shall at least have the role `Role-Cooling` or `Role-Heating`.
s223: A `FanCoilUnit` shall at least have the role `Role-Cooling` or `Role-Heating`.
A `FanCoilUnit` shall have at least one outlet using the medium `Fluid-Air`.
s223: A `FanCoilUnit` shall have at least one outlet using the medium `Fluid-Air`.
A `FanCoilUnit` shall contain at least one `Fan`.
s223: A `FanCoilUnit` shall contain at least one `Fan`.
A `FanCoilUnit` shall have at least one inlet using the medium `Fluid-Air`.
s223: A `FanCoilUnit` shall have at least one inlet using the medium `Fluid-Air`.
A `FanCoilUnit` shall contain at least one `Coil`.
s223: A `FanCoilUnit` shall contain at least one `Coil`.
A `TerminalUnit` that contains a fan, and optionally has supplemental heating or cooling. Airflow may pass through or be parallel to the fan.
A `FanPoweredTerminal` shall contain at least one `Fan`.
s223: A `FanPoweredTerminal` shall contain at least one `Fan`.
A `Valve` that allows, regulates, or stops the flow of hot or cold water from a plumbing supply system into a `Sink`, `Shower`, `Bathtub`, or other plumbing service equipment.
A `Faucet` shall have at least one outlet using the medium `Fluid-Water`.
s223: A `Faucet` shall have at least one outlet using the medium `Fluid-Water`.
A `Faucet` shall have at least one inlet using the medium `Fluid-Water`.
s223: A `Faucet` shall have at least one inlet using the medium `Fluid-Water`.
A piece of `Equipment` that contains one or more receptacles for connecting electrical equipment to a fiber Ethernet communication network, typically via a fiber Ethernet cable.
A `FiberEthernetOutlet` shall have at least one outlet using the medium `Signal-FiberEthernet`.
s223: A `FiberEthernetOutlet` shall have at least one outlet using the medium `Signal-FiberEthernet`.
A `FiberEthernetOutlet` shall have exactly one inlet using the medium `Signal-FiberEthernet`.
s223: A `FiberEthernetOutlet` shall have exactly one inlet using the medium `Signal-FiberEthernet`.
A piece of `Equipment` that removes contaminants from gases or liquids. See {s223:Substance-Medium} for more details on validating compatible mediums upstream and downstream of a `Filter`.
Incompatible Medium. Case 2: Associated `ConnectionPoint`s, one with a pure medium and one with a medium having constituents..
Incompatible Medium. Case 2: A medium with constituents and a pure medium.
s223: {$this} has an incompatible medium {?m1} with any constituent of {?m2}.
SELECT $this ?m2 ?m1 WHERE { $this s223:cnx ?cp1, ?cp2 . ?cp1 a/rdfs:subClassOf* s223:ConnectionPoint . ?cp2 a/rdfs:subClassOf* s223:ConnectionPoint . FILTER (?cp1 != ?cp2) . ?cp1 s223:hasMedium ?m1 . ?cp2 s223:hasMedium ?m2 . ?m2 s223:composedOf/s223:ofConstituent ?s2 . FILTER NOT EXISTS {?m1 s223:composedOf ?c1} . FILTER NOT EXISTS { ?m2 s223:composedOf/s223:ofConstituent ?s12 . {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} . } }
A `Filter` shall have at least one inlet.
s223: A `Filter` shall have at least one inlet.
Incompatible Medium. Case 1: Associated `ConnectionPoint`s with two pure mediums.
s223: {$this} with inlet medium {?m2} is incompatible with outlet medium {?m1}.
SELECT $this ?m2 ?m1 WHERE { $this s223:cnx ?cp1, ?cp2 . ?cp1 a/rdfs:subClassOf* s223:ConnectionPoint . ?cp2 a/rdfs:subClassOf* s223:ConnectionPoint . FILTER (?cp1 != ?cp2) . ?cp1 s223:hasMedium ?m1 . ?cp2 s223:hasMedium ?m2 . FILTER NOT EXISTS {?m1 s223:composedOf ?c1} . FILTER NOT EXISTS {?m2 s223:composedOf ?c2} FILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) . FILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) . }
Incompatible Medium. Case 3: Associated `ConnectionPoint`s with mediums having constituents.
Incompatible Medium. Case 3: Two mediums with constituents.
s223: For `Filter` {$this} there is no compatible substance between medium {?m2} and medium {?m1}.
SELECT ?this ?m2 ?m1 WHERE { ?this s223:cnx ?cp1, ?cp2 . ?cp1 a/rdfs:subClassOf* s223:ConnectionPoint . ?cp2 a/rdfs:subClassOf* s223:ConnectionPoint . FILTER (?cp1 != ?cp2) . ?cp1 s223:hasMedium ?m1 . ?cp2 s223:hasMedium ?m2 . ?m1 s223:composedOf/s223:ofConstituent ?s1 . ?m2 s223:composedOf/s223:ofConstituent ?s2 . FILTER NOT EXISTS { ?m1 s223:composedOf/s223:ofConstituent ?s11 . ?m2 s223:composedOf/s223:ofConstituent ?s12 . FILTER (?s11 = ?s12) . } FILTER NOT EXISTS { ?m1 s223:composedOf/s223:ofConstituent ?s21 . ?m2 s223:composedOf/s223:ofConstituent ?s22 . {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} . } }
A `Filter` shall have at least one outlet.
s223: A `Filter` shall have at least one outlet.
A `Sensor` that `observes` a `QuantifiableObservableProperty` that represents a measure of flow of fluid, typically with a `QuantityKind` of `VolumeFlowRate`.
A piece of `Equipment` that collects human waste (i.e., urine and/or feces, and sometimes toilet paper) in a chamber containing water, and contains an integral manual or automatic actuator that triggers the release of an additional volume of water that flushes everything from the chamber into a drainage system that typically carries the mixture to a sewer system or septic tank.
A `FlushToilet` shall have at least one inlet using the medium `Fluid-Water`.
s223: A `FlushToilet` shall have at least one inlet using the medium `Fluid-Water`.
A `FlushToilet` shall have at least one outlet using the medium `Fluid-Water`.
s223: A `FlushToilet` shall have at least one outlet using the medium `Fluid-Water`.
A piece of `Equipment` that maintains an internal temperature below the freezing point of water.
A `Freezer` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: A `Freezer` shall have at least one inlet using the medium `Constituent-Electricity`.
A piece of `Equipment` that is typically mounted over a work area (e.g., a space, table, or shelf) and conducts unwanted gases away from the area.
A `FumeHood` shall have at least one outlet using the medium `Fluid-Air`.
s223: A `FumeHood` shall have at least one outlet using the medium `Fluid-Air`.
A `FumeHood` shall have at least one inlet using the medium `Fluid-Air`.
s223: A `FumeHood` shall have at least one inlet using the medium `Fluid-Air`.
A `Function` shall be associated with at least one `Property` using either the relation `hasInput` or `hasOutput`.
s223: A `Function` shall be associated with at least one `Property` using either the relation `hasInput` or `hasOutput`.
A piece of `Equipment` that converts fuel or electrical energy into heat.
A `Furnace` shall have at least one inlet using the medium `Fluid-Air`.
s223: A `Furnace` shall have at least one inlet using the medium `Fluid-Air`.
A `Furnace` shall have at least one outlet using the medium `Fluid-Air`.
s223: A `Furnace` shall have at least one outlet using the medium `Fluid-Air`.
A `PressureSensor` that `observes` a `QuantifiableObservableProperty` that represents a measure of pressure relative to atmospheric pressure. Such sensors are commonly used to monitor compressed gas cylinders, for example, where a gauge reading of zero signifies that the measured pressure is equal to the atmospheric pressure, not a vacuum.
A `GaugePressureSensor` shall always observe a `QuantifiableObservableProperty` that has a value of true for `qudt:isDeltaQuantity`.
s223: A `GaugePressureSensor` shall always observe a `QuantifiableObservableProperty` that has a value of true for `qudt:isDeltaQuantity`.
A `GaugePressureSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of GaugePressure.
s223: A `GaugePressureSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of GaugePressure.
A piece of `Equipment` that converts non-electric energy into electric energy.
A `Generator` shall have at least one outlet using the medium `Constituent-Electricity`.
s223: A `Generator` shall have at least one outlet using the medium `Constituent-Electricity`.
A `HeatPump` that transfers thermal energy between air and the ground.
A `GroundToAirHeatPump` shall have at least one bidirectional connection point using the medium `Medium-ThermalContact`.
s223: A `GroundToAirHeatPump` shall have at least one bidirectional connection point using the medium `Medium-ThermalContact`.
A `GroundToAirHeatPump` shall have at least one inlet using the medium `Fluid-Air`.
s223: A `GroundToAirHeatPump` shall have at least one inlet using the medium `Fluid-Air`.
A `GroundToAirHeatPump` shall have at least one outlet using the medium `Fluid-Air`.
s223: A `GroundToAirHeatPump` shall have at least one outlet using the medium `Fluid-Air`.
Infer the `hasRole` s223:Role-HeatTransfer relation for every instance of the listed targetClass values.
Heating coils must always have the role `Role-Heating`
A piece of equipment that adds moisture to a gas (e.g., air).
A piece of equipment that measures the relative humidity of the air and then uses this information to automatically adjust the amount of moisture in air.
A `Sensor` that `observes` a `QuantifiableObservableProperty` that represents a measure of relative or absolute humidity.
A `HumiditySensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of either `RelativeHumidity` or `AbsoluteHumidity`.
s223: A `HumiditySensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of either `RelativeHumidity` or `AbsoluteHumidity`.
An `IceMaker` shall have at least one inlet using the medium `Fluid-Water`.
s223: An `IceMaker` shall have at least one inlet using the medium `Fluid-Water`.
An `IceMaker` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: An `IceMaker` shall have at least one inlet using the medium `Constituent-Electricity`.
A `LightSensor` that `observes` a `QuantifiableObservableProperty` that represents an illuminance, defined as the areal density of the luminous flux incident at a point on a surface.
An `IlluminanceSensor` shall observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Illuminance`.
s223: An `IlluminanceSensor` shall observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Illuminance`.
A `Junction` shall have at least two `ConnectionPoint`s including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point.
s223: A `Junction` shall have at least two `ConnectionPoint`s including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point.
This `Junction` is not used to model significant details of a branching point in a connection, and may not be required.
s223: This `Junction` {$this} is not used to model significant details of a branching point in a connection, and may not be required.
SELECT $this WHERE { $this s223:hasConnectionPoint? | s223:connectedThrough? ?junc_cp_conn . FILTER NOT EXISTS { # Connection has a relation that is not in the structural or required relationships { ?junc_cp_conn ?p ?o . } UNION {?o ?p ?junc_cp_conn . } FILTER (?p NOT IN ( s223:connected, s223:connectedTo, s223:connectedThrough, s223:hasConnectionPoint, s223:connectsAt, s223:isConnectionPointOf, s223:cnx, rdf:type, rdfs:label, rdfs:comment )) } . }
A piece of `Equipment` consisting of a light source(s) and ballast(s) or driver(s) (when applicable), together with the parts designed to distribute the light, to position and protect the light source(s), and to connect the light source(s) to the power supply. Also known as a light fixture.
A `Luminaire` shall have at least one outlet using the medium `EM-Light`.
s223: A `Luminaire` shall have at least one outlet using the medium `EM-Light`.
A `Luminaire` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: A `Luminaire` shall have at least one inlet using the medium `Constituent-Electricity`.
An `ElectricOven` that cooks food by exposing it to electromagnetic radiation in the microwave frequency range.
A `MicrowaveOven` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: A `MicrowaveOven` shall have at least one inlet using the medium `Constituent-Electricity`.
An `ElectronicDisplay` designed primarily for the output of visual information supplied by a `Computer`.
A piece of `Equipment` that converts electrical energy into mechanical energy.
A `Motor` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: A `Motor` shall have at least one inlet using the medium `Constituent-Electricity`.
An entity can be contained by at most one other entity.
s223: An entity can be contained by at most one other entity.
An `OccupancySensor` that `observes` a `QuantifiableObservableProperty` that represents a population, usually of humans, within a sensing region.
An `OccupantCountSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Population` and a `Unit` of `NUM`.
s223: An `OccupantCountSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Population` and a `Unit` of `NUM`.
An `OccupancySensor` that `observes` a `ObservableProperty` that represents motion within a sensing region.
An `OccupantMotionSensor` shall always observe an `EnumeratedObservableProperty` that has an `EnumerationKind` of `Occupancy-Motion`.
s223: An `OccupantMotionSensor` shall always observe an `EnumeratedObservableProperty` that has an `EnumerationKind` of `Occupancy-Motion`.
An `OccupancySensor` that `observes` a `ObservableProperty` that represents presence within a sensing region.
An `OccupantPresenceSensor` shall always observe an `EnumeratedObservableProperty` that has an `EnumerationKind` of `Occupancy-Presence`.
s223: An `OccupantPresenceSensor` shall always observe an `EnumeratedObservableProperty` that has an `EnumerationKind` of `Occupancy-Presence`.
A `PhysicalSpace` that is outside of the building where, for example, outdoor ambient properties might be measured, within a suitably defined `DomainSpace`.
A `Sensor` that `observes` a `QuantifiableObservableProperty` that represents an amount of a particulate in a medium, in contrast to a `ConcentrationSensor` that `observes` a `QuantifiableObservableProperty` that represents a concentration of a miscible constituent in a medium (see {s223:ConcentrationSensor}). The 223 standard does not constrain the `Unit` or `QuantityKind` reported by a `ParticulateSensor`, but possible `QuantityKind`s include `Density` (mass per volume), `ParticleNumberDensity` (count per volume), and `DimensionlessRatio` (with units such as `PPM` or `PPB`). Some particulate sensors may claim to report a raw count of particles, for which a `QuantityKind` of `Count` could be used, but the required context for such a measurement should be provided in the sensor's documentation to specify if it in fact measures a count per volume (e.g., `ParticleNumberDensity`), time (e.g., `CountRate` or `ParticleCurrent`), or some other combination. Explicitly declaring the `QuantityKind` of a sensor's output is preferable to relying on implicit assumptions.
A `ParticulateSensor` shall be associated with zero or more `Substance-Particulate`s using the relation `ofSubstance`.
s223: A `ParticulateSensor` shall be associated with zero or more `Substance-Particulate`s using the relation `ofSubstance`.
A `Computer` designed primarily used by a single person.
A `PersonalComputer` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: A `PersonalComputer` shall have at least one inlet using the medium `Constituent-Electricity`.
A piece of equipment that converts sunlight into electricity.
A `PhotovoltaicModule` shall have at least one inlet using the medium `EM-Light`.
s223: A `PhotovoltaicModule` shall have at least one inlet using the medium `EM-Light`.
A `PhotovoltaicModule` shall have at least one outlet using the medium `Constituent-Electricity`.
s223: A `PhotovoltaicModule` shall have at least one outlet using the medium `Constituent-Electricity`.
A `Connection` that is used primarily to transport liquids and gases such as water, sewage, natural gas, and compressed air.
A piece of `Equipment` that connects and is capable of powering one instance of electrical equipment, such as computers and Wi-Fi access points, as well as connect it to an Ethernet network so it can communicate with other equipment and, optionally, with the Internet.
A `PowerOverEthernetPort` shall have at least one inlet using the medium `Electricity-DC`.
s223: A `PowerOverEthernetPort` shall have at least one inlet using the medium `Electricity-DC`.
A `PowerOverEthernetPort` shall have at least one bidirectional connection point using the medium `PowerAndSignal-PoE`.
s223: A `PowerOverEthernetPort` shall have at least one bidirectional connection point using the medium `PowerAndSignal-PoE`.
A piece of `Equipment` that connects and is capable of powering one or more instances of electrical equipment, such as computers and Wi-Fi access points, as well as connect the equipment to an Ethernet network so they can communicate with each other and, optionally, to the Internet.
A `PowerOverEthernetSwitch` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: A `PowerOverEthernetSwitch` shall have at least one inlet using the medium `Constituent-Electricity`.
A `PowerOverEthernetSwitch` shall have at least one bidirectional connection point using the medium `PowerAndSignal-PoE`.
s223: A `PowerOverEthernetSwitch` shall have at least one bidirectional connection point using the medium `PowerAndSignal-PoE`.
A piece of `Equipment` that imparts energy to a fluid, drawing a fluid into itself through an inlet port, and forcing the fluid out through an outlet port.
The non-electrical `ConnectionPoint`s of a `Pump` must have compatible media.
s223: {?cpa} and {?cpb} on the `Pump` {$this} have incompatible Media {$mediuma} and {$mediumb}.
SELECT $this ?cpa ?cpb ?mediuma ?mediumb WHERE { $this s223:hasConnectionPoint ?cpa . $this s223:hasConnectionPoint ?cpb . FILTER (?cpa != ?cpb) . ?cpa s223:hasMedium ?mediuma . FILTER (NOT EXISTS {?mediuma a/rdfs:subClassOf* s223:Constituent-Electricity}) . ?cpb s223:hasMedium ?mediumb . FILTER (NOT EXISTS {?mediumb a/rdfs:subClassOf* s223:Constituent-Electricity}) . FILTER (?mediuma != ?mediumb) . FILTER (NOT EXISTS {?mediumb a/rdfs:subClassOf* ?mediuma}) . FILTER (NOT EXISTS {?mediuma a/rdfs:subClassOf* ?mediumb}) . }
A `Pump` shall have at least one outlet using the medium `Fluid-Water`, `Fluid-Oil` or `Constituent-Refrigerant`.
s223: A `Pump` shall have at least one outlet using the medium `Fluid-Water`, `Fluid-Oil` or `Constituent-Refrigerant`.
A `Pump` shall have at least one inlet using the medium `Fluid-Water`, `Fluid-Oil` or `Constituent-Refrigerant`.
s223: A `Pump` shall have at least one inlet using the medium `Fluid-Water`, `Fluid-Oil` or `Constituent-Refrigerant`.
Infer the `hasAspect s223:Aspect-Deadband` for properties referred to by `hasDeadband`
CONSTRUCT {?y s223:hasAspect s223:Aspect-Deadband} WHERE { ?prop s223:hasDeadband ?y . FILTER NOT EXISTS {?y s223:hasAspect s223:Aspect-Deadband} }
Infer the `hasAspect s223:Aspect-Threshold` for properties referred to by `hasThreshold`
CONSTRUCT {?y s223:hasAspect s223:Aspect-Threshold} WHERE { ?prop s223:hasThreshold ?y . FILTER NOT EXISTS {?y s223:hasAspect s223:Aspect-Threshold} }
Infer the `hasQuantityKind` relation if it is unambiguous.
CONSTRUCT { $this qudt:hasQuantityKind ?uniqueqk } WHERE { { SELECT $this (COUNT (DISTINCT (?qk)) AS ?count) WHERE { FILTER (NOT EXISTS {$this qudt:hasQuantityKind ?something}) . $this qudt:hasUnit/qudt:hasQuantityKind ?qk . } GROUP BY $this } FILTER (?count = 1) $this qudt:hasUnit/qudt:hasQuantityKind ?uniqueqk . }
Infer the `hasAspect s223:Aspect-Setpoint` for properties referred to by `hasSetpoint`
CONSTRUCT {?y s223:hasAspect s223:Aspect-Setpoint} WHERE { ?prop s223:hasSetpoint ?y . FILTER NOT EXISTS {?y s223:hasAspect s223:Aspect-Setpoint} }
A piece of `Equipment` that contains one or more receptacles for connecting electrical equipment to a radio frequency (RF) communication network, via, for example, a coaxial cable.
A `RFOutlet` shall have exactly one inlet using the medium `RF-Signal`.
s223: A `RFOutlet` shall have exactly one inlet using the medium `RF-Signal`.
A `RFOutlet` shall have at least one outlet using the medium `RF-Signal`.
s223: A `RFOutlet` shall have at least one outlet using the medium `RF-Signal`.
A `Radiator` shall have at least one inlet using the medium Electricity or inlet and outlet of Water.
s223: A `Radiator` shall have at least one inlet using the medium Electricity or inlet and outlet of Water.
A `Radiator` shall have at least one inlet using the medium Electricity or Water.
A `Radiator` shall have at least one outlet using the medium Water.
A piece of `Equipment` that maintains an internal temperature below the surrounding ambient temperature but above the freezing point of water.
A `Refrigerator` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: A `Refrigerator` shall have at least one inlet using the medium `Constituent-Electricity`.
Declare the inverse triples for relations that have defined inverse relations
CONSTRUCT { ?o ?invP $this . } WHERE { $this ?p ?o . ?p s223:inverseOf ?invP . }
Every SPARQLConstraint must have an rdfs:comment.
s223: The SPARQLConstraint for path {?path} for Class {$this} must have an rdfs:comment.
SELECT $this ?path WHERE { $this sh:property ?propshape . ?propshape sh:sparql ?sparqlconstraint . ?propshape sh:path ?path . FILTER NOT EXISTS {?sparqlconstraint rdfs:comment ?comment} . }
Every SHACL property shape must have an rdfs:comment.
s223: The property shape with path {?path} for Class {$this} must have an rdfs:comment.
SELECT $this ?path WHERE { $this sh:property ?propshape . ?propshape sh:path ?path . FILTER NOT EXISTS {?propshape rdfs:comment ?comment} . }
Every SPARQLRule must have an rdfs:comment.
s223: Every SPARQLRule for Class {$this} must have an rdfs:comment.
SELECT $this WHERE { $this sh:rule ?rule . ?rule a sh:SPARQLRule . FILTER NOT EXISTS {?rule rdfs:comment ?comment} . }
Every TripleRule must have an rdfs:comment.
s223: The TripleRule inferring {?pred} for Class {$this} must have an rdfs:comment.
SELECT $this ?pred WHERE { $this sh:rule ?rule . ?rule a sh:TripleRule . ?rule sh:predicate ?pred . FILTER NOT EXISTS {?rule rdfs:comment ?comment} . }
Every class of the 223 standard must have an rdfs:comment.
s223: Class {$this} must have an rdfs:comment.
SELECT $this WHERE { FILTER NOT EXISTS {$this rdfs:comment ?comment} . }
Every class of the 223 standard must be a direct or indirect subclass of s223:Concept.
s223: Class {$this} must be within the rdfs:subClassOf hierarchy under s223:Concept.
SELECT $this WHERE { FILTER NOT EXISTS {$this rdfs:subClassOf* rdf:Property} . FILTER NOT EXISTS {$this rdfs:subClassOf* s223:Concept} . }
Every class of the 223 standard must also be an instance of sh:NodeShape.
s223: Class {$this} must be declared as an instance of sh:NodeShape.
SELECT $this WHERE { FILTER NOT EXISTS {$this a sh:NodeShape} . }
A `Sensor` shall be associated with exactly 1 of `Connectable`, `Connection`, or `ConnectionPoint` using the relation `hasObservationLocation`.
s223: A `Sensor` shall be associated with exactly 1 of `Connectable`, `Connection`, or `ConnectionPoint` using the relation `hasObservationLocation`.
A `Sensor` shall be associated with exactly 1 of `QuantifiableObservableProperty` or `EnumeratedObservableProperty` using the relation `observes`.
s223: A `Sensor` shall be associated with exactly 1 of `QuantifiableObservableProperty` or `EnumeratedObservableProperty` using the relation `observes`.
A `Sensor` can be associated with a maximum of one `Connectable`, `Connection`, or `ConnectionPoint` using the relation `hasReferenceLocation`.
s223: A `Sensor` can be associated with a maximum of one `Connectable`, `Connection`, or `ConnectionPoint` using the relation `hasReferenceLocation`.
Infer the `hasObservationLocation` relation for a `Sensor` from the `Property` that it is observing, only if that `Property` is associated with a single entity.
CONSTRUCT {$this s223:hasObservationLocation ?something .} WHERE { { SELECT ?prop (COUNT (DISTINCT ?measurementLocation) AS ?count) $this WHERE { FILTER (NOT EXISTS {$this s223:hasObservationLocation ?anything}) . $this s223:observes ?prop . ?measurementLocation s223:hasProperty ?prop . } GROUP BY ?prop $this } FILTER (?count = 1) . ?something s223:hasProperty ?prop . {?something a/rdfs:subClassOf* s223:Connectable} UNION {?something a/rdfs:subClassOf* s223:Connection} UNION {?something a/rdfs:subClassOf* s223:ConnectionPoint} }
A `Computer` that is primarily used by multiple people, or for the execution of tasks not directly coupled to human interaction.
A `ServerComputer` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: A `ServerComputer` shall have at least one inlet using the medium `Constituent-Electricity`.
A piece of `Equipment` for showering that receives as an input hot or cold water dispensed from one or two `Faucet`s, and is designed to hold a specific volume of water and release the held water through a `Drain`.
A `Shower` shall have at least one outlet using the medium `Fluid-Water`.
s223: A `Shower` shall have at least one outlet using the medium `Fluid-Water`.
A `Shower` shall have at least one inlet using the medium `Fluid-Water`.
s223: A `Shower` shall have at least one inlet using the medium `Fluid-Water`.
A `TerminalUnit` unit that has one ducted air inlet and a damper for regulating the flow of air.
A `SingleDuctTerminal` shall contain at least one `Damper`.
s223: A `SingleDuctTerminal` shall contain at least one `Damper`.
A piece of `Equipment` for manually washing hands, dishes, or other items that receives as an input hot or cold water dispensed from one or two `Faucet`s, and is designed to hold a specific volume of water and release the held water through a `Drain`.
A `Sink` shall have at least one outlet using the medium `Fluid-Water`.
s223: A `Sink` shall have at least one outlet using the medium `Fluid-Water`.
A `Sink` shall have at least one inlet using the medium `Fluid-Water`.
s223: A `Sink` shall have at least one inlet using the medium `Fluid-Water`.
A piece of `Equipment` that converts sunlight into thermal energy.
A `SolarThermalCollector` shall have at least one outlet using the medium `Fluid-Water`.
s223: A `SolarThermalCollector` shall have at least one outlet using the medium `Fluid-Water`.
A `SolarThermalCollector` shall have at least one inlet using the medium `EM-Light`.
s223: A `SolarThermalCollector` shall have at least one inlet using the medium `EM-Light`.
A piece of `Equipment` for increasing the humidity of an air stream by injecting steam into the air stream.
A `SteamInjector` shall have at least one inlet using the medium `Water-Steam`.
s223: A `SteamInjector` shall have at least one inlet using the medium `Water-Steam`.
A `SteamInjector` shall have at least one inlet using the medium `Fluid-Air`.
s223: A `SteamInjector` shall have at least one inlet using the medium `Fluid-Air`.
A `SteamInjector` shall have at least one outlet using the medium `Fluid-Air`.
s223: A `SteamInjector` shall have at least one outlet using the medium `Fluid-Air`.
Declare the inverse triples for symmetric relations
CONSTRUCT { ?o ?p $this . } WHERE { $this ?p ?o . ?p a s223:SymmetricRelation . }
Infer the `hasBoundaryConnectionPoint` relation using `hasOptionalConnectionPoint`.
CONSTRUCT {$this s223:hasBoundaryConnectionPoint ?thing .} WHERE { $this s223:hasOptionalConnectionPoint ?thing . }
An `ElectronicDisplay` that is designed primarily for the output of visual information supplied by a media broadcaster, and that typically has an integral tuner that is capable of selecting a single channel for display from the available input channel range.
A `Sensor` that `observes` a `QuantifiableObservableProperty` that represents a measure of temperature.
A `TemperatureSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Temperature`.
s223: A `TemperatureSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Temperature`.
A `ThermalEnergyStorageUnit` shall be associated with at least two connection points using the relation `hasConnectionPoint`.
s223: A `ThermalEnergyStorageUnit` shall be associated with at least two connection points using the relation `hasConnectionPoint`.
A piece of `Equipment` that maintains temperature at a fixed or adjustable setpoint.
A `Valve` that can divert a fluid in one of three directions.
A `ThreeWayValve` shall be associated with at least three connection points using the relation `hasConnectionPoint`.
s223: A `ThreeWayValve` shall be associated with at least three connection points using the relation `hasConnectionPoint`.
A piece of `Equipment` that converts mechanical energy into electric energy.
A `Turbine` shall have at least one outlet using the medium `Constituent-Electricity`.
s223: A `Turbine` shall have at least one outlet using the medium `Constituent-Electricity`.
A `Valve` that can divert a fluid in one of two directions.
A `TwoWayValve` shall have at least one outlet.
s223: A `TwoWayValve` shall have at least one outlet.
A `TwoWayValve` shall have at least one inlet.
s223: A `TwoWayValve` shall have at least one inlet.
A type of `Conductor` that consists of 1 to 5 pairs of twisted wire and is used for `Signal-USB` communication.
A `USBCable` shall be associated with exactly one `Signal-USB` using the relation `hasMedium`.
s223: A `USBCable` shall be associated with exactly one `Signal-USB` using the relation `hasMedium`.
A piece of `Equipment` that contains one or more receptacles for connecting electrical equipment to a USB communication network, typically via a USB cable.
A `USBOutlet` shall have exactly one inlet using the medium `Signal-USB`.
s223: A `USBOutlet` shall have exactly one inlet using the medium `Signal-USB`.
A `USBOutlet` shall have at least one outlet using the medium `Signal-USB`.
s223: A `USBOutlet` shall have at least one outlet using the medium `Signal-USB`.
A `Valve` shall have at least one inlet and one outlet or two bidirectional connection points.
s223: A `Valve` shall have at least one inlet and one outlet or two bidirectional connection points.
A piece of `Equipment` that varies its output frequency to vary the rotating speed and torque of a motor, given a fixed input frequency. Used with fans or pumps to vary the flow in the system as a function of a maintained pressure.
A `VariableFrequencyDrive` shall have at least one outlet using the medium `Constituent-Electricity`.
s223: A `VariableFrequencyDrive` shall have at least one outlet using the medium `Constituent-Electricity`.
A `VariableFrequencyDrive` shall be associated with zero or more pieces of `Equipment` using the relation `connectedTo`.
s223: A `VariableFrequencyDrive` shall be associated with zero or more pieces of `Equipment` using the relation `connectedTo`.
A `VariableFrequencyDrive` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: A `VariableFrequencyDrive` shall have at least one inlet using the medium `Constituent-Electricity`.
A piece of `Equipment` that contains one or more pipe fittings for connecting plumbing equipment (e.g., `Faucet`) to a plumbing system.
A `WaterOutlet` shall have exactly one inlet using the medium `Fluid-Water`.
s223: A `WaterOutlet` shall have exactly one inlet using the medium `Fluid-Water`.
A `WaterOutlet` shall have at least one outlet using the medium `Fluid-Water`.
s223: A `WaterOutlet` shall have at least one outlet using the medium `Fluid-Water`.
A `HeatPump` that transfers thermal energy between air and a body of water.
A `WaterToAirHeatPump` shall have at least one outlet using the medium `Fluid-Air`.
s223: A `WaterToAirHeatPump` shall have at least one outlet using the medium `Fluid-Air`.
A `WaterToAirHeatPump` shall have at least one outlet using the medium `Fluid-Water`.
s223: A `WaterToAirHeatPump` shall have at least one outlet using the medium `Fluid-Water`.
A `WaterToAirHeatPump` shall have at least one inlet using the medium `Fluid-Water`.
s223: A `WaterToAirHeatPump` shall have at least one inlet using the medium `Fluid-Water`.
A `WaterToAirHeatPump` shall have at least one inlet using the medium `Fluid-Air`.
s223: A `WaterToAirHeatPump` shall have at least one inlet using the medium `Fluid-Air`.
A `HeatPump` that transfers thermal energy between two flows of water.
A `WaterToWaterHeatPump` shall have at least two outlets using the medium `Fluid-Water`.
s223: A `WaterToWaterHeatPump` shall have at least two outlets using the medium `Fluid-Water`.
A `WaterToWaterHeatPump` shall have at least two inlets using the medium `Fluid-Water`.
s223: A `WaterToWaterHeatPump` shall have at least two inlets using the medium `Fluid-Water`.
A piece of `Equipment` that can be adjusted to allow, regulate, or stop the flow of light through a `Window`.
A piece of `Equipment` that contains one or more receptacles for connecting electrical equipment to a wired Ethernet communication network, typically via a wired Ethernet cable.
A `WiredEthernetOutlet` shall have exactly one inlet using the medium `Signal-WiredEthernet`.
s223: A `WiredEthernetOutlet` shall have exactly one inlet using the medium `Signal-WiredEthernet`.
A `WiredEthernetOutlet` shall have at least one outlet using the medium `Signal-WiredEthernet`.
s223: A `WiredEthernetOutlet` shall have at least one outlet using the medium `Signal-WiredEthernet`.
A `Zone` must not contain itself, directly or indirectly.
s223: A `Zone` must not contain itself, directly or indirectly.
s223: `Zone` {$this} must not contain itself (via s223:hasZone), directly or indirectly.
SELECT $this WHERE { $this s223:hasZone+ ?nestedZone . FILTER ($this = ?nestedZone) . }
Infer a `hasDomain` relation by checking any enclosed `Zone` to determine the domain.
CONSTRUCT {$this s223:hasDomain ?domain .} WHERE { $this s223:hasZone/s223:hasDomain ?domain . }
Infer a `hasDomain` relation by checking any enclosed `DomainSpace`s to determine the domain.
CONSTRUCT {$this s223:hasDomain ?domain .} WHERE { $this s223:hasDomainSpace/s223:hasDomain ?domain . }
If an instance of s223:CoolingCoil matches the constraints defined by g36:ChilledWaterCoil, it will be declared as an instance of that class.
If an instance of s223:Valve matches the constraints defined by g36:ChilledWaterValve, it will be declared as an instance of that class.
If an instance of s223:Damper matches the constraints defined by g36:Damper, it will be declared as an instance of that class.
If an instance of s223:ElectricResistanceElement matches the constraints defined by g36:ElectricHeatingCoil, it will be declared as an instance of that class.
If an instance of s223:Fan matches the constraints defined by g36:Fan, it will be declared as an instance of that class.
If an instance of s223:Fan matches the constraints defined by g36:FanWithVFD, it will be declared as an instance of that class.
If an instance of s223:HeatingCoil matches the constraints defined by g36:HotWaterCoil, it will be declared as an instance of that class.
If an instance of s223:Valve matches the constraints defined by g36:HotWaterValve, it will be declared as an instance of that class.
If an instance of s223:Damper matches the constraints defined by g36:TwoPositionDamper, it will be declared as an instance of that class.
If an instance of `Zone` matches the constraints defined by g36:Zone, it will be declared as an instance of that class.
If an instance of `Zone` matches the constraints defined by g36:ZoneGroup, it will be declared as an instance of that class.
This file can be used to control which extensions are to be loaded with the 223 ontology by importing the appropriate graph(s). Options include: For validation of the schema, model, or data - http://data.ashrae.org/standard223/1.0/validation/schema (or model or data). For inferred relations - http://data.ashrae.org/standard223/1.0/inference/model-rules (and/or schema-rules, data-rules). For G36 extensions - http://data.ashrae.org/standard223/1.0/extensions/g36/core (and/or vav-terminal-unit, multiple-zone-vav-air-handling-unit, etc.).
The Object_Identifier property of the device object within the BACnet device. See ASHRAE 135-2024 Clause 12.11.1.
The name of the BACnet device being referenced, more formally the Object_Name property of the device object within the BACnet device. See ASHRAE 135-2024 Clause 12.11.2.
The Object_Identifier property of the object being referenced. For example, for the object identifier of an Analog Value Object, see ASHRAE 135-2024 Clause 12.4.1.
The Object_Name property of the object being referenced. For example, for the object name of an Analog Value Object, see ASHRAE 135-2024 Clause 12.4.2.
This parameter shall be an integer in the range 1..16, which indicates the priority assigned to the WriteProperty service. If an attempt is made to write to a commandable property without specifying the bacnet:priority-for-writing, a default priority of 16 (the lowest priority) shall be assumed. If an attempt is made to write to a property that is not commandable with a specified priority, the priority shall be ignored. See ASHRAE 135-2024 Clause 15.9.1.1.5.
If the property identified is of datatype array, this optional property of type Unsigned shall indicate the array index of the element of the `Property` referenced by the ReadProperty service or the Read Access Specification of the ReadPropertyMultiple service. If the bacnet:property-array-index is omitted, this shall mean that the entire array shall be referenced. See ASHRAE 135-2024 Clause 15.5.1.1.3 and Clause 15.7.1.1.1.
The Object_Identifier `Property` of the object being referenced. For example, for the object identifier of an Analog Value Object, see ASHRAE 135-2024 Clause 12.4.1.
Negative 6 VDC and positive 6 VDC electricity
Negative 12 VDC and positive 12 VDC electricity
Negative 190 VDC and positive 190 VDC electricity
Negative 24 VDC and positive 24 VDC electricity
Negative 2.5 VDC and positive 2.5 VDC electricity
Negative 3 VDC and positive 3 VDC electricity
A piece of `Equipment` that transfers heat from one air stream to another while keeping the two media separate.
An `AirHeatExchanger` shall have at least two outlets using the medium `Fluid-Air`, each paired with an inlet.
s223: An `AirHeatExchanger` shall have at least two outlets using the medium `Fluid-Air`, each paired with an inlet.
An `AirHeatExchanger` shall have at least two inlets using the medium `Fluid-Air`, each paired with an outlet.
s223: An `AirHeatExchanger` shall have at least two inlets using the medium `Fluid-Air`, each paired with an outlet.
An `AirHeatExchanger` shall have no bidirectional connection points.
s223: An `AirHeatExchanger` shall have no bidirectional connection points.
The property value indicates whether an alarm condition is active or provides details about an active alarm.
The property value is a number or other identifier of a product in a manufacturer’s catalog.
The property value is a range around a setpoint where no control action is taken to avoid unnecessary corrections.
The property value is a fault indicator or code that signals a malfunction or issue with the system or equipment.
The property value is an upper threshold used in a control or alarm detection algorithm.
The property value is a lower threshold used in a control or alarm detection algorithm.
The property value is a name or other identifier of the product’s manufacturer.
The property value is a highest specified or observed value. (Examples: upper limit of the specified operating voltage range; maximum measured temperature.)
The property value is a lowest specified or observed value. (Examples: lower limit of the specified operating voltage range; minimum measured temperature.)
The property value is a model identifier of the product.
The property value is a value that is expected or desired under normal operating conditions, but may not reflect the actual value at all times. (Example: nominal voltage.)
The property value is the current intended mode of operation, such as 'Automatic', 'On', or 'Off'.
The property value is the current operational status of the system or equipment, such as 'Running,' 'Stopped,' or 'Maintenance Mode.'
The property value indicates a limit for continuous safe operation set by the manufacturer, but may not reflect the actual value at all times. (Example: rated voltage.)
The property value is the serial number assigned by the manufacturer to the system or equipment.
The property value is a target value for a control algorithm.
The property value is a threshold used in a control algorithm.
An `ExternalReference` that contains BACnet protocol parameter values necessary to associate a `Property` with a value.
A piece of `Equipment` that stores a defined amount of chemical energy that can be converted to electrical energy via a chemical process. This process, typically referred to as discharging, produces a specific electrical voltage and current.
Oil as an impurity within some `Mix-Fluid`
The domain that represents equipment that moves people or things within a building. Example `Domain-ConveyanceSystems` equipment include `Elevator` and `Escalator`.
The domain that represents equipment that distributes and monitors electrical power within a building. Example `Domain-Electrical` equipment include `ElectricityBreaker`, `ElectricEnergyConverter`, and `ElectricityMeter`.
The domain that represents equipment that detect and mitigate the spread of fire within a building. Example `Domain-FireProtection` equipment include smoke detectors, alarms, and emergency public address systems.
The domain that represents equipment that illuminate and manage the distribution of light within or outside of a building. Example `Domain-Lighting` equipment include `Luminaire`, `LightSensor`, and `WindowShade`.
The domain that represents equipment that distributes and manages the flow of communication signals within a building. Example `Domain-Networking` equipment include `EthernetSwitch` and `PowerOverEthernetSwitch`
The domain that represents equipment that determine whether and how many people are moving or present within a building. Example `Domain-Occupancy` equipment include `OccupantMotionSensor`, `OccupantPresenceSensor` and `OccupantCountSensor`
The domain that represents equipment that control and monitor physical access to spaces within or outside of a building. Example `Domain-PhysicalSecurity` equipment include cameras, keycard sensors, and biometric scanners.
The domain that represents equipment that distributes, holds, removes and monitors water within or outside of a building. Example `Domain-Plumbing` equipment include `Faucet`, `Sink`, and `FlushToilet`.
The domain that represents equipment that maintain internal temperatures below the surrounding ambient temperature with a building. Example `Domain-Refrigeration` equipment include `Refrigerator` and `Freezer`
A `Sensor` that `observes` a `QuantifiableObservableProperty` that represents a measure of electric current.
An `ElectricCurrentSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `ElectricCurrent`.
s223: An `ElectricCurrentSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `ElectricCurrent`.
A piece of `Equipment` with an enclosed chamber designed for baking, roasting, and other cooking methods that rely on circulating heat.
An `ElectricOven` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: An `ElectricOven` shall have at least one inlet using the medium `Constituent-Electricity`.
A piece of `Equipment` that contains at least one `VoltageSensor` and one `ElectricCurrentSensor`, and reports one or more properties of electricity. Example reported properties include the following `QuantityKind`s: `Voltage`, `ElectricCurrent`, `ActiveEnergy`, `ActivePower`, `ReactivePower`, `ApparentPower`, `PowerFactor`, and `Frequency` with unit Hertz. An `ElectricityMeter` may optionally contain a `Function` that represents the mathematical calculations of the reported properties of electricity.
The medium observed by the sensors contained by an `ElectricityMeter` shall be a `Constituent-Electricity`.
s223: The medium observed by the sensors contained by an `ElectricityMeter` shall be a `Constituent-Electricity`.
An `ElectricityMeter` shall contain at least one `VoltageSensor`.
s223: An `ElectricityMeter` shall contain at least one `VoltageSensor`.
An `ElectricityMeter` shall contain at least one `ElectricCurrentSensor`.
s223: An `ElectricityMeter` shall contain at least one `ElectricCurrentSensor`.
The observation location of the sensors contained by an `ElectricityMeter` shall be either a `Connection` or a `ConnectionPoint`.
s223: The observation location of the sensors contained by an `ElectricityMeter` shall be either a `Connection` or a `ConnectionPoint`.
A piece of equipment that transfers heat from one liquid stream to another while keeping the two media separate.
A `HydronicHeatExchanger` shall have at least two inlets using the medium `Mix-Fluid`, each paired with an outlet.
s223: A `HydronicHeatExchanger` shall have at least two inlets using the medium `Mix-Fluid`, each paired with an outlet.
A `HydronicHeatExchanger` shall have no connection points using the medium `Fluid-Air`.
s223: A `HydronicHeatExchanger` shall have no connection points using the medium `Fluid-Air`.
A `HydronicHeatExchanger` shall have no bidirectional connection points.
s223: A `HydronicHeatExchanger` shall have no bidirectional connection points.
A `HydronicHeatExchanger` shall have at least two outlets using the medium `Mix-Fluid`, each paired with an inlet.
s223: A `HydronicHeatExchanger` shall have at least two outlets using the medium `Mix-Fluid`, each paired with an inlet.
The BluetoothLE radio frequency communication protocol
The IEEE 802.11 radio frequency communication protocol
The IEEE 802.15.4 radio frequency communication protocol
The LoRaWAN radio frequency communication protocol
NFC radio frequency communication protocols
RFID radio frequency communication protocols
This class supports the transfer of mechanical power at `ConnectionPoint`s or through `Connection`s.
Smoke as a particulate of unspecified size, but formed as a product of combustion
A `Sensor` that `observes` a `QuantifiableObservableProperty` that represents a measure of pressure.
A `PressureSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of Pressure.
s223: A `PressureSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of Pressure.
A piece of `Equipment` with heating or cooling surface that delivers 50% or more of its heat transfer by radiation. A `RadiantHeater` shall: - Have the role `Role-Heating`. - Have at least one outlet connection point using the medium `Light-Infrared`. - Conform to exactly one of the following patterns: - **Pattern 1:** - Exactly one inlet connection point using the medium `Constituent-Electricity` or `Fluid-NaturalGas`. - **Pattern 2:** - Exactly one inlet connection point using the medium `Fluid-Water`. - Exactly one outlet connection point using the medium Fluid-Water.
A `RadiantHeater` shall have at least one outlet using the medium `Light-Infrared`.
s223: A `RadiantHeater` shall have at least one outlet using the medium `Light-Infrared`.
A `RadiantHeater` shall at least have the role `Role-Heating`.
s223: A `RadiantHeater` shall at least have the role `Role-Heating`.
Pattern 1: A radiant heater shall have at least one inlet using the medium `Constituent-Electricity` or `Fluid-NaturalGas`.
s223: Pattern 1: A radiant heater shall have at least one inlet using the medium `Constituent-Electricity` or `Fluid-NaturalGas`.
Pattern 2: A radiant heater shall have an outlet using the medium `Fluid-Water`.
s223: Pattern 2: A radiant heater shall have an outlet using the medium `Fluid-Water`.
Pattern 2: A radiant heater shall have an inlet using the medium `Fluid-Water`.
s223: Pattern 2: A radiant heater shall have an inlet using the medium `Fluid-Water`.
RF Signal Extremely High Frequency 30 GHz to 300 GHz
RF Signal Extremely Low Frequency 3 Hz to 30 Hz
RF Signal High Frequency 3 MHz to 30 MHz
RF Signal Low Frequency 30 kHz to 300 kHz
RF Signal Medium Frequency 300 kHz to 3 MHz
RF Signal Super High Frequency 3 GHz to 30 GHz
RF Signal Super Low Frequency 30 Hz to 300 Hz
RF Signal Tremendously High Frequency 300 GHz to 3 THz
RF Signal Ultra Low Frequency 300 Hz to 3 kHz
RF Signal Very High Frequency 30 MHz to 300 MHz
RF Signal Very Low Frequency 3 kHz to 30 kHz
Carbon particles resulting from the incomplete combustion of hydrocarbons. Soot is considered a hazardous substance with carcinogenic properties.
This class represents communication protocols that use radio frequencies in licensed bands of the UHF spectrum.
A `Sensor` that `observes` a `QuantifiableObservableProperty` that represents a measure of voltage.
A `VoltageSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of Voltage.
s223: A `VoltageSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of Voltage.
A piece of `Equipment` that provides a pathway for `EM-Light` or `Fluid-Air` (or both) to flow from a room to another room or the building exterior through a vertical or nearly vertical area of the room envelope.
A `Window` shall have at least one inlet using the medium `EM-Light` or `Fluid-Air`.
s223: A `Window` shall have at least one inlet using the medium `EM-Light` or `Fluid-Air`.
A `Window` shall have at least one outlet using the medium `EM-Light` or `Fluid-Air`.
s223: A `Window` shall have at least one outlet using the medium `EM-Light` or `Fluid-Air`.
A `Relation` that associates an `Actuator` with the `Equipment` that it actuates.
The relation `connected` indicates that two connectable things are `connected` without regard to the direction of flow.
A `Relation` that associates a `Connectable` thing with a `Connection`, without regard to the direction of flow. It is used to discover what connection links two connectable things.
A `Relation` that associates a `Connectable` thing with a `Connection`, with an implied direction of flow. B `connectsFrom` A indicates a flow from A to B.
A `Relation` that associates a `Connection` with a `Connectable` thing, with an implied direction of flow. A `connectsTo` B indicates a flow from A to B.
A `Relation` that associates a `Constituent-Electricity` with an electrical voltage between two live lines.
A `Relation` that associates an `Electricity-AC` medium with an electrical voltage between a live line and a neutral line.
A `Relation` that associates an `EnumerableProperty` that describes an Alarm or Status with a `QuantifiableProperty`.
The `hasBoundaryConnectionPoint` relation means the `ConnectionPoint` represents the boundary of a `System` (see {s223:System}) defined by the modeler, such as a model fragment provided by the vendor of a collection of equipment intended for integration with another model. The presence of this relation is used to indicate that such a "dangling connection point" should not generate a validation error in a non-integrated context but should generate an error in an integrated context.
A `Relation` that associates an `Electricity-DC` medium with a differential voltage.
A `Relation` that associates an `Electricity-DC` medium with a negative polarity voltage.
A `Relation` that associates an `Electricity-DC` medium with a positive polarity voltage.
A `Relation` that associates an `Electricity-DC` medium with a zero value voltage.
This relation binds a control setpoint to the `QuantifiableProperty` indicating the range of values within which a sensed variable can vary without indicating a condition has changed.
A `Relation` that associates a `Zone` with its component `DomainSpace`s.
A `Relation` that associates a `Property` with an external telemetry source.
The relation `hasFreezingPoint` is used to associate a freezing point with a glycol solution, but could be used with other Mediums as appropriate.
A `Relation` that associates an AC electricity `Substance-Medium` with its electrical frequency.
A `Relation` that associates a `Sensor` with the `QuantifiableProperty` whose value indicates the smallest recognizable change in engineering units that the `Sensor` is able to measure.
A `Relation` that associates a `System` with its component `Equipment` and/or `System`s.
A `Relation` that associates an AC electricity `Substance-Medium` with its number of electrical phases.
A `Relation` that associates a piece of `Equipment` with its physical location (i.e., in a `PhysicalSpace`). The physical location of a piece of `Equipment` is not necessarily the same as the location affected by the operation of the `Equipment`. For example, an air handler may physically be located on the roof, but its effect is to provide conditioned air to a `Zone` or `DomainSpace` within the building. By following the path of connections, it can be determined what other equipment or spaces are possibly impacted by the `Equipment`.
A `Relation` that associates a control setpoint with the `QuantifiableProperty` indicating the desired value which the control process is trying to maintain.
A `Relation` that associates a Medium with its thermodynamic phases.
A `Relation` that associates a threshold with the `QuantifiableProperty` indicating a specific value at which an action may be taken, distinguished from an offset or a range.
A `Relation` that associates `Relation`s that are inverses of one another, such as `connectedTo` and `connectedFrom`.
A `Relation` that associates a `Property` with the specific Medium it describes. A `Property` corresponding to the temperature of a medium would be associated with this medium using the relation `ofMedium`.
A ChilledWaterValve shall have at least one analog valve command property or at least two binary valve command properties using the relation hasProperty.
g36: A ChilledWaterValve shall have at least one analog valve command property or at least two binary valve command properties using the relation hasProperty.
A damper shall have at least one analog damper command property or at least two binary damper command properties using the relation hasProperty.
g36: A damper shall have at least one analog damper command property or at least two binary damper command properties using the relation hasProperty.
A HotWaterValve shall have at least one analog valve command property or at least two binary valve command properties using the relation hasProperty.
g36: A HotWaterValve shall have at least one analog valve command property or at least two binary valve command properties using the relation hasProperty.
The property value is a differential value (e.g., pressure difference) instead of an absolute value.
A piece of `Equipment` with a colder surface temperature where air passes through, and air movement is induced in the room to achieve cooling. Cooling medium is generally water.
A `ChilledBeam` shall at least have the role `Role-Cooling`.
s223: A `ChilledBeam` shall at least have the role `Role-Cooling`.
A `ChilledBeam` shall have at least one bidirectional connection point using the medium `Fluid-Air`.
s223: A `ChilledBeam` shall have at least one bidirectional connection point using the medium `Fluid-Air`.
A `ChilledBeam` shall have at least one outlet using the medium `Fluid-Water`.
s223: A `ChilledBeam` shall have at least one outlet using the medium `Fluid-Water`.
A `ChilledBeam` shall have at least one inlet using the medium `Fluid-Water`.
s223: A `ChilledBeam` shall have at least one inlet using the medium `Fluid-Water`.
A piece of `Equipment` that can be programmed to automatically carry out sequences of arithmetic or logical operations (computation). Modern digital electronic computers can perform generic sets of operations known as programs. These programs enable computers to perform a wide range of tasks.
A `Computer` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: A `Computer` shall have at least one inlet using the medium `Constituent-Electricity`.
A piece of `Equipment` that receives an input electrical signal and outputs information, typically text and/or graphics, in a visual form.
An `ElectronicDisplay` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: An `ElectronicDisplay` shall have at least one inlet using the medium `Constituent-Electricity`.
An `ElectronicDisplay` shall have at least one inlet using the medium `Electricity-Signal`.
s223: An `ElectronicDisplay` shall have at least one inlet using the medium `Electricity-Signal`.
`ExternalReference` is an abstract class that represents a thing that contains API or protocol parameter values necessary to associate a `Property` with a value.
This class and its enumerated subclasses represent common infrared communication protocols. : Infrared-Signal Enumerations | Enumeration | |:-----------| | `Signal-FiberEthernet` (see {s223:Signal-FiberEthernet}) |
This class and its enumerated subclasses represent substances that are used to convey the combination of electrical power and electrical communication signals. : Mix-PowerAndSignal Enumerations | Enumeration | |:-----------| | `PowerAndSignal-PoE` |
A piece of `Equipment` that provides primarily convective heating to a room using electricity, steam, or water (e.g., electric baseboard heaters, heated floors, or traditional radiators).
A `Radiator` shall have at least one bidirectional connection point using the medium `Fluid-Air`.
s223: A `Radiator` shall have at least one bidirectional connection point using the medium `Fluid-Air`.
A `Radiator` shall at least have the role `Role-Heating`.
s223: A `Radiator` shall at least have the role `Role-Heating`.
A logical grouping of one or more pieces of `Equipment`, `Junction`s, or other `System`s for some functional purpose.
A `System` shall be associated with zero or more `ConnectionPoint`s that are the "boundary" of the equipment using the relation `hasBoundaryConnectionPoint`. The `hasBoundaryConnectionPoint` relation is used to reference those connection points of its equipment that must be connected, but in the context of validating the model with the system by itself, the "dangling connection point" should not generate a validation error.
s223: A `System` shall be associated with zero or more `ConnectionPoint`s that are the "boundary" of the equipment using the relation `hasBoundaryConnectionPoint`. The `hasBoundaryConnectionPoint` relation is used to reference those connection points of its equipment that must be connected, but in the context of validating the model with the system by itself, the "dangling connection point" should not generate a validation error.
A `System` shall be associated with zero or more `EnumerationKind-Role`s using the relation `hasRole`.
s223: A `System` shall be associated with zero or more `EnumerationKind-Role`s using the relation `hasRole`.
A `System` shall be associated with at least one piece of `Equipment`, `Junction`, or `System` using the relation `hasMember`.
s223: A `System` shall be associated with at least one piece of `Equipment`, `Junction`, or `System` using the relation `hasMember`.
Ensure that the boundary `ConnectionPoint`s of a `System` belong to only members of that `System`
s223: `System` {$this} `hasBoundaryConnectionPoint` {?cp}, belonging to {?con} that is not a member of {?this}.
SELECT $this ?cp ?con WHERE { $this s223:hasBoundaryConnectionPoint ?cp . ?cp s223:isConnectionPointOf ?con . FILTER NOT EXISTS {$this s223:hasMember+ ?con} }
This class and its enumerated subclasses represent gas in various thermodynamic states. : ThermodynamicPhase-Gas Enumerations | Enumeration | |:-----------| | `Gas-Superheated` |
This class and its enumerated subclasses represent liquid in various thermodynamic states. : ThermodynamicPhase-Liquid Enumerations | Enumeration | |:-----------| | `Liquid-Subcooled` |
A type of `Connection` the represents structures, such as fiber optic or coaxial cables, used to convey electromagnetic energy i.e., `Constituent-EM` in a specific direction. Without the physical constraint of a waveguide, waves would expand into three-dimensional space and their intensities would decrease according to the inverse square law.
A `Waveguide` shall be associated with exactly one `Constituent-EM` using the relation `hasMedium`.
s223: A `Waveguide` shall be associated with exactly one `Constituent-EM` using the relation `hasMedium`.
The global standard Data Over Cable Service Interface Specification communication protocol that is used to deliver high-speed internet service over `CoaxialCable` communication networks.
A `Relation` that associates a `PhysicalSpace` with one or more `DomainSpace`s.
A `Relation` that associates a `Controller` (see {s223:Controller}) with the `Function`s (see {s223:Function}) that it executes.
A `Relation` that associates a `Function` (see {s223:Function}) with a `Property` (see {s223:Property}) that is used as input to the `Function`.
The `hasOptionalConnectionPoint` relation means that the `ConnectionPoint` is optional and is not required to be connected. The presence of this relation is used to indicate that such a "dangling connection point" should not generate a validation error in an integrated or non-integrated context.
One of two `Relation`s that associates a `ConnectionPoint` with a `Connectable` thing. It is the inverse of the relation `hasConnectionPoint` (see {s223:hasConnectionPoint}).
The inverse of the relation `hasInternalReference` (see {s223:hasInternalReference}).
This class and its enumerated subclasses represent the possible values of a logical `Property` i.e., True or False. : Binary-Logical Enumerations | Enumeration | |:-----------| | `Logical-False` | | `Logical-True` |
A `Connection` that represents one or more wires used to convey `Constituent-Electricity`. Each instance of `Conductor` applies to no more than one electrical circuit.
A `Conductor` shall be associated with at most one `EnumerationKind-ElectricalPhaseIdentifier` using the relation `hasElectricalPhase`.
s223: A `Conductor` shall be associated with at most one `EnumerationKind-ElectricalPhaseIdentifier` using the relation `hasElectricalPhase`.
Ensure the electrical phase is the same as all connected `ConnectionPoint`s
s223: {$this} has an electrical phase of {?myphase} which is different from {?cpPhase} for `ConnectionPoint` {?cp}.
SELECT $this ?myphase ?cp ?cpPhase WHERE { $this s223:hasElectricalPhase ?myphase . $this s223:connectsAt ?cp . ?cp s223:hasElectricalPhase ?cpPhase . FILTER (?myphase != ?cpPhase) . }
A `Conductor` shall be associated with exactly one `Constituent-Electricity` using the relation `hasMedium`.
s223: A `Conductor` shall be associated with exactly one `Constituent-Electricity` using the relation `hasMedium`.
This class and its enumerated subclasses represent common Nitrogen Oxides (NOx). : Constituent-NOX Enumerations | Enumeration | |:-----------| | `NOX-NO` | | `NOX-NO2` |
A `Coil` that is specifically used to cool air.
A `CoolingCoil` shall at least have the role `Role-Cooling`.
s223: A `CoolingCoil` shall at least have the role `Role-Cooling`.
This class and its enumerated subclasses represent weekend days according to the Gregorian calendar, i.e., Saturday and Sunday. : DayOfWeek-Weekend Enumerations | Enumeration | |:-----------| | `Weekend-Saturday` | | `Weekend-Sunday` |
The domain that represents equipment that condition and ventilate spaces within a building. Example `Domain-HVAC` equipment include `Fan`, `Pump`, and `AirHandlingUnit`.
A portion of a `PhysicalSpace` that is affected by a building service associated with a domain. `DomainSpace`s may represent an entire `PhysicalSpace` or any portion of a `PhysicalSpace` (see {s223:PhysicalSpace}). Multiple `DomainSpace`s of the same domain may overlap, and `DomainSpace`s of different domains may also overlap, but `DomainSpace`s can not overlap multiple `PhysicalSpace`s. `DomainSpace`s may be grouped into `Zone`s using the relation `hasDomainSpace` (see {s223:hasDomainSpace}).
A `DomainSpace` shall be associated with exactly one `EnumerationKind-Domain` using the relation `hasDomain`.
s223: A `DomainSpace` shall be associated with exactly one `EnumerationKind-Domain` using the relation `hasDomain`.
A `DomainSpace` must be enclosed by a `PhysicalSpace`.
s223: A `DomainSpace` must be enclosed by a `PhysicalSpace`.
This class and its enumerated subclasses represent the use electromagnetic energy in the radio frequency range for multiple purposes, including communication signals. : EM-RF Enumerations | Enumeration | |:-----------| | `RF-Signal` (see {s223:RF-Signal}) |
A piece of `Equipment` that converts one form of electric power to another form of electric power.
An `ElectricEnergyConverter` shall have at least two connection points using the medium `Constituent-Electricity`.
s223: An `ElectricEnergyConverter` shall have at least two connection points using the medium `Constituent-Electricity`.
A piece of `Equipment` that provides electrical resistance heating, for example an electric heating coil within a Fan Coil Unit. It shall have one electricity `InletConnectionPoint`, and fit one of the following two patterns: - Pattern 1: An `ElectricResistanceElement` shall have exactly one Bidirectional `ConnectionPoint` using the medium `Mix-Fluid`. - Pattern 2: An `ElectricResistanceElement` shall have one inlet and one outlet using the medium `Mix-Fluid`.
s223: An `ElectricResistanceElement` shall have one electricity `InletConnectionPoint`, plus fit one of the following two patterns: Pattern 1: An `ElectricResistanceElement` shall have exactly one Bidirectional `ConnectionPoint` using the medium `Mix-Fluid`. Pattern 2: An `ElectricResistanceElement` shall have one inlet and one outlet using the medium `Mix-Fluid`.
An `ElectricResistanceElement` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: An `ElectricResistanceElement` shall have at least one inlet using the medium `Constituent-Electricity`.
An `ElectricResistanceElement` shall at least have the role `Role-Heating`.
s223: An `ElectricResistanceElement` shall at least have the role `Role-Heating`.
Pattern 1: An `ElectricResistanceElement` shall have exactly one Bidirectional `ConnectionPoint` using the medium `Mix-Fluid`.
s223: Pattern 1: An `ElectricResistanceElement` requires exactly one `BidirectionalConnectionPoint` using the medium `Mix-Fluid`.
Pattern 2: An `ElectricResistanceElement` shall have one inlet using the medium `Mix-Fluid`.
Pattern 2: An `ElectricResistanceElement` shall have one outlet using the medium `Mix-Fluid`.
An `EnumerableProperty` is a `Property` with an enumerated (fixed) set of possible values.
An `EnumerableProperty` shall be associated with exactly one `EnumerationKind` using the relation `hasEnumerationKind`.
s223: An `EnumerableProperty` shall be associated with exactly one `EnumerationKind` using the relation `hasEnumerationKind`.
Checks for valid enumeration value consistent with the stated `EnumerationKind`.
s223: {$this} has an enumeration value of {?value} which is not a valid {?kind}.
SELECT $this ?value ?kind WHERE { $this s223:hasValue ?value . $this s223:hasEnumerationKind ?kind . FILTER (NOT EXISTS {?value a/rdfs:subClassOf* ?kind}) . }
This class and its enumerated subclasses represent the days of the week, according to the Gregorian calendar i.e., Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, and Sunday. The Weekend and Weekday EnumerationKinds define subsets of this `EnumerationKind` for Mon-Fri and Sat, Sun, respectively. : EnumerationKind-DayOfWeek Enumerations | Enumeration | |:-----------| | `DayOfWeek-Weekday` | | `DayOfWeek-Weekend` |
A `Coil` that is specifically used to heat air.
A `HeatingCoil` shall at least have the role `Role-Heating`.
s223: A `HeatingCoil` shall at least have the role `Role-Heating`.
This class and its enumerated subclasses represent the use of electromagnetic energy in the infrared frequency range for multiple purposes, including communication signals. : Light-Infrared Enumerations | Enumeration | |:-----------| | `Infrared-Signal` (see {s223:Infrared-Signal}) |
A `Sensor` that `observes` a `QuantifiableObservableProperty` that represents an attribute of light, as specified by the `QuantityKind` of the `Property` being observed, as described below.
This class and its subclasses represent substances that are composed of constituents. The components of a `Medium-Mix` can be modeled using the relations `composedOf` and `ofConstituent`. See Figure 10-8a and Figure 10-8b. Figure 10-8a shows `GlycolSolution-30Percent`, itself a subclass of `Water-GlycolSolution`, `Fluid-Water`, and `Mix-Fluid`, with a _Water Concentration_ property referencing 70% `Constituent-H2O` by the relation `ofConstituent` and a _Glycol Concentration_ property referencing 30% `Constituent-Glycol` also by the relation `ofConstituent`. Figure 10-8b shows `PowerAndSignal-PoE`, itself a subclass of `Mix-PowerAndSignal`, composed of a _Power_ `Property` referencing `Electricity-DC` and a _Communications_ `Property` referencing `Signal-WiredEthernet`. ![ ](figures/Figure_10-8_Substance.svg) : Medium-Mix Enumerations | Enumeration | |:-----------| | `Mix-Fluid` (see {s223:Mix-Fluid}) | | `Mix-PowerAndSignal` (see {s223:Mix-PowerAndSignal}) |
A `Medium-Mix` shall be associated with zero or more `Property`s that identify and characterize its constituents using the relation `composedOf`. The `Property` identifies the constituent using the relation `ofConstituent`. If appropriate, a `QuantifiableProperty` may be used to also specify the amount of the constituent using the relations `qudt:hasQuantityKind`, `qudt:hasUnit`, and `hasValue`. For example, see {s223:Water-GlycolSolution}.
s223: A `Medium-Mix` shall be associated with zero or more `Property`s that identify and characterize its constituents using the relation `composedOf`. The `Property` identifies the constituent using the relation `ofConstituent`. If appropriate, a `QuantifiableProperty` may be used to also specify the amount of the constituent using the relations `qudt:hasQuantityKind`, `qudt:hasUnit`, and `hasValue`. For example, see {s223:Water-GlycolSolution}.
The term "observable" implies that reading the `ObservableProperty` value will return the result of a physical observation, usually by a `Sensor`. In contrast, the term "actuatable" (see {s223:ActuatableProperty}) implies that writing to the `ActuatableProperty` value will directly trigger a physical actuation.
An `ObservableProperty` is usually referred to by a `Sensor` using the relation `observes`.
s223: An `ObservableProperty` is usually referred to by a `Sensor` using the relation `observes`.
This class and its enumerated subclasses represent the generic detection of human occupancy in a space. : Occupancy-Occupied Enumerations | Enumeration | |:-----------| | `Occupied-False` | | `Occupied-True` |
A `Sensor` that `observes` an `ObservableProperty` that represents an attribute of occupancy in a space.
An architectural concept representing a room, a part of a room, a collection of rooms, or any other physical region in a building. PhysicalSpaces may be grouped to define larger `PhysicalSpace`s using the relation `contains` (see {s223:contains}).
A `PhysicalSpace` shall be associated with zero or more enclosed `DomainSpace`s using the relation `encloses`.
s223: A `PhysicalSpace` shall be associated with zero or more enclosed `DomainSpace`s using the relation `encloses`.
A `PhysicalSpace` shall be associated with zero or more contained `PhysicalSpace`s using the relation `contains`.
s223: A `PhysicalSpace` shall be associated with zero or more contained `PhysicalSpace`s using the relation `contains`.
A `PowerAndSignal-PoE` shall be associated with at least two `Property`s using the relation `composedOf`. These characterize the constituents of Power over Ethernet (PoE).
s223: A `PowerAndSignal-PoE` shall be associated with at least two `Property`s using the relation `composedOf`. These characterize the constituents of Power over Ethernet (PoE).
One of the constituents of a `PowerAndSignal-PoE` shall be a `Signal-WiredEthernet`.
s223: One of the constituents of a `PowerAndSignal-PoE` shall be a `Signal-WiredEthernet`.
One of the constituents of a `PowerAndSignal-PoE` shall be a `DC-PoE`.
s223: One of the constituents of a `PowerAndSignal-PoE` shall be a `DC-PoE`.
RF Signal Ultra High Frequency 300 MHz to 3 GHz
A piece of `Equipment` that modulates the volume of air delivered to a space.
A `TerminalUnit` shall have at least one outlet using the medium `Fluid-Air`.
s223: A `TerminalUnit` shall have at least one outlet using the medium `Fluid-Air`.
A `TerminalUnit` shall have at least one inlet using the medium `Fluid-Air`.
s223: A `TerminalUnit` shall have at least one inlet using the medium `Fluid-Air`.
This class and its enumerated subclasses represent common concentrations of water-glycol solution. : Water-GlycolSolution Enumerations | Enumeration | |:-----------| | `GlycolSolution-15Percent` | | `GlycolSolution-30Percent` |
A `Water-GlycolSolution` shall be associated with at least two `QuantifiableProperty`s using the relation `composedOf`. These characterize the constituents of a `Water-GlycolSolution`.
s223: A `Water-GlycolSolution` shall be associated with at least two `QuantifiableProperty`s using the relation `composedOf`. These characterize the constituents of a `Water-GlycolSolution`.
One of the constituents of a `Water-GlycolSolution` shall be a `Constituent-H2O`.
s223: One of the constituents of a `Water-GlycolSolution` shall be a `Constituent-H2O`.
The `QuantityKind` of the constituent shall be `VolumeFraction`.
One of the constituents of a `Water-GlycolSolution` shall be a `Constituent-Glycol`.
s223: One of the constituents of a `Water-GlycolSolution` shall be a `Constituent-Glycol`.
A `Water-GlycolSolution` shall be associated with zero or more `QuantifiableProperty`s with a `QuantityKind` of `Temperature` using the relation `hasFreezingPoint`.
s223: A `Water-GlycolSolution` shall be associated with zero or more `QuantifiableProperty`s with a `QuantityKind` of `Temperature` using the relation `hasFreezingPoint`.
The Community Antenna Television communication protocol that is used to deliver cable TV service over `CoaxialCable` or `FiberOpticCable` communication networks.
A `Relation` that associates a piece of `Equipment` with the `ActuatableProperty` that it responds to. If the `Equipment` is an `Actuator` (a subclass of `Equipment`), `actuatedByProperty` is a required relation. An `Actuator` may also identify another piece of `Equipment` being actuated. (see {s223:actuates}).
The relation `connectedFrom` indicates that connectable things are `connected` with a specific direction of flow. B is `connectedFrom` A, means that the direction of flow is from A to B. The inverse direction is indicated by `connectedTo` (see {s223:connectedTo}).
A `Relation` that associates a `ConnectionPoint` with a `Connection`, without regard to the direction of flow.
A `Relation` that associates a `Conductor` or `ConnectionPoint` with at most one `EnumerationKind-ElectricalPhaseIdentifier`.
A `Relation` that associates a `Function` (see {s223:Function}) with a `Property` (see {s223:Property}) that is calculated by the `Function`.
A `Relation` that associates a `Zone` with component `Zone`s.
A `Relation` that associates a `Property` being observed by a `Sensor` with the `EnumerationKind-Substance` it characterizes within a specific `Substance-Medium`. For example, to denote the concentration of a `EnumerationKind-Substance` in a `Substance-Medium`, `ofSubstance` is used. Typically, there is also an `ofMedium` relation between the observed `Property` and the `Substance-Medium`, (see Figures 10-9 and 10-10). For example, to represent the concentration of CO2 in air, we use `ofSubstance` to relate to CO2 and `ofMedium` to relate to air. The term `ofSubstance` is broad enough to include situations where a sensor is used to detect constituents that should not be present in a medium, such as ammonia in air. Therefore, `ofSubstance` is used to indicate the substance of interest, while `ofConstituent` would indicate a constituent that is normally present in the composition of the mix.
A piece of `Equipment` consisting of a pipe or tube that is formed into a helical or serpentine shape, may or may not be finned, and is used in cooling or heating equipment. A `Coil` shall conform to exactly one of the following patterns: - **Pattern 1:** - The `Coil` has exactly two inlet connection points using the medium `Mix-Fluid`, with exactly one being `Fluid-Air`. - The `Coil` has exactly two outlet connection points using the medium `Mix-Fluid`, with exactly one being `Fluid-Air`. - **Pattern 2:** - The Coil has exactly one inlet connection point using the medium `Mix-Fluid`. - The Coil has exactly one outlet connection point using the medium `Mix-Fluid`. - The Coil has one or two bidirectional connection points using the medium `Mix-Fluid` or `Medium-ThermalContact`. - **Pattern 3:** - The Coil has exactly three bidirectional connection points using the medium `Mix-Fluid` or `Medium-ThermalContact`.
s223: A `Coil` shall fit one of the following patterns of `ConnectionPoint`s: 1: Two inlets and two outlets using the medium `Mix-Fluid`. 2: One inlet and one outlet using the medium `Mix-Fluid`, and one or two bidirectionals using the medium `Mix-Fluid` or `Medium-ThermalContact`. 3: Three bidirectionals using the medium `Mix-Fluid` or `Medium-ThermalContact`.
Pattern 1: For one of the two outlets the Fluid is Air.
Pattern 1: For one of the two inlets the Fluid is Air.
Pattern 1: A `Coil` shall have two inlets using the medium `Mix-Fluid`.
Pattern 1: A `Coil` shall have two outlets using the medium `Mix-Fluid`.
Pattern 2: A `Coil` shall have one or two bidirectionals using the medium `Mix-Fluid` or `Medium-ThermalContact`.
Pattern 2: A `Coil` shall have one inlet using the medium `Mix-Fluid`.
Pattern 2: A `Coil` shall have one outlet using the medium `Mix-Fluid`.
Pattern 3: A `Coil` shall have three bidirectionals using the medium `Mix-Fluid` or `Medium-ThermalContact`.
This class and its enumerated subclasses represent all polarities of 12 volt DC electricity. : DC-12V Enumerations | Enumeration | |:-----------| | `12V-6V-Neg-6V-Pos` | | `12V-12V-Neg` | | `12V-12V-Pos` |
This class and its enumerated subclasses represent all polarities of 24 volt DC electricity. : DC-24V Enumerations | Enumeration | |:-----------| | `24V-12V-Neg-12V-Pos` | | `24V-24V-Neg` | | `24V-24V-Pos` |
This class and its enumerated subclasses represent all polarities of 380 volt DC electricity. : DC-380V Enumerations | Enumeration | |:-----------| | `380V-190V-Neg-190V-Pos` | | `380V-380V-Neg` | | `380V-380V-Pos` |
This class and its enumerated subclasses represent all polarities of 48 volt DC electricity. : DC-48V Enumerations | Enumeration | |:-----------| | `48V-24V-Neg-24V-Pos` | | `48V-48V-Neg` | | `48V-48V-Pos` |
This class and its enumerated subclasses represent all polarities of 5 volt DC electricity. : DC-5V Enumerations | Enumeration | |:-----------| | `5V-2.5V-Neg-2.5V-Pos` | | `5V-5V-Neg` | | `5V-5V-Pos` |
This class and its enumerated subclasses represent all polarities of 6 volt DC electricity. : DC-6V Enumerations | Enumeration | |:-----------| | `6V-3V-Neg-3V-Pos` | | `6V-6V-Neg` | | `6V-6V-Pos` |
Numerical enumeration kinds are used to support the definitions of the `Constituent-Electricity`. The enumerations instances in these classes have names that are recognizable by humans but are just a string for a computer application. To avoid the need to parse strings, each of these `EnumerationKind`s have relations with the `EnumerationKind`s that represent electrical phase, voltage, and frequency. The purpose of these properties is to enable a machine to query them and obtain the same information that a person would associate with the string.
An `EnumerationKind-Numerical` shall be associated with exactly one `Unit` using the relation `qudt:hasUnit`.
s223: An `EnumerationKind-Numerical` shall be associated with exactly one `Unit` using the relation `qudt:hasUnit`.
An `EnumerationKind-Numerical` shall be associated with at most one decimal value using the relation `hasValue`.
s223: An `EnumerationKind-Numerical` shall be associated with at most one decimal value using the relation `hasValue`.
An `EnumerationKind-Numerical` shall be associated with exactly one `QuantityKind` using the relation `qudt:hasQuantityKind`.
s223: An `EnumerationKind-Numerical` shall be associated with exactly one `QuantityKind` using the relation `qudt:hasQuantityKind`.
A `Function` is used to model transfer and/or transformation of information (i.e., `Property`). It has relations to input Properties and output Properties. The actual algorithms that perform the transformations are described in CDL and are out of scope of the 223 standard.
A `Function` shall be associated with zero or more input `Property`s using the relation `hasInput`.
s223: A `Function` shall be associated with zero or more input `Property`s using the relation `hasInput`.
A `Function` shall be associated with zero or more output `Property`s using the relation `hasOutput`.
s223: A `Function` shall be associated with zero or more output `Property`s using the relation `hasOutput`.
A piece of `Equipment` that heats or cools spaces by transferring thermal energy from one thermal environment to another using a reversible refrigeration cycle.
A `Junction` is a modeling construct used when a branching point within a `Connection` (see {s223:Connection}) is of significance, such as specifying the observation location of a `Sensor`, or when a modeler wants to expose a branch point within a containing piece of `Equipment`. When a `Junction` is used, what might have been modeled as a single, branched `Connection` is separated into three or more separate connections, all tied together with the `Junction` and its associated connection points. `Junction` is a subclass of `Connectable`, which gives it the ability to have connection points, but unlike `Equipment` (and like `Connection`) it is not allowed to change the `Substance-Medium` that passes through it. This is why `Junction` is a sibling class to `Equipment` and not a subclass. This constraint to maintain compatible mediums among a `Junction` and all of its associated `ConnectionPoint`s gives rise to multiple validation test cases, where the specified medium might be a pure medium, or a mixture with constituents (see {s223:Substance-Medium}).
Incompatible Medium. Case 2: A `Junction` with constituents and an associated `ConnectionPoint` with a pure medium.
s223: `Junction` {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}.
SELECT $this ?m2 ?cp ?m1 WHERE { $this s223:cnx ?cp . ?cp a/rdfs:subClassOf* s223:ConnectionPoint . ?cp s223:hasMedium ?m1 . $this s223:hasMedium ?m2 . ?m2 s223:composedOf/s223:ofConstituent ?s2 . FILTER NOT EXISTS {?m1 s223:composedOf ?c1} . FILTER NOT EXISTS { ?m2 s223:composedOf/s223:ofConstituent ?s12 . {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} . } }
Incompatible Medium. Case 6: Two `ConnectionPoint`s, one with a medium with constituents and one a pure medium.
Incompatible Medium. Case 6: Two `ConnectionPoint`s with a medium with constituents and a pure medium.
s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}.
SELECT $this ?cp1 ?m1 ?cp2 ?m2 WHERE { $this s223:cnx ?cp1 . ?cp1 a/rdfs:subClassOf* s223:ConnectionPoint . ?cp1 s223:hasMedium ?m1 . $this s223:cnx ?cp2 . ?cp2 a/rdfs:subClassOf* s223:ConnectionPoint . ?cp2 s223:hasMedium ?m2 . ?m2 s223:composedOf/s223:ofConstituent ?s2 . FILTER NOT EXISTS {?m1 s223:composedOf ?c1} . FILTER NOT EXISTS { ?m2 s223:composedOf/s223:ofConstituent ?s12 . {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} . } }
Incompatible Medium. Case 7: Two `ConnectionPoint`s with mediums with constituents.
SELECT $this ?cp1 ?m1 ?cp2 ?m2 WHERE { $this s223:cnx ?cp1 . ?cp1 a/rdfs:subClassOf* s223:ConnectionPoint . ?cp1 s223:hasMedium ?m1 . $this s223:cnx ?cp2 . ?cp2 a/rdfs:subClassOf* s223:ConnectionPoint . ?cp2 s223:hasMedium ?m2 . ?m1 s223:composedOf/s223:ofConstituent ?s1 . ?m2 s223:composedOf/s223:ofConstituent ?s2 . FILTER NOT EXISTS { ?m1 s223:composedOf/s223:ofConstituent ?s11 . ?m2 s223:composedOf/s223:ofConstituent ?s12 . FILTER (?s11 = ?s12) . } FILTER NOT EXISTS { ?m1 s223:composedOf/s223:ofConstituent ?s21 . ?m2 s223:composedOf/s223:ofConstituent ?s22 . {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} . } }
Incompatible Medium. Case5: Two `ConnectionPoint`s with pure mediums.
Incompatible Medium. Case 5: Two `ConnectionPoint`s with pure mediums.
SELECT $this ?cp1 ?m1 ?cp2 ?m2 WHERE { $this s223:cnx ?cp1 . ?cp1 a/rdfs:subClassOf* s223:ConnectionPoint . ?cp1 s223:hasMedium ?m1 . $this s223:cnx ?cp2 . ?cp2 a/rdfs:subClassOf* s223:ConnectionPoint . FILTER (?cp1 != ?cp2 ) . ?cp2 s223:hasMedium ?m2 . FILTER (?m1 != ?m2 ) . FILTER NOT EXISTS {?m1 s223:composedOf ?c1} . FILTER NOT EXISTS {?m2 s223:composedOf ?c2} FILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) . FILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) . }
A `Junction` shall be associated with at least two connection points using the relation `hasConnectionPoint`.
s223: A `Junction` shall be associated with at least two connection points using the relation `hasConnectionPoint`.
Incompatible Medium. Case 3: `Junction` with a pure medium and an associated `ConnectionPoint` with constituents
Incompatible Medium. Case 3: `Junction` with a pure medium and an associated `ConnectionPoint` with constituents.
s223: `Junction` {$this} with Medium {?m1} is incompatible with {?cp} with Medium {?m2}.
SELECT $this ?m2 ?cp ?m1 WHERE { $this s223:cnx ?cp . ?cp a/rdfs:subClassOf* s223:ConnectionPoint . ?cp s223:hasMedium ?m2 . $this s223:hasMedium ?m1 . ?m2 s223:composedOf/s223:ofConstituent ?s2 . FILTER NOT EXISTS {?m1 s223:composedOf ?c1} . FILTER NOT EXISTS { ?m2 s223:composedOf/s223:ofConstituent ?s12 . {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} . } }
Incompatible Medium. Case1: A `Junction` with a pure medium and an associated `ConnectionPoint` with a pure medium.
SELECT $this ?m2 ?cp ?m1 WHERE { $this s223:cnx ?cp . ?cp a/rdfs:subClassOf* s223:ConnectionPoint . ?cp s223:hasMedium ?m1 . $this s223:hasMedium ?m2 . FILTER (?m1 != ?m2 ) . FILTER NOT EXISTS {?m1 s223:composedOf ?c1} . FILTER NOT EXISTS {?m2 s223:composedOf ?c2} FILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) . FILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) . }
A `Junction` shall be associated with exactly one `Substance-Medium` using the relation `hasMedium`.
s223: A `Junction` shall be associated with exactly one `Substance-Medium` using the relation `hasMedium`.
Incompatible Medium. Case4: `Junction` with constituents and an associated `ConnectionPoint` with constituents.
Incompatible Medium. Case 4: `Junction` with constituents and an associated `ConnectionPoint` with constituents.
SELECT $this ?m2 ?cp ?m1 WHERE { $this s223:cnx ?cp . ?cp a/rdfs:subClassOf* s223:ConnectionPoint . ?cp s223:hasMedium ?m1 . $this s223:hasMedium ?m2 . ?m1 s223:composedOf/s223:ofConstituent ?s1 . ?m2 s223:composedOf/s223:ofConstituent ?s2 . FILTER NOT EXISTS { ?m1 s223:composedOf/s223:ofConstituent ?s11 . ?m2 s223:composedOf/s223:ofConstituent ?s12 . FILTER (?s11 = ?s12) . } FILTER NOT EXISTS { ?m1 s223:composedOf/s223:ofConstituent ?s21 . ?m2 s223:composedOf/s223:ofConstituent ?s22 . {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} . } }
This class supports the transfer of thermodynamic energy at `ConnectionPoint`s or through `Connection`s that does not involve electricity or moving a fluid such as air or water.
This class and its enumerated subclasses represent the detection of human motion in a space. : Occupancy-Motion Enumerations | Enumeration | |:-----------| | `Motion-False` | | `Motion-True` |
This class and its enumerated subclasses represent the detection of human presence in a space. : Occupancy-Presence Enumerations | Enumeration | |:-----------| | `Presence-False` | | `Presence-True` |
This class and its enumerated subclasses represent common analog communication protocols. : Signal-Modulated Enumerations | Enumeration | |:-----------| | `Modulated-0-10V` | | `Modulated-4-20mA` | | `Modulated-Resistive` |
A `Relation` that associates a `Property` with another equivalent `Property`. For example, a `Property` that represents a `Zone` temperature could have at most one `hasInternalReference` relation to another `Property` that is a temperature measurement from one room in the zone (see Figure 11-2). ![Zone Internal Reference.](figures/Figure_11-2_Zone_Internal_Reference.svg) Another use of `hasInternalReference` is to make a `Property` of a piece of equipment visible as a `Property` of a piece of containing equipment. This is illustrated in Figure 11-3. ![Equipment Containment.](figures/Figure_11-3_Equipment_Contains_3.svg) Note that the hasInternalReference relation is transitive.
The term "actuatable" implies that writing to the `ActuatableProperty` value will directly trigger a physical actuation by either an `Actuator` or `Equipment`. In contrast, the term "observable" (see {s223:ObservableProperty}) implies that reading the `ObservableProperty` value will return the result of a physical observation.
This class and its enumerated subclasses represent basic operational states i.e., On and Off. : Binary-OnOff Enumerations | Enumeration | |:-----------| | `OnOff-Off` | | `OnOff-On` |
A piece of `Equipment` inserted into an air distribution system permitting modification of the air resistance of the system and consequently changing the airflow rate or shutting off the airflow.
A `Damper` shall have at least one inlet using the medium `Fluid-Air`.
s223: A `Damper` shall have at least one inlet using the medium `Fluid-Air`.
A `Damper` shall have at least one outlet using the medium `Fluid-Air`.
s223: A `Damper` shall have at least one outlet using the medium `Fluid-Air`.
An `EnumeratedActuatableProperty` is a `Property` with an enumerated (fixed) set of possible values that can be changed (actuated).
An `EnumeratedObservableProperty` is a `Property` with an enumerated (fixed) set of possible values that cannot be changed (can only be observed).
This class and its enumerated subclasses represent the occupancy status of a space within a building, i.e., the state of being occupied by a human being. The `Occupancy-Motion` and `Occupancy-Presence` subclasses are associated with specific characteristics of occupancy and associated means of detection, while the `Occupancy-Occupied` subclass is generic, in that it is not associated with a specific characteristic or occupancy or associated means of detection.
This class and its enumerated subclasses represent things that are produced, conveyed, sensed, controlled, or consumed. Its enumerated subclasses differentate between mediums, particulates, and soot. : EnumerationKind-Substance Enumerations | Enumeration | |:-----------| | `Substance-Medium` (see {s223:Substance-Medium}) | | `Substance-Particulate` (see {s223:Substance-Particulate}) | | `Substance-Soot` (see {s223:Substance-Soot}) |
If a substance has a constituent, that constituent may not itself have constituents.
s223: This substance {$this} has a constituent {?constituent} that itself is composed of {?nextConstituent}. Create new substance with only atomic constituents.
SELECT $this ?constituent ?nextConstituent WHERE { $this s223:composedOf/s223:ofConstituent ?constituent . ?constituent s223:composedOf/s223:ofConstituent ?nextConstituent . }
A piece of `Equipment` that causes a gas (e.g., air) to flow.
A `Fan` shall have at least one outlet using the medium `Fluid-Air`.
s223: A `Fan` shall have at least one outlet using the medium `Fluid-Air`.
A `Fan` shall have at least one inlet using the medium `Fluid-Air`.
s223: A `Fan` shall have at least one inlet using the medium `Fluid-Air`.
This class and its enumerated subclasses represent common frequencies for AC electricity service. : Numerical-Frequency Enumerations | Enumeration | |:-----------| | `Frequency-50Hz` | | `Frequency-60Hz` |
A `Numerical-Frequency` shall have a `QuantityKind` of `Frequency`.
s223: A `Numerical-Frequency` shall have a `QuantityKind` of `Frequency`.
A `Numerical-Frequency` shall have a `Unit` of `HZ` (hertz).
s223: A `Numerical-Frequency` shall have a `Unit` of `HZ` (hertz).
This class and its enumerated subclasses represent all possible service phases for AC electricity service, i.e., single-phase or three-phase. The `hasNumberOfElectricalPhases` relation points to one of the values of this enumeration. : Numerical-NumberOfElectricalPhases Enumerations | Enumeration | |:-----------| | `NumberOfElectricalPhases-SinglePhase` | | `NumberOfElectricalPhases-ThreePhase` |
This class is for instances of `QuantifiableProperty` for which numerical values are specified to be modifiable by a user or a machine outside of the model, like a setpoint.
This class is for instances of `QuantifiableProperty` for which numerical values are observed, like a temperature reading or a voltage measure.
A `Relation` that associates a `Connection` with a specific `ConnectionPoint`.
A `Relation` that associates a `Zone` or `DomainSpace` with an `EnumerationKind-Domain` (e.g., `Domain-HVAC`, `Domain-Lighting`).
A `Relation` that associates a differential sensor with the topological location of the baseline (reference) `Property` (see {s223:observes}).
A `Relation` that associates something with a fixed value, as opposed to a computed, measured, or externally derived value.
This class and its enumerated subclasses represent electromagnetic energy at commonly defined frequency ranges. : Constituent-EM Enumerations | Enumeration | |:-----------| | `EM-Light` (see {s223:EM-Light}) | | `EM-Microwave` | | `EM-RF` (see {s223:EM-RF}) |
This class and its enumerated subclasses represent weekdays according to the Gregorian calendar, i.e., Monday, Tuesday, Wednesday, Thursday, and Friday. : DayOfWeek-Weekday Enumerations | Enumeration | |:-----------| | `Weekday-Friday` | | `Weekday-Monday` | | `Weekday-Thursday` | | `Weekday-Tuesday` | | `Weekday-Wednesday` |
This class and its enumerated subclasses represent thermodynamic phases, also referred to as states of matter. : EnumerationKind-ThermodynamicPhase Enumerations | Enumeration | |:-----------| | `ThermodynamicPhase-Gas` (see {s223:ThermodynamicPhase-Gas}) | | `ThermodynamicPhase-Liquid` (see {s223:ThermodynamicPhase-Liquid}) | | `ThermodynamicPhase-Solid` | | `ThermodynamicPhase-Vapor` |
This class and its enumerated subclasses represent common size thresholds of interest for particulate matter that is suspended in a medium in a way that maintains the physical and chemical properties of the medium. ![Particulate Concentration](figures/Figure_x-y_Particulate_Concentration.svg) Figure 10-9 shows an instance of a `Connection` with `hasMedium` referencing `Fluid-Air` that has a `Property` _Particulate Concentration_ of particles with a diameter of 2.5 micrometres (0.0025 mm) or smaller in units of micrograms per cubic meter. ![Carbon Monoxide Concentration](figures/Figure_x-y_Medium_Concentration.svg) Figure 10-10 shows an instance of a `Property` _CO Concentration_ with `ofSubstance` referencing carbon monoxide `Constituent-CO` and `ofMedium` referencing `Fluid-Air` measured in parts-per-million. This figure also shows that the value of this `Property` can be obtained by using the BACnet protocol via the external reference to get the `present-value` of `analog-value,67` in the device with an instance number `12345`. : Substance-Particulate Enumerations | Enumeration | |:-----------| | `Particulate-PM1.0` | | `Particulate-PM2.5` | | `Particulate-PM10.0` | | `Particulate-Smoke` |
This class represents the standardized 44-57VDC range that is produced by PoE Power Sourcing Equipment
A `Relation` that associates adjacent entities in a connection path, comprised of Equipment-ConnectionPoint-Connection-ConnectionPoint-Equipment sequences.
The relation `connectedTo` indicates that connectable things are `connected` with a specific direction of flow. A is `connectedTo` B, means a direction of flow from A to B. The inverse direction is indicated by `connectedFrom` (see {s223:connectedFrom}).
A `Relation` that associates a `Property` that characterizes a `Medium-Mix` with one of the constituents of that mix. (e.g., `Fluid-Water` `composedOf` `Property` `ofConstituent` `Constituent-H2O`.
This class and its enumerated subclasses represent standardized types of PoE DC electricity. : DC-PoE Enumerations | Enumeration | |:-----------| | `PoE-802.3af-1` | | `PoE-802.3at-2` | | `PoE-802.3bt-3` | | `PoE-802.3bt-4` |
A type of `Waveguide` that consists of thin, flexible strands of glass or plastic fibers that transmit data as pulses of light and is used for `Signal-FiberEthernet` or `Wideband-CATV` communication. Subclasses of `FiberOpticCable` represent common types used in buildings. : FiberOpticCable Subclasses | Subclass | |:-----------| | `FiberOpticCable-OM1` | | `FiberOpticCable-OM2` | | `FiberOpticCable-OM3` | | `FiberOpticCable-OM4` | | `FiberOpticCable-OM5` | | `FiberOpticCable-OS1` | | `FiberOpticCable-OS2` |
A `FiberOpticCable` shall be associated with exactly one `Signal-FiberEthernet` or `Wideband-CATV` using the relation `hasMedium`.
s223: A `FiberOpticCable` shall be associated with exactly one `Signal-FiberEthernet` or `Wideband-CATV` using the relation `hasMedium`.
This class and its enumerated subclasses represent communication protocols that use radio frequencies that are reserved internationally for license-free support of Industrial, Scientific, and Medical applications. : UHF-ISMBand Enumerations | Enumeration | |:-----------| | `ISMBand-BluetoothLE` | | `ISMBand-IEEE802.11` | | `ISMBand-IEEE802.15.4` | | `ISMBand-LoRaWAN` | | `ISMBand-NFC` | | `ISMBand-RFID` |
A logical grouping of one or more `DomainSpace`s or other `Zone`s for some building service or control-related purpose. `Zone`s can have properties that are inputs or outputs to a `Function` (see {s223:Function}), which can be executed by `Controller`s (see {s223:Controller}) or other `Equipment`.
s223: A `Zone` shall be associated with at least one `DomainSpace` using the relation `hasDomainSpace` or be associated with at least one `Zone` using the relation `hasZone`.
A `Zone` shall be associated with at least one `DomainSpace` using the relation `hasDomainSpace` or be associated with at least one `Zone` using the relation `hasZone`.
The associated domain of a `Zone` and the Domain of the `DomainSpace`s it `contains` must be the same.
s223: The associated domain of a `Zone` and the Domain of the `DomainSpace`s it `contains` must be the same.
The associated `EnumerationKind-Domain` of a `Zone` and the `EnumerationKind-Domain` of the `DomainSpace`s it contains must be the same.
s223: `Zone` {$this} has a Domain of {?domain}, but it contains a `DomainSpace` {?ds} which has a Domain of {?dsdomain}. These should be the same.
SELECT DISTINCT $this ?domain ?ds ?dsdomain WHERE { $this a s223:Zone . $this s223:hasDomain ?domain . $this s223:contains ?ds . ?ds s223:hasDomain ?dsdomain . FILTER (?domain != ?dsdomain) }
A `Zone` shall be associated with exactly one `EnumerationKind-Domain` using the relation `hasDomain`.
s223: A `Zone` shall be associated with exactly one `EnumerationKind-Domain` using the relation `hasDomain`.
A `Relation` that associates a `Sensor` with the topological location where it is observing a `Property` (see {s223:observes}). The observation location shall be a `Connectable` (see {s223:Connectable}), `Connection` (see {s223:Connection}), or `ConnectionPoint` (see {s223:ConnectionPoint}).
This class and its enumerated subclasses represent the use of electricity for creating communication signals, and common communication protocols. : Electricity-Signal Enumerations | Enumeration | |:-----------| | `Signal-EIA485` | | `Signal-IEC14908` | | `Signal-Modulated` (see {s223:Signal-Modulated}) | | `Signal-USB` | | `Signal-WiredEthernet` (see {s223:Signal-WiredEthernet}) |
This class and its enumerated subclasses represent common binary values. : EnumerationKind-Binary Enumerations | Enumeration | |:-----------| | `Binary-Logical` | | `Binary-OnOff` | | `Binary-Position` |
This class and its enumerated subclasses represent light at commonly defined frequency or wavelength ranges. : EM-Light Enumerations | Enumeration | |:-----------| | `Light-Infrared` (see {s223:Light-Infrared}) | | `Light-Ultraviolet` | | `Light-Visible` |
This class and its enumerated subclasses represent substances that facilitate the conveyance of matter, energy, or information. It is used to qualify `Connection`s and `ConnectionPoint`s with the relation `hasMedium` (see {s223:hasMedium}). `Substance-Medium` is also the root of the medium hierarchy that is used to ensure compatibility of different medium designations. For example, `Fluid-Water` and `Water-ChilledWater` are alternative but compatible ways of identifying what is flowing in a pipe, using different degrees of specificity. `Water-ChilledWater` and `Water-HotWater` are not compatible. Compatibility is determined by testing if one medium is a subclass of the other. This gets a bit more complicated in the case of mixtures, where at least one of the constituents of a mixture must be compatible with at least one of the constituents of the other medium. Testing for medium compatibility is done in the context of entities that have a `hasMedium` relation, such as * `Connection` and its associated `ConnectionPoint`s. See {s223:Connection}. * `Junction` and its associated `ConnectionPoint`s See {s223:Junction}. * `Filter` and its associated `ConnectionPoint`s. See {s223:Filter}. * Any `Concept` that has a `hasMedium` relation, compared with an associated `Property` with an `ofMedium` relation. See {s223:Concept}. These tests are listed in the constraint tables for the respective classes listed above, identified as Case 1, Case 2, etc. : Substance-Medium Enumerations | Enumeration | |:-----------| | `Medium-Constituent` (see {s223:Medium-Constituent}) | | `Medium-MechanicalLinkage` | | `Medium-Mix` (see {s223:Medium-Mix}) | | `Medium-ThermalContact` |
A piece of `Equipment` that can be adjusted to allow, regulate, or stop the flow of fluid in a pipe or a duct.
The relation `composedOf` is used to indicate what substances constitute a material. Allowable values are instances of `Property` that in turn identify constituents defined in `Medium-Constituent` (see {s223:Medium-Constituent}) via the relation `ofConstituent`.
`hasAspect` is used to establish the context of a `Property`. The value must be an instance of `EnumerationKind`. For example, if a `Property` has a Temperature value of 45.3, the `hasAspect` relation is used to state what that represents, such as a Temperature limit during working hours, etc. A `Property` can have any number of `hasAspect` relations as needed to establish the context.
A `Relation` that associates two `ConnectionPoint`s where an `InletConnectionPoint` shares the same `Substance-Medium` with an `OutletConnectionPoint`.
This class and its enumerated subclasses represent basic positional states i.e., Closed and Open. : Binary-Position Enumerations | Enumeration | |:-----------| | `Position-Closed` | | `Position-Open` |
This class and its enumerated subclasses represent all possible electrical phases for AC electricity service. : EnumerationKind-ElectricalPhaseIdentifier Enumerations | Enumeration | |:-----------| | `ElectricalPhaseIdentifier-A` | | `ElectricalPhaseIdentifier-AB` | | `ElectricalPhaseIdentifier-ABC` | | `ElectricalPhaseIdentifier-B` | | `ElectricalPhaseIdentifier-BC` | | `ElectricalPhaseIdentifier-C` | | `ElectricalPhaseIdentifier-CA` |
A `Relation` that associates an `EnumerableProperty` with a class of enumeration values. This is used to, for example, identify what kind of substance is transported along a `Connection` or which day of the week a setpoint is active.
A `Relation` that associates a `ConnectionPoint` of a `Connectable` with a corresponding `ConnectionPoint` of the one containing it. The associated `ConnectionPoint`s shall have a compatible medium (see {s223:Substance-Medium}).
A type of `Conductor` that consists of 1, 2 or 4 pairs of twisted wire and is used for `Signal-WiredEthernet` communication. Subclasses of `EthernetCable` represent common types used in buildings. : EthernetCable Subclasses | Subclass | |:-----------| | `EthernetCable-Cat1` | | `EthernetCable-Cat2` | | `EthernetCable-Cat3` | | `EthernetCable-Cat4` | | `EthernetCable-Cat5` | | `EthernetCable-Cat5e` | | `EthernetCable-Cat6` | | `EthernetCable-Cat6a` | | `EthernetCable-Cat7` | | `EthernetCable-Cat7a` | | `EthernetCable-Cat8` |
An `EthernetCable` shall be associated with exactly one `Signal-WiredEthernet` using the relation `hasMedium`.
s223: An `EthernetCable` shall be associated with exactly one `Signal-WiredEthernet` using the relation `hasMedium`.
A reference to the unit of measure of a `QuantifiableProperty` of interest, such as `DEG_C`.
This class and its enumerated subclasses represent common DC electricity services. : Electricity-DC Enumerations | Enumeration | |:-----------| | `DC-5V` | | `DC-6V` | | `DC-12V` | | `DC-24V` | | `DC-48V` | | `DC-380V` | | `DC-PoE` |
An `Electricity-DC` shall be associated with at least one `Numerical-Voltage` using the relation `hasDCDifferentialVoltage`.
s223: An `Electricity-DC` shall be associated with at least one `Numerical-Voltage` using the relation `hasDCDifferentialVoltage`.
An `Electricity-DC` shall be associated with zero or more `Numerical-Voltage`s using the relation `hasDCNegativeVoltage`.
s223: An `Electricity-DC` shall be associated with zero or more `Numerical-Voltage`s using the relation `hasDCNegativeVoltage`.
An `Electricity-DC` shall be associated with zero or more `Numerical-Voltage`s using the relation `hasDCPositiveVoltage`.
s223: An `Electricity-DC` shall be associated with zero or more `Numerical-Voltage`s using the relation `hasDCPositiveVoltage`.
An `Electricity-DC` shall be associated with zero or more `Voltage-0V`s using the relation `hasDCZeroVoltage`.
s223: An `Electricity-DC` shall be associated with zero or more `Voltage-0V`s using the relation `hasDCZeroVoltage`.
`Connectable` is an abstract class representing a thing such as `Equipment` (see {s223:Equipment}), `DomainSpace` (see {s223:DomainSpace}), or `Junction` (see {s223:Junction}) that can be `connected` to other `Connectable`s via `ConnectionPoint`s and `Connection`s.
A `Connectable` shall be associated with zero or more `ConnectionPoint`s using the relation `cnx`.
s223: A `Connectable` shall be associated with zero or more `ConnectionPoint`s using the relation `cnx`.
A `Connectable` shall be associated with zero or more `Connection`s using the relation `connectedThrough`.
s223: A `Connectable` shall be associated with zero or more `Connection`s using the relation `connectedThrough`.
A `Connectable` shall be associated with zero or more other `Connectable`s using the relation `connectedFrom`.
s223: A `Connectable` shall be associated with zero or more other `Connectable`s using the relation `connectedFrom`.
A `Connectable` shall be associated with zero or more other `Connectable`s using the relation `connected`.
s223: A `Connectable` shall be associated with zero or more other `Connectable`s using the relation `connected`.
If a `Connectable` has `connected` or `connectedTo` (i.e., high-level connection specification), it must also have the supporting `cnx` relations (low-level connection specification).
If a `Connectable` has the relation`connected` or `connectedTo` (i.e., high-level connection specification), it must also have the supporting `cnx` relations (low-level connection specification).
s223: {$this} is s223:connected (high-level) to {?otherC} but not connected at the cnx-level.
SELECT $this ?otherC WHERE { $this s223:connected ?otherC . FILTER NOT EXISTS {$this s223:cnx+ ?otherC} }
A `Connectable` shall be associated with zero or more other `Connectable`s using the relation `connectedTo`.
s223: A `Connectable` shall be associated with zero or more other `Connectable`s using the relation `connectedTo`.
A `Connectable` shall be associated with zero or more `ConnectionPoint`s that may not be connected using the relation `hasOptionalConnectionPoint`. The "dangling connection point" should not generate a validation error.
s223: A `Connectable` shall be associated with zero or more `ConnectionPoint`s that may not be connected using the relation `hasOptionalConnectionPoint`. The "dangling connection point" should not generate a validation error.
A `Connectable` shall be associated with zero or more `ConnectionPoint`s using the relation `hasConnectionPoint`.
s223: A `Connectable` shall be associated with zero or more `ConnectionPoint`s using the relation `hasConnectionPoint`.
A `Connection` is the modeling construct used to represent the thing (e.g., pipe, duct, conductor, or free space) that is used to convey some Medium (e.g., water, air, electricity, light, Wi-Fi) between two connectable things. All connections have two or more connection points bound to either `Equipment` (see {s223:Equipment}), `DomainSpace` (see {s223:DomainSpace}), or `Junction` (see {s223:Junction}). See Figure 6-2. If the direction of flow is constrained, that constraint is indicated by using one or more `InletConnectionPoint`s (see {s223:InletConnectionPoint}) to represent the inflow points and `OutletConnectionPoint`s (see {s223:OutletConnectionPoint}) to represent the outflow points. A `Connection` may contain branches or intersections. These may be modeled using `Junction`s if it is necessary to identify a specific intersection. (see {s223:Junction}). The constraint to maintain compatible mediums among a `Connection` and all of its associated `ConnectionPoint`s gives rise to multiple validation test cases, where the specified medium might be a pure medium, or a mixture with constituents. See {s223:Substance-Medium} for more details. ![Graphical Depiction of Connection.](figures/Figure_5-3_Connection.svg)
Incompatible Medium. Case 3: `Connection` with a pure medium and an associated `ConnectionPoint` with constituents.
s223: `Connection` {$this} with medium {?m2} is incompatible with {?cp} with medium {?m1}.
Incompatible Medium. Case 2: A `Connection` with constituents and an associated `ConnectionPoint` with a pure medium.
Incompatible Medium. Case 1: A `Connection` with a pure medium and an associated `ConnectionPoint` with a pure medium.
A `Connection` shall be associated with zero or more `Connectable`s using the relation `connectsFrom`.
s223: A `Connection` shall be associated with zero or more `Connectable`s using the relation `connectsFrom`.
A `Connection` shall be associated with zero or more `ConnectionPoint`s using the relation `cnx`.
s223: A `Connection` shall be associated with zero or more `ConnectionPoint`s using the relation `cnx`.
A `Connection` shall be associated with at least two `ConnectionPoint`s using the relation `connectsAt`.
s223: A `Connection` shall be associated with at least two `ConnectionPoint`s using the relation `connectsAt`.
s223: {?cp1} with medium {?m2} is incompatible with {?cp2} with medium {?m1}.
SELECT $this ?cp1 ?m1 ?cp2 ?m2 WHERE { $this s223:cnx ?cp1 . ?cp1 a/rdfs:subClassOf* s223:ConnectionPoint . ?cp1 s223:hasMedium ?m2 . $this s223:cnx ?cp2 . ?cp2 a/rdfs:subClassOf* s223:ConnectionPoint . FILTER (?cp1 != ?cp2 ) . ?cp2 s223:hasMedium ?m1 . ?m1 s223:composedOf/s223:ofConstituent ?s1 . ?m2 s223:composedOf/s223:ofConstituent ?s2 . FILTER NOT EXISTS { ?m1 s223:composedOf/s223:ofConstituent ?s11 . ?m2 s223:composedOf/s223:ofConstituent ?s12 . FILTER (?s11 = ?s12) . } FILTER NOT EXISTS { ?m1 s223:composedOf/s223:ofConstituent ?s21 . ?m2 s223:composedOf/s223:ofConstituent ?s22 . {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} . } }
Incompatible Medium. Case 4: A `Connection` with constituents and an associated `ConnectionPoint` with constituents.
SELECT $this ?m2 ?cp ?m1 WHERE { $this s223:cnx ?cp . ?cp a/rdfs:subClassOf* s223:ConnectionPoint . ?cp s223:hasMedium ?m2 . $this s223:hasMedium ?m1 . ?m1 s223:composedOf/s223:ofConstituent ?s1 . ?m2 s223:composedOf/s223:ofConstituent ?s2 . FILTER NOT EXISTS { ?m1 s223:composedOf/s223:ofConstituent ?s11 . ?m2 s223:composedOf/s223:ofConstituent ?s12 . FILTER (?s11 = ?s12) . } FILTER NOT EXISTS { ?m1 s223:composedOf/s223:ofConstituent ?s21 . ?m2 s223:composedOf/s223:ofConstituent ?s22 . {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} . } }
A `Connection` shall be associated with zero or more `Connectable`s using the relation `connectsTo`.
s223: A `Connection` shall be associated with zero or more `Connectable`s using the relation `connectsTo`.
A `Connection` shall be associated with zero or more `EnumerationKind-Role`s using the relation `hasRole`.
s223: A `Connection` shall be associated with zero or more `EnumerationKind-Role`s using the relation `hasRole`.
s223: {?cp1} with medium {?m1} is incompatible with {?cp2} with medium {?m2}.
SELECT $this ?cp1 ?m1 ?cp2 ?m2 WHERE { $this s223:cnx ?cp1 . ?cp1 a/rdfs:subClassOf* s223:ConnectionPoint . ?cp1 s223:hasMedium ?m1 . $this s223:cnx ?cp2 . ?cp2 a/rdfs:subClassOf* s223:ConnectionPoint . ?cp2 s223:hasMedium ?m2 . FILTER (?m1 != ?m2 ) . FILTER NOT EXISTS {?m1 s223:composedOf ?c1} . FILTER NOT EXISTS {?m2 s223:composedOf ?c2} FILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) . FILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) . }
Incompatible Medium. Case 6: Two `ConnectionPoint`s, one with a medium with constituents and one with a pure medium.
Incompatible Medium. Case 6: A medium with constituents and a pure medium.
SELECT $this ?cp1 ?m1 ?cp2 ?m2 WHERE { $this s223:cnx ?cp1 . ?cp1 a/rdfs:subClassOf* s223:ConnectionPoint . ?cp1 s223:hasMedium ?m1 . $this s223:cnx ?cp2 . ?cp2 a/rdfs:subClassOf* s223:ConnectionPoint . FILTER (?cp1 != ?cp2 ) . ?cp2 s223:hasMedium ?m2 . ?m2 s223:composedOf/s223:ofConstituent ?s2 . FILTER NOT EXISTS {?m1 s223:composedOf ?c1} . FILTER NOT EXISTS { ?m2 s223:composedOf/s223:ofConstituent ?s12 . {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} . } }
A `Connection` must only have a `cnx` relation with a `ConnectionPoint`
s223: {$this} cannot have a s223:cnx relation to {?something}, because {?something} is not a `ConnectionPoint`.
SELECT $this ?something WHERE { $this s223:cnx ?something . FILTER NOT EXISTS {?something a/rdfs:subClassOf* s223:ConnectionPoint} . }
A `Connection` shall be associated with at most one `EnumerationKind-ThermodynamicPhase` using the relation `hasThermodynamicPhase`.
s223: A `Connection` shall be associated with at most one `EnumerationKind-ThermodynamicPhase` using the relation `hasThermodynamicPhase`.
A `Connection` shall be associated with exactly one `Substance-Medium` using the relation `hasMedium`.
s223: A `Connection` shall be associated with exactly one `Substance-Medium` using the relation `hasMedium`.
This is the encapsulating class for all `EnumerationKind`s. `EnumerationKind`s define the (closed) set of permissible values for a given purpose. For example, `EnumerationKind-DayOfWeek` enumerates the days of the week and allows no other values. `EnumerationKind`s are arranged in a class hierarchy tree, with the root class named `EnumerationKind`. Each subclass is named starting with its immediate superclass, followed by a hyphen and a name that is unique among the sibling classes. Each class is also an instance of itself. This unusual modeling pattern was used to achieve: - The ability to set an `EnumerationKind` value that is more general, or not yet fully specified at the time of modeling, such as `Electricity-AC` without having to state exactly what voltage or frequency it is. - The ability to use the `sh:class` SHACL predicate at any level in the `EnumerationKind` hierarchy to constrain a value in the s223 specification, even if it is a more general one such as `Electricity-AC` in the above example. Certain validation constraints exist in the standard that evaluate compatibility of `EnumerationKind`s. Two values are deemed compatible if they are the same, if one is a direct ancestor (or descendant) of the other, or if they are mixtures sharing at least one constituent.
This class and its enumerated subclasses represent building systems and services e.g., HVAC, Lighting, and Plumbing. : EnumerationKind-Domain Enumerations | Enumeration | |:-----------| | `Domain-ConveyanceSystems` | | `Domain-Electrical` | | `Domain-FireProtection` | | `Domain-HVAC` | | `Domain-Lighting` | | `Domain-Networking` | | `Domain-Occupancy` | | `Domain-PhysicalSecurity` | | `Domain-Plumbing` | | `Domain-Refrigeration` |
A `Sensor` `observes` an `ObservableProperty` (see {s223:ObservableProperty}) which may be quantifiable (see {s223:QuantifiableObservableProperty}), such as a temperature, flow, or concentration, or enumerable (see {s223:EnumeratedObservableProperty}), such as an occupancy state. If a `Sensor` observes a `QuantifiableObservableProperty` relative to an assumed or common reference point, it can be modeled with only an observation location. For example: ```turtle @prefix : <http://example.com/> . :example1 a s223:TemperatureSensor ; s223:hasObservationLocation :location1 ; qudt:hasQuantityKind quantitykind:Temperature . ``` If a `Sensor` observes a `QuantifiableObservableProperty` relative to a unique or specified reference point, it can be modeled with an observation location and a reference location, and indicating the difference between two values by setting `qudt:isDeltaQuantity` to `true`. For example: ```turtle @prefix : <http://example.com/> . :example2 a s223:TemperatureSensor ; s223:hasObservationLocation :location1 ; s223:hasReferenceLocation :location2 ; qudt:hasQuantityKind quantitykind:Temperature ; qudt:isDeltaQuantity true . ```
If the `hasReferenceLocation` relation exists, the observed `Property` shall have `qudt:isDeltaQuantity` true.
s223: `Sensor` {$this} has a reference location, but its `Property` lacks `qudt:isDeltaQuantity` true.
SELECT $this WHERE { $this s223:hasReferenceLocation ?y . $this s223:observes ?x . ?x a/rdfs:subClassOf* s223:QuantifiableProperty . FILTER NOT EXISTS {$this s223:observes/qudt:isDeltaQuantity true} }
If the observed `Property` has `qudt:isDeltaQuantity` true, the `Sensor` shall have a `hasReferenceLocation` relation.
s223: `Sensor` {$this} has `Property` {?x} with `qudt:isDeltaQuantity` true, but the `Sensor` lacks a reference location.
SELECT $this ?x WHERE { $this s223:observes/qudt:isDeltaQuantity true . $this s223:observes ?x . ?x a/rdfs:subClassOf* s223:QuantifiableProperty . FILTER NOT EXISTS {$this s223:hasReferenceLocation ?y} }
A `Sensor` shall be associated with zero or more `QuantifiableProperty`s using the relation `hasMeasurementResolution`.
s223: A `Sensor` shall be associated with zero or more `QuantifiableProperty`s using the relation `hasMeasurementResolution`.
If a `Sensor` measures a differential property, it shall be associated with a reference location using the relation `hasReferenceLocation`.
s223: If a `Sensor` measures a differential property, it shall be associated with a reference location using the relation `hasReferenceLocation`.
A `Sensor` shall be associated with exactly one location using the relation `hasObservationLocation`.
s223: A `Sensor` shall be associated with exactly one location using the relation `hasObservationLocation`.
A `Sensor` shall be associated with exactly one `ObservableProperty` using the relation `observes`.
s223: A `Sensor` shall be associated with exactly one `ObservableProperty` using the relation `observes`.
A `Relation` that associates a piece of `Equipment` with its component pieces of `Equipment`, or a `PhysicalSpace` (see {s223:PhysicalSpace}) with its component `PhysicalSpace`s.
A `Relation` that associates a role with of a piece of `Equipment`, a `Connection`, `ConnectionPoint`, or `System` within a building (e.g., a heating coil might be associated with `Role-Heating`). Possible values are defined in `EnumerationKind-Role` (see {s223:EnumerationKind-Role}).
This class and its enumerated subclasses represent substances that are commonly used to convey liquids or gases. : Mix-Fluid Enumerations | Enumeration | |:-----------| | `Fluid-Air` | | `Fluid-NaturalGas` | | `Fluid-Oil` | | `Fluid-Water` (see {s223:Fluid-Water}) |
This class and its enumerated subclasses represent the use of radio frequency for creating communication signals, and common communication protocols. The radio spectrum of frequencies (`RF-Signal`) is divided into bands (i.e., subclasses) with conventional names designated by the International Telecommunication Union (e.g., UHF for Ultra High Frequency). : RF-Signal Enumerations | Enumeration | |:-----------| | `Signal-EHF` | | `Signal-ELF` | | `Signal-HF` | | `Signal-LF` | | `Signal-MF` | | `Signal-SHF` | | `Signal-SLF` | | `Signal-THF` | | `Signal-UHF` (see {s223:Signal-UHF}) | | `Signal-ULF` | | `Signal-VHF` | | `Signal-VLF` | | `Signal-Wideband` (see {s223:Signal-Wideband}) |
A `Relation` that associates a `Concept` with a `Property`.
Aspect enumerations provide context to the meaning of a `Property` that would otherwise not be apparent.
A `BidirectionalConnectionPoint` is a `ConnectionPoint` for which a `Substance-Medium` is expected to flow either into or out of the associated `Connectable`.
A `BidirectionalConnectionPoint` shall be associated with at most one other `BidirectionalConnectionPoint` using the relation `mapsTo`.
s223: A `BidirectionalConnectionPoint` shall be associated with at most one other `BidirectionalConnectionPoint` using the relation `mapsTo`.
A `BidirectionalConnectionPoint` shall be associated with at most one `ConnectionPoint` using the relation `pairedConnectionPoint`.
s223: A `BidirectionalConnectionPoint` shall be associated with at most one `ConnectionPoint` using the relation `pairedConnectionPoint`.
This class and its enumerated subclasses represent substances that may be combined to form a `Medium-Mix`. Constituents are distinguished from `Medium-Mix` and its subclasses in that constituents cannot use the `composedOf` relation to reference a concentration of other constituents. : Medium-Constituent Enumerations | Enumeration | |:-----------| | `Constituent-Ar` | | `Constituent-CH4` | | `Constituent-CO` | | `Constituent-CO2` | | `Constituent-Electricity` (see {s223:Constituent-Electricity}) | | `Constituent-EM` (see {s223:Constituent-EM}) | | `Constituent-Glycol` | | `Constituent-H2O` | | `Constituent-H2S` | | `Constituent-N2` | | `Constituent-NH3` | | `Constituent-NOX` (see {s223:Constituent-NOX}) | | `Constituent-O2` | | `Constituent-O3` | | `Constituent-Oil` | | `Constituent-Radon` | | `Constituent-Refrigerant` (see {s223:Constituent-Refrigerant}) | | `Constituent-SO2` | | `Constituent-VolatileOrganicCompounds` |
A `Medium-Constituent` shall not be associated with any substances using the relation `composedOf`.
s223: A `Medium-Constituent` shall not be associated with any substances using the relation `composedOf`.
An attribute, quality, or characteristic of a feature of interest. The `Property` class is the parent of all variations of a `Property`, which are: - `ActuatableProperty`, a subclass of `Property` that can be modified by user or machine outside of the model (typically command); - `ObservableProperty`, a subclass of `Property` that are observed (typically measures); - `EnumerableProperty`, a subclass of `Property` defined by `EnumerationKind`; and - `QuantifiableProperty`, a subclass of `Property` defined by numerical values. And their subclass combinations: - `QuantifiableActuatableProperty`, - `QuantifiableObservableProperty`, - `EnumeratedObservableProperty`, and - `EnumeratedActuatableProperty`. A `QuantifiableProperty` (or subclass thereof) shall always be associated with a `Unit` and a `QuantityKind`, either explicitly from the `Property`, or through the associated Value. If the `Unit` is defined, the SHACL reasoner (if invoked) will figure out and assert a `QuantityKind` if it is unambiguous. Enumerable properties shall be associated with an `EnumerationKind`. Different flavors of properties are shown in Figure 11-1. ![Different flavors of Properties](figures/Figure_11-1_Flavors_of_Properties.svg) A `Property` instance that is not an instance of one of the subclasses is unconstrained with respect to its value.
A `Property` shall be associated with at most one `EnumerationKind-Substance` using the relation `ofSubstance`.
s223: A `Property` shall be associated with at most one `EnumerationKind-Substance` using the relation `ofSubstance`.
If an incoming relation `composedOf` exists, then the `Property` must have a declared substance using the relation `ofConstituent`.
s223: `Property` {$this} is referred to by {?something} with s223:composedOf, but the `Property` has no value for s223:ofConstituent.
SELECT $this ?something WHERE { ?something s223:composedOf $this . FILTER NOT EXISTS {$this s223:ofConstituent ?someSubstance} . }
A `Property` shall be associated with at most one `Function` using the inverse of the relation `hasOutput`.
s223: A `Property` shall be associated with at most one `Function` using the inverse of the relation `hasOutput`.
A `Property` shall be associated with zero or more `EnumerationKind`s using the relation `hasAspect`.
s223: A `Property` shall be associated with zero or more `EnumerationKind`s using the relation `hasAspect`.
A `Property` shall be associated with at most one other `Property` using the relation `isInternalReferenceOf`.
s223: A `Property` shall be associated with at most one other `Property` using the relation `isInternalReferenceOf`.
A `Property` must not have both a `hasInternalReference` and a `hasValue` relation.
s223: {$this} cannot have both a `hasInternalReference` and a `hasValue` relation.
SELECT $this WHERE { $this s223:hasInternalReference ?int . $this s223:hasValue ?val . }
A `Property` must not have both a `hasInternalReference` and a `hasExternalReference` relation.
s223: {$this} cannot have both a `hasInternalReference` and a `hasExternalReference` relation.
SELECT $this WHERE { $this s223:hasInternalReference ?int . $this s223:hasExternalReference ?ext . }
A `Property` must not be observed (set) by more than one entity.
s223: A `Property` must not be observed (set) by more than one entity.
If a `Property` has an `ofSubstance` relation, it should also have an `ofMedium` relation.
s223: Since Property {$this} has an `ofSubstance` relation, it should also have an `ofMedium` relation.
SELECT $this WHERE { $this s223:ofSubstance ?substance . FILTER NOT EXISTS {$this s223:ofMedium ?medium} . }
A `Property` shall be associated with at most one `Substance-Medium` using the relation `ofMedium`.
s223: A `Property` shall be associated with at most one `Substance-Medium` using the relation `ofMedium`.
A `Property` shall be associated with at most one value using the relation `hasValue` to provide a static value in the model. It is not meant for real-time value (see {s223:hasExternalReference}).
s223: A `Property` shall be associated with at most one value using the relation `hasValue` to provide a static value in the model. It is not meant for real-time value (see {s223:hasExternalReference}).
A `Property` must not have both a `hasExternalReference` and a `hasValue` relation.
s223: {$this} cannot have both a `hasExternalReference` and a `hasValue` relation.
SELECT $this WHERE { $this s223:hasExternalReference ?ext . $this s223:hasValue ?val . }
A `Property` shall be associated with at most one other `Property` using the relation `hasInternalReference`.
s223: A `Property` shall be associated with at most one other `Property` using the relation `hasInternalReference`.
A `Property` shall be associated with zero or more `ExternalReference`s using the relation `hasExternalReference`.
s223: A `Property` shall be associated with zero or more `ExternalReference`s using the relation `hasExternalReference`.
A `Property` cannot be declared an instance of both an `ActuatableProperty` and an `ObservableProperty`.
s223: {$this} cannot be declared an instance of both an `ActuatableProperty` and an `ObservableProperty`.
SELECT $this WHERE { $this a/rdfs:subClassOf* s223:ActuatableProperty . $this a/rdfs:subClassOf* s223:ObservableProperty . }
A `Relation` that associates a `Sensor` with one `ObservableProperty` (see {s223:ObservableProperty}) which is used by the sensor to generate a measurement value (e.g., a temperature) or a simple observation of a stimulus causing a reaction (e.g., a current binary switch that closes a dry contact when a fan is powered on).
This class and its enumerated subclasses represent common fiber Ethernet communication protocols. : Signal-FiberEthernet Enumerations | Enumeration | |:-----------| | `FiberEthernet-1X9` | | `FiberEthernet-300PIN` | | `FiberEthernet-CFP` | | `FiberEthernet-CFP2` | | `FiberEthernet-CFP4` | | `FiberEthernet-CPAK` | | `FiberEthernet-CXP` | | `FiberEthernet-GBIC` | | `FiberEthernet-QSFP` | | `FiberEthernet-QSFP+` | | `FiberEthernet-QSFP28` | | `FiberEthernet-SFF` | | `FiberEthernet-SFP` | | `FiberEthernet-SFP+` | | `FiberEthernet-X2` | | `FiberEthernet-XENPAK` | | `FiberEthernet-XFP` |
This class and its enumerated subclasses represent common wired Ethernet communication protocols. : Signal-WiredEthernet Enumerations | Enumeration | |:-----------| | `WiredEthernet-2.5GBASE-T` | | `WiredEthernet-2.5GBASE-T1` | | `WiredEthernet-5GBASE-T` | | `WiredEthernet-5GBASE-T1` | | `WiredEthernet-10BASE-T` | | `WiredEthernet-10BASE-T1L` | | `WiredEthernet-10BASE-T1S` | | `WiredEthernet-10GBASE-T` | | `WiredEthernet-10GBASE-T1` | | `WiredEthernet-25GBASE-T` | | `WiredEthernet-40GBASE-T` | | `WiredEthernet-100BASE-T1` | | `WiredEthernet-100BASE-TX` | | `WiredEthernet-1000BASE-T` | | `WiredEthernet-1000BASE-T1` |
A `ConnectionPoint` is an abstract modeling construct used to represent the fact that one connectable thing can be connected to another connectable thing using a `Connection`. It is the abstract representation of the flange, wire terminal, or other physical feature where a connection is made. `Equipment`, `DomainSpace`s and `Junction`s can have one or more `ConnectionPoint`s (see {s223:Connectable}). A `ConnectionPoint` is constrained to relate to a specific medium such as air, water, or electricity which determines what other things can be connected to it. For example, constraining a `ConnectionPoint` to be for air means it cannot be used for an electrical connection. A `ConnectionPoint` belongs to exactly one connectable thing (see {s223:Connectable}). `ConnectionPoint`s are represented graphically in this standard by a triangle with the point indicating a direction of flow, or a diamond in the case of a bidirectional flow as shown in Figure 6-1. ![Graphical Representation of a ConnectionPoint](figures/Figure_5-2_Graphical_Depiciton_of_Connection_Points.svg)
A `ConnectionPoint` should be associated with at most one `Connection` using the relation `connectsThrough`.
s223: A `ConnectionPoint` should be associated with at most one `Connection` using the relation `connectsThrough`.
A `ConnectionPoint` must not have both a `mapsTo` and a `connectsThrough` relation.
s223: {$this} cannot have both a `mapsTo` {?uppercp} and a `connectsThrough` {?connection}.
SELECT $this ?uppercp ?connection WHERE { $this s223:mapsTo ?uppercp . $this s223:connectsThrough ?connection . ?connection a/rdfs:subClassOf* s223:Connection . }
Ensure that the Medium identified by a `ConnectionPoint` via the `hasMedium` relation is compatible with the Medium identified by the entity identified by the `mapsTo` relation.
s223: {$this} declares a medium of {?a}, but the medium of {?b} is declared by {?target} pointed to by the `mapsTo` relation.
SELECT DISTINCT $this ?a ?b ?target WHERE { $this s223:hasMedium ?a . $this s223:mapsTo+ ?target . ?target s223:hasMedium ?b . ?a a/rdfs:subClassOf* s223:Substance-Medium . ?b a/rdfs:subClassOf* s223:Substance-Medium . FILTER (?a != ?b ) . FILTER (NOT EXISTS {?b a/rdfs:subClassOf* ?a}) . FILTER (NOT EXISTS {?a a/rdfs:subClassOf* ?b}) . }
If a `ConnectionPoint` lacks a `connectsThrough` and `mapsTo` relation, but is associated with a `Junction` or `Equipment` that is contained by an `Equipment`, then suggest that the `ConnectionPoint` might need a `mapsTo` relation to a `ConnectionPoint` of the containing `Equipment`.
s223: `ConnectionPoint` {$this} could be missing a `mapsTo` relation to a `ConnectionPoint` of {?containerEquipment} because it is associated with a `Junction` or `Equipment` that is contained by {?containerEquipment}.
SELECT $this ?containerEquipment WHERE { FILTER NOT EXISTS {$this s223:connectsThrough ?anything1} . FILTER NOT EXISTS {$this s223:mapsTo ?anything2} . FILTER NOT EXISTS {?anything3 s223:hasBoundaryConnectionPoint $this} . $this s223:isConnectionPointOf ?equipment . ?containerEquipment s223:contains ?equipment . }
If a `ConnectionPoint` `mapsTo` another `ConnectionPoint`, the respective `Equipment` should have a `contains` relation.
s223: {?otherEquipment} should contain {?equipment} because `ConnectionPoint` {$this} has a `mapsTo` relation.
SELECT $this ?equipment ?otherEquipment WHERE { $this s223:mapsTo ?otherCP . ?equipment s223:hasConnectionPoint $this . ?otherEquipment s223:hasConnectionPoint ?otherCP . FILTER NOT EXISTS {?otherEquipment s223:contains ?equipment} }
A `ConnectionPoint` shall be associated with at most one other `ConnectionPoint` using the relation `pairedConnectionPoint`.
s223: A `ConnectionPoint` shall be associated with at most one other `ConnectionPoint` using the relation `pairedConnectionPoint`.
A `ConnectionPoint` shall be associated with at most one `Connection` using the relation `cnx`.
s223: A `ConnectionPoint` shall be associated with at most one `Connection` using the relation `cnx`.
If a `ConnectionPoint` lacks a `connectsThrough` and `mapsTo` relation, and is not associated with a `Junction` or `Equipment` that is contained by an `Equipment`, then suggest that the `ConnectionPoint` probably needs an association with a `Connection`.
s223: `ConnectionPoint` {$this} probably needs an association with a `Connection`, or use of `hasOptionalConnectionPoint` or `hasBoundaryConnectionPoint` qualifiers.
SELECT $this WHERE { FILTER NOT EXISTS {?sys1 s223:hasBoundaryConnectionPoint $this} . FILTER NOT EXISTS {?sys2 s223:hasOptionalConnectionPoint $this} . FILTER NOT EXISTS {$this s223:connectsThrough ?anything1} . FILTER NOT EXISTS {$this s223:mapsTo ?anything2} . $this s223:isConnectionPointOf ?equipment . FILTER NOT EXISTS {?containerEquipment s223:contains ?equipment} . }
A `ConnectionPoint` shall be associated with at most one other `ConnectionPoint` using the inverse of the relation `pairedConnectionPoint`.
s223: A `ConnectionPoint` shall be associated with at most one other `ConnectionPoint` using the inverse of the relation `pairedConnectionPoint`.
A `ConnectionPoint` shall be associated with at most one `EnumerationKind-ElectricalPhaseIdentifier` using the relation `hasElectricalPhase`.
s223: A `ConnectionPoint` shall be associated with at most one `EnumerationKind-ElectricalPhaseIdentifier` using the relation `hasElectricalPhase`.
A `ConnectionPoint` shall be associated with at most one `Connectable` using the relation `cnx`.
s223: A `ConnectionPoint` shall be associated with at most one `Connectable` using the relation `cnx`.
A `ConnectionPoint` shall be associated with exactly one `Connectable` using the relation `isConnectionPointOf`.
s223: A `ConnectionPoint` shall be associated with exactly one `Connectable` using the relation `isConnectionPointOf`.
A `ConnectionPoint` shall be associated with zero or more `EnumerationKind-Role`s using the relation `hasRole`.
s223: A `ConnectionPoint` shall be associated with zero or more `EnumerationKind-Role`s using the relation `hasRole`.
A `ConnectionPoint` shall be associated with at most one other `ConnectionPoint` using the inverse of the relation `mapsTo`.
s223: A `ConnectionPoint` shall be associated with at most one other `ConnectionPoint` using the inverse of the relation `mapsTo`.
A `ConnectionPoint` shall be associated with exactly one `Substance-Medium` using the relation `hasMedium`.
s223: A `ConnectionPoint` shall be associated with exactly one `Substance-Medium` using the relation `hasMedium`.
A `ConnectionPoint` shall be associated with at most one other `ConnectionPoint` using the relation `mapsTo`.
s223: A `ConnectionPoint` shall be associated with at most one other `ConnectionPoint` using the relation `mapsTo`.
Subclasses of ConnectionPoint are Disjoint. An instance of a subclass of ConnectionPoint cannot be an instance of multiple such subclasses.
s223: `ConnectionPoint` {$this} cannot be an instance of both {?subclass1} and {?subclass2}.
SELECT $this ?subclass1 ?subclass2 WHERE { $this a ?subclass1, ?subclass2 . ?subclass1 a s223:Class . ?subclass2 a s223:Class . ?subclass1 rdfs:subClassOf s223:ConnectionPoint . ?subclass2 rdfs:subClassOf s223:ConnectionPoint . FILTER(?subclass1 != ?subclass2) }
This class is for quantifiable values that describe an object (`System`, `Equipment`, etc.) that are typically static (`hasValue`). That is, they are neither measured nor specified in the course of operations.
A `QuantifiableProperty` shall be associated with at most one Boolean value using the relation `qudt:isDeltaQuantity`. If the relation `qudt:isDeltaQuantity` has a value of true, the associated value should be interpreted as a difference reading, such as a temperature difference. This is needed to distinguish between a temperature reading and a temperature difference reading, which affects unit conversion calculations.
s223: A `QuantifiableProperty` shall be associated with at most one Boolean value using the relation `qudt:isDeltaQuantity`. If the relation `qudt:isDeltaQuantity` has a value of true, the associated value should be interpreted as a difference reading, such as a temperature difference. This is needed to distinguish between a temperature reading and a temperature difference reading, which affects unit conversion calculations.
A `QuantifiableProperty` shall be associated with zero or more `EnumerableProperty`s using the relation `hasAlarmStatus`.
s223: A `QuantifiableProperty` shall be associated with zero or more `EnumerableProperty`s using the relation `hasAlarmStatus`.
This `QuantifiableProperty` and the associated deadband use non-commensurate `Unit`s.
s223: {$this} uses `Unit` {?punit}, while deadband {?deadband} uses `Unit` {?dunit}. These are non-commensurate.
SELECT $this ?deadband ?punit ?dunit WHERE { $this qudt:hasUnit ?punit . $this s223:hasDeadband ?deadband . ?deadband qudt:hasUnit ?dunit . ?punit qudt:hasDimensionVector ?pdv . ?dunit qudt:hasDimensionVector ?ddv . FILTER (?punit != ?dunit) . FILTER (?pdv != ?ddv) . }
A `QuantifiableProperty` shall be associated with zero or more `qudt:QuantityValue`s using the relation `qudt:quantityValue`. This allows to express multiple equivalent combinations of a `Unit` and value. However, typically a `QuantifiableProperty` is associated with a static decimal value using `hasValue`, along with a single `Unit` and `QuantityKind`.
s223: A `QuantifiableProperty` shall be associated with zero or more `qudt:QuantityValue`s using the relation `qudt:quantityValue`. This allows to express multiple equivalent combinations of a `Unit` and value. However, typically a `QuantifiableProperty` is associated with a static decimal value using `hasValue`, along with a single `Unit` and `QuantityKind`.
This `QuantifiableProperty` and the setpoint associated with it have non-commensurate `QuantityKind`s.
s223: {$this} uses `QuantityKind` {?pqk} with DimensionVector {?pdv}, while Setpoint {?setpoint} uses `QuantityKind` {?sqk} with DimensionVector {?sdv}. These are non-commensurate
SELECT $this ?setpoint ?pqk ?sqk ?pdv ?sdv WHERE { $this qudt:hasQuantityKind ?pqk . $this s223:hasSetpoint ?setpoint . ?setpoint qudt:hasQuantityKind ?sqk . ?pqk qudt:hasDimensionVector ?pdv . ?sqk qudt:hasDimensionVector ?sdv . FILTER (?pqk != ?sqk) . FILTER (?pdv != ?sdv) . }
This `QuantifiableProperty` uses a different `Unit` than the deadband associated with it.
s223: {$this} uses `Unit` {?punit}, while deadband {?deadband} uses `Unit` {?dunit}. Be careful.
SELECT $this ?deadband ?punit ?dunit WHERE { $this qudt:hasUnit ?punit . $this s223:hasDeadband ?deadband . ?deadband qudt:hasUnit ?dunit . ?punit qudt:hasDimensionVector ?pdv . ?dunit qudt:hasDimensionVector ?ddv . FILTER (?punit != ?dunit) . FILTER (?pdv = ?ddv) . }
This `QuantifiableProperty` uses a different `Unit` than the threshold associated with it.
s223: {$this} uses `Unit` {?punit}, while threshold {?threshold} uses `Unit` {?tunit}. Be careful.
SELECT $this ?threshold ?punit ?tunit WHERE { $this qudt:hasUnit ?punit . $this s223:hasThreshold ?threshold . ?threshold qudt:hasUnit ?tunit . ?punit qudt:hasDimensionVector ?pdv . ?tunit qudt:hasDimensionVector ?tdv . FILTER (?punit != ?tunit) . FILTER (?pdv = ?tdv) . }
This `QuantifiableProperty` cannot have a value without a `Unit`.
s223: {$this} referenced by {?subject} has a value of {?v} but does not specify a `Unit`.
SELECT $this ?v ?subject WHERE { $this s223:hasValue ?v . FILTER NOT EXISTS {$this qudt:hasUnit ?u} . ?subject ?p $this . }
This `QuantifiableProperty` and the threshold associated with it have non-commensurate `QuantityKind`s.
s223: {$this} uses `QuantityKind` {?pqk} with DimensionVector {?pdv}, while threshold {?threshold} uses `QuantityKind` {?tqk} with DimensionVector {?tdv}. These are non-commensurate
SELECT $this ?threshold ?pqk ?sqk ?pdv ?sdv WHERE { $this qudt:hasQuantityKind ?pqk . $this s223:hasThreshold ?threshold . ?threshold qudt:hasQuantityKind ?tqk . ?pqk qudt:hasDimensionVector ?pdv . ?tqk qudt:hasDimensionVector ?tdv . FILTER (?pqk != ?tqk) . FILTER (?pdv != ?tdv) . }
A `QuantifiableProperty` shall be associated with zero or more other `QuantifiableProperty`s using the relation `hasDeadband`.
s223: A `QuantifiableProperty` shall be associated with zero or more other `QuantifiableProperty`s using the relation `hasDeadband`.
A `QuantifiableProperty` shall be associated with zero or more other `QuantifiableProperty`s using the relation `hasThreshold`.
s223: A `QuantifiableProperty` shall be associated with zero or more other `QuantifiableProperty`s using the relation `hasThreshold`.
A `QuantifiableProperty` shall be associated with at most one `Unit` using the relation `qudt:hasUnit`.
s223: A `QuantifiableProperty` shall be associated with at most one `Unit` using the relation `qudt:hasUnit`.
This `QuantifiableProperty` and the deadband associated with it have non-commensurate `QuantityKind`s.
s223: {$this} uses `QuantityKind` {?pqk} with DimensionVector {?pdv}, while deadband {?deadband} uses `QuantityKind` {?dqk} with DimensionVector {?ddv}. These are non-commensurate
SELECT $this ?deadband ?pqk ?dqk ?pdv ?ddv WHERE { $this qudt:hasQuantityKind ?pqk . $this s223:hasDeadband ?deadband . ?deadband qudt:hasQuantityKind ?dqk . ?pqk qudt:hasDimensionVector ?pdv . ?dqk qudt:hasDimensionVector ?ddv . FILTER (?pqk != ?dqk) . FILTER (?pdv != ?ddv) . }
This `QuantifiableProperty` uses a different `Unit` than the setpoint associated with it.
s223: {$this} uses `Unit` {?punit}, while setpoint {?setpoint} uses `Unit` {?sunit}. Be careful.
SELECT $this ?setpoint ?punit ?sunit WHERE { $this qudt:hasUnit ?punit . $this s223:hasSetpoint ?setpoint . ?setpoint qudt:hasUnit ?sunit . ?punit qudt:hasDimensionVector ?pdv . ?sunit qudt:hasDimensionVector ?sdv . FILTER (?punit != ?sunit) . FILTER (?pdv = ?sdv) . }
A `QuantifiableProperty` shall be associated with exactly one `QuantityKind` using the relation `qudt:hasQuantityKind`.
s223: A `QuantifiableProperty` shall be associated with exactly one `QuantityKind` using the relation `qudt:hasQuantityKind`.
A `QuantifiableProperty` should use `hasValue` instead of `qudt:value`.
s223: A `QuantifiableProperty` should use `hasValue` instead of `qudt:value`.
This `QuantifiableProperty` and the associated threshold use non-commensurate `Unit`s.
s223: {$this} uses `Unit` {?punit}, while threshold {?threshold} uses `Unit` {?tunit}. These are non-commensurate.
SELECT $this ?threshold ?punit ?tunit WHERE { $this qudt:hasUnit ?punit . $this s223:hasThreshold ?threshold . ?threshold qudt:hasUnit ?tunit . ?punit qudt:hasDimensionVector ?pdv . ?tunit qudt:hasDimensionVector ?tdv . FILTER (?punit != ?tunit) . FILTER (?pdv != ?tdv) . }
This `QuantifiableProperty` and the associated setpoint use non-commensurate `Unit`s.
s223: {$this} uses `Unit` {?punit}, while setpoint {?setpoint} uses `Unit` {?sunit}. These are non-commensurate.
SELECT $this ?setpoint ?punit ?sunit WHERE { $this qudt:hasUnit ?punit . $this s223:hasSetpoint ?setpoint . ?setpoint qudt:hasUnit ?sunit . ?punit qudt:hasDimensionVector ?pdv . ?sunit qudt:hasDimensionVector ?sdv . FILTER (?punit != ?sunit) . FILTER (?pdv != ?sdv) . }
A `QuantifiableProperty` shall be associated with zero or more other `QuantifiableProperty`s using the relation `hasSetpoint`. This can be used to indicate the desired value which the control process is trying to maintain.
s223: A `QuantifiableProperty` shall be associated with zero or more other `QuantifiableProperty`s using the relation `hasSetpoint`. This can be used to indicate the desired value which the control process is trying to maintain.
Checks for consistent dimension vectors for a `QuantityKind` and the `Unit`
s223: Inconsistent dimensionalities among the `Property`'s `Unit` and `Property`'s `QuantityKind`
SELECT $this WHERE { $this qudt:hasQuantityKind/qudt:hasDimensionVector ?qkdv1 . $this qudt:hasUnit/qudt:hasDimensionVector ?qkdv2 . FILTER (?qkdv1 != ?qkdv2) . }
This class and its enumerated subclasses represent roles played by entities, such as cooling, generator, relief, and return. These enumeration kinds are intended to indicate the capability of an entity to play a given role, rather than the role being actively played at any given point in time. For example, a reversible piece of equipment might play a role of `Role-Cooling` at one time, and `Role-Heating` at another time. Such an entity would be modeled using the `hasRole` relation with both role values. The active role at a particular time can be modeled as a `Property` with an `ExternalReference` to telemetry data. : EnumerationKind-Role Enumerations | Enumeration | |:-----------| | `Role-Condenser` | | `Role-Cooling` | | `Role-Dehumidifying` | | `Role-Discharge` | | `Role-Economizer` | | `Role-Evaporator` | | `Role-Exhaust` | | `Role-Expansion` | | `Role-Generator` | | `Role-Heating` | | `Role-HeatRecovery` | | `Role-HeatTransfer` | | `Role-Load` | | `Role-OutdoorAirIntake` | | `Role-Primary` | | `Role-Recirculating` | | `Role-Relief` | | `Role-Return` | | `Role-Secondary` | | `Role-Supply` | | `Role-Ventilating` |
A reference to the `QuantityKind` of a `QuantifiableProperty` of interest, such as `Temperature`.
This class and its enumerated subclasses represent commonly used refrigerants. The composition of the refrigerants is defined in ASHRAE Standard 34 and ISO 817. : Constituent-Refrigerant Enumerations | Enumeration | |:-----------| | `Refrigerant-R-22` | | `Refrigerant-R-32` | | `Refrigerant-R-123` | | `Refrigerant-R-134A` | | `Refrigerant-R-290` | | `Refrigerant-R-404A` | | `Refrigerant-R-407A` | | `Refrigerant-R-407C` | | `Refrigerant-R-407F` | | `Refrigerant-R-410A` | | `Refrigerant-R-422A` | | `Refrigerant-R-422C` | | `Refrigerant-R-422D` | | `Refrigerant-R-427A` | | `Refrigerant-R-438A` | | `Refrigerant-R-444A` | | `Refrigerant-R-445A` | | `Refrigerant-R-448A` | | `Refrigerant-R-449A` | | `Refrigerant-R-450A` | | `Refrigerant-R-454A` | | `Refrigerant-R-454C` | | `Refrigerant-R-455A` | | `Refrigerant-R-457A` | | `Refrigerant-R-459B` | | `Refrigerant-R-507` | | `Refrigerant-R-513A` | | `Refrigerant-R-516A` | | `Refrigerant-R-600A` | | `Refrigerant-R-717` | | `Refrigerant-R-744` | | `Refrigerant-R-1234yf` | | `Refrigerant-R-1234ze` |
This class and its enumerated subclasses represent water and aqueous solutions in various states. : Fluid-Water Enumerations | Enumeration | |:-----------| | `Water-ChilledWater` | | `Water-GlycolSolution` (see {s223:Water-GlycolSolution}) | | `Water-HotWater` | | `Water-Steam` |
This class and its enumerated subclasses represent common voltages for electricity service. : Numerical-Voltage Enumerations | Enumeration | |:-----------| | `Voltage-0V` | | `Voltage-2.5V` | | `Voltage-3V` | | `Voltage-5V` | | `Voltage-6V` | | `Voltage-12V` | | `Voltage-24V` | | `Voltage-48V` | | `Voltage-110V` | | `Voltage-120V` | | `Voltage-127V` | | `Voltage-139V` | | `Voltage-190V` | | `Voltage-208V` | | `Voltage-219V` | | `Voltage-220V` | | `Voltage-230V` | | `Voltage-240V` | | `Voltage-277V` | | `Voltage-347V` | | `Voltage-380V` | | `Voltage-400V` | | `Voltage-415V` | | `Voltage-480V` | | `Voltage-600V` | | `Voltage-1730V` | | `Voltage-1900V` | | `Voltage-2400V` | | `Voltage-3000V` | | `Voltage-3300V` | | `Voltage-3460V` | | `Voltage-3810V` | | `Voltage-4160V` | | `Voltage-5770V` | | `Voltage-6000V` | | `Voltage-6600V` | | `Voltage-10000V` | | `Voltage-PoE` (see {s223:Voltage-PoE}) |
A `Numerical-Voltage` shall have a `QuantityKind` of `Voltage`.
s223: A `Numerical-Voltage` shall have a `QuantityKind` of `Voltage`.
A `Numerical-Voltage` shall have a `Unit` of `V` (volt).
s223: A `Numerical-Voltage` shall have a `Unit` of `V` (volt).
This class and its enumerated subclasses represent common forms of electrical energy, including AC, DC, and electrical communication signals. : Constituent-Electricity Enumerations | Enumeration | |:-----------| | `Electricity-AC` (see {s223:Electricity-AC}) | | `Electricity-DC` (see {s223:Electricity-DC}) | | `Electricity-Earth` | | `Electricity-Neutral` | | `Electricity-Signal` (see {s223:Electricity-Signal}) |
An `OutletConnectionPoint` is a `ConnectionPoint` for which a `Substance-Medium` is expected to flow out of the associated `Connectable`.
An `OutletConnectionPoint` shall be associated with at most one other `OutletConnectionPoint` using the relation `mapsTo`.
s223: An `OutletConnectionPoint` shall be associated with at most one other `OutletConnectionPoint` using the relation `mapsTo`.
An `OutletConnectionPoint` shall be associated with at most one `InletConnectionPoint` or `BidirectionalConnectionPoint` using the relation `pairedConnectionPoint`.
s223: An `OutletConnectionPoint` shall be associated with at most one `InletConnectionPoint` or `BidirectionalConnectionPoint` using the relation `pairedConnectionPoint`.
Ensure an `OutletConnectionPoint` has a `mapsTo` relation to its containing `Equipment` if it has an external `Connection`.
s223: {$this} must have a `mapsTo` an `OutletConnectionPoint` of {?parentEquipment} and not an external `Connection` to {?destinationEquipment}.
SELECT $this ?parentEquipment ?destinationEquipment WHERE { ?equipment s223:hasConnectionPoint $this . ?parentEquipment s223:contains ?equipment . $this s223:connectsThrough/s223:connectsTo ?destinationEquipment . FILTER NOT EXISTS {?parentEquipment s223:contains ?destinationEquipment} . FILTER NOT EXISTS {$this s223:mapsTo ?anything} . }
SELECT $this WHERE { BIND(REPLACE(STR($this), "^(.*)(/|#)([^#/]*)$", "$1") AS ?prop) . FILTER (?prop = "http://data.ashrae.org/standard223") . FILTER (NOT EXISTS {$this rdfs:comment ?something}) . }
SELECT $this WHERE { BIND(REPLACE(STR($this), "^(.*)(/|#)([^#/]*)$", "$1") AS ?prop) . FILTER (?prop = "http://data.ashrae.org/standard223") . FILTER (NOT EXISTS {$this rdfs:label ?something}) . }
`Equipment` is the modeling construct used to represent a thing designed to accomplish a specific task, or a complex thing that contains component pieces of `Equipment` that are connected to each other and work together to accomplish a task. `Equipment` can have `Connection`s and `ConnectionPoint`s through which one or more kinds of medium (see {s223:Substance-Medium}) might flow. Examples of `Equipment` defined in this ontology include `Pump`, `Fan`, `AirHeatExchanger`, `Luminaire`, and `Sensor`. `Equipment` can be connected to other `Connectable`s such as other `Equipment` or `DomainSpace`s. The graphical depiction of Equipment used in this document is a round-cornered rectangle as shown in Figure 5-1. ![Graphical Depiction of Equipment.](figures/Figure_5-1_Graphical_Depiciton_of_Equipment.svg)
A piece of `Equipment` shall be associated with zero or more other pieces of contained `Equipment` and/or `Junction`s using the relation `contains`.
s223: A piece of `Equipment` shall be associated with zero or more other pieces of contained `Equipment` and/or `Junction`s using the relation `contains`.
A piece of `Equipment` shall be associated with zero or more `PhysicalSpace`s using the relation `hasPhysicalLocation`.
s223: A piece of `Equipment` shall be associated with zero or more `PhysicalSpace`s using the relation `hasPhysicalLocation`.
Disallow contained equipment from having external incoming connections.
s223: Disallow contained equipment from having external incoming connections.
s223: {$this} should not have a connection from external equipment {?otherDev} because {?container} contains {$this}.
SELECT $this ?container ?otherDev WHERE { $this s223:connectedFrom ?otherDev . $this ^s223:contains ?container . ?container a/rdfs:subClassOf* s223:Equipment . FILTER NOT EXISTS {?container s223:contains ?otherDev .} }
A piece of `Equipment` shall be associated with zero or more `Function`s using the relation `executes`.
s223: A piece of `Equipment` shall be associated with zero or more `Function`s using the relation `executes`.
A piece of `Equipment` shall be associated with zero or more `EnumerationKind-Role`s using the relation `hasRole`.
s223: A piece of `Equipment` shall be associated with zero or more `EnumerationKind-Role`s using the relation `hasRole`.
A piece of `Equipment` shall be associated with zero or more `ActuatableProperty`s using the relation `actuatedByProperty`.
s223: A piece of `Equipment` shall be associated with zero or more `ActuatableProperty`s using the relation `actuatedByProperty`.
Warning about a subclass of `Equipment` of type A containing something that is in the same subclass branch.
s223: Warning about a subclass of `Equipment` of type A containing something that is in the same subclass branch.
s223: {$this}, of type {?type1}, contains {?subEquip} of type {?type2}, that could result in double-counting items in the class hierarchy of {?type1}.
SELECT $this ?subEquip ?type1 ?type2 WHERE { FILTER NOT EXISTS {$this a s223:Equipment} . $this s223:contains+ ?subEquip . FILTER NOT EXISTS {?subEquip a s223:Equipment} . $this a ?type1 . ?subEquip a ?type2 . { ?type2 rdfs:subClassOf* ?type1 . } UNION { ?type1 rdfs:subClassOf* ?type2 . } }
Disallow contained equipment from having external outgoing connections.
s223: Disallow contained equipment from having external outgoing connections.
s223: {$this} should not have a connection to external equipment {?otherDev} because {?container} contains {$this}.
SELECT $this ?container ?otherDev WHERE { $this s223:connectedTo ?otherDev . $this ^s223:contains ?container . ?container a/rdfs:subClassOf* s223:Equipment . FILTER NOT EXISTS {?container s223:contains ?otherDev .} }
An `Electricity-AC` shall be associated with at least one `Numerical-Frequency` using the relation `hasFrequency`.
s223: An `Electricity-AC` shall be associated with at least one `Numerical-Frequency` using the relation `hasFrequency`.
An `Electricity-AC` shall be associated with zero or more `Numerical-Voltage`s using the relation `hasACLineLineVoltage`.
s223: An `Electricity-AC` shall be associated with zero or more `Numerical-Voltage`s using the relation `hasACLineLineVoltage`.
An `Electricity-AC` shall be associated with at least one `Numerical-NumberOfElectricalPhases` using the relation `hasNumberOfElectricalPhases`.
s223: An `Electricity-AC` shall be associated with at least one `Numerical-NumberOfElectricalPhases` using the relation `hasNumberOfElectricalPhases`.
An `Electricity-AC` shall be associated with zero or more `Numerical-Voltage`s using the relation `hasACLineNeutralVoltage`.
s223: An `Electricity-AC` shall be associated with zero or more `Numerical-Voltage`s using the relation `hasACLineNeutralVoltage`.
An `InletConnectionPoint` is a `ConnectionPoint` for which a `Substance-Medium` is expected to flow into the associated `Connectable`.
Ensure an `InletConnectionPoint` has a `mapsTo` relation to its containing `Equipment` if it has an external `Connection`
s223: {$this} must have a `mapsTo` an `InletConnectionPoint` of {?parentEquipment} and not an external `Connection` from {?sourceEquipment}.
SELECT $this ?parentEquipment ?sourceEquipment WHERE { ?equipment s223:hasConnectionPoint $this . ?parentEquipment s223:contains ?equipment . $this s223:connectsThrough/s223:connectsFrom ?sourceEquipment . FILTER NOT EXISTS {?parentEquipment s223:contains ?sourceEquipment} . FILTER NOT EXISTS {$this s223:mapsTo ?anything} . }
An `InletConnectionPoint` shall be associated with at most one other `InletConnectionPoint` using the relation `mapsTo`.
s223: An `InletConnectionPoint` shall be associated with at most one other `InletConnectionPoint` using the relation `mapsTo`.
An `InletConnectionPoint` shall be associated with at most one `OutletConnectionPoint` or `BidirectionalConnectionPoint` using the relation `pairedConnectionPoint`.
s223: An `InletConnectionPoint` shall be associated with at most one `OutletConnectionPoint` or `BidirectionalConnectionPoint` using the relation `pairedConnectionPoint`.
One of two `Relation`s that associates `Connectable` thing with a `ConnectionPoint`. It is the inverse of the relation `isConnectionPointOf` (see {s223:isConnectionPointOf}).
The relation `hasMedium` is used to indicate what medium is flowing through the connection (e.g., air, water, electricity). The possible values are defined in `Substance-Medium` (see {s223:Substance-Medium}).