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 `s223: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 `s223: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} . } }
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} . } }
If the relation `hasProperty` is present, it shall associate the concept with a `Property`.
s223: If the relation `hasProperty` is present, it shall associate the concept with a `Property`.
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} . } }
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`.
An `RelationWithInverse` shall be associated with exactly one other `RelationWithInverse` using the relation `inverseOf`.
s223: An `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 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 with an analog or two binary position command properties.
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.
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 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.
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 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 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 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 section 3.1.3 of Guideline 36.
A ZoneGroup shall have the Domain HVAC using the relation hasDomain.
g36: A ZoneGroup shall have the Domain HVAC using the relation hasDomain.
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.
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.
If the relation `actuates` is present it shall associate the `Actuator` with a piece of `Equipment`.
s223: If the relation `actuates` is present it shall associate the `Actuator` with a piece of `Equipment`.
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 inlet using the medium `Fluid-Air`.
s223: An `AirHandlingUnit` shall have at least one inlet using the medium `Fluid-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`.
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`.
If the relation `device-identifier` is present it associates the external reference with a BACnet device having the specific device identifier.
If the relation `property-array-index` is present it provides the index for reading items from a property that is an array.
If the relation `property-identifier` is present it is either a decimal number or exactly equal to the ASHRAE 135-2020 Clause 21 identifier text of BACnetPropertyIdentifier. If it is omitted, it defaults to "present-value" except for BACnet File objects, where absence of `property-identifier` refers to the entire content of the file accessed with Stream Access.
If the relation `object-name` is present it associates the external reference with the BACnet object having the specific object name.
If the relation `object-identifier` is present it associates the external reference with the BACnet object having the specific object identifier.
If the relation `priority-for-writing` is present it provides the priority for writing values to the object.
If the relation `device-name` is present it associates the external reference with a BACnet device having the specific 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 `ConnectionPoint` using the medium Electricity.
s223: A `Battery` shall have at least one outlet or bidirectional `ConnectionPoint` using the medium 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 inlet using the medium `Fluid-Water`.
s223: A `Boiler` shall have at least one inlet using the medium `Fluid-Water`.
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 `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 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 outlet.
s223: A `Compressor` shall have at least one outlet.
A `Compressor` shall have at least one inlet.
s223: A `Compressor` shall have at least one inlet.
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 `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 `connected` relation using `connectedTo`
CONSTRUCT {$this s223:connected ?thing .} WHERE { $this s223:connectedTo ?thing . }
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 using `connectedFrom`
CONSTRUCT {$this s223:connected ?thing .} WHERE { $this s223:connectedFrom ?thing . }
Infer the `cnx` relation using `isConnectionPointOf`.
CONSTRUCT {$this s223:cnx ?thing .} WHERE { $this ^s223:isConnectionPointOf ?thing . }
Infer the `cnx` relationship using `hasConnectionPoint`.
CONSTRUCT {$this s223:cnx ?thing .} WHERE { $this s223:hasConnectionPoint ?thing . }
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 `connectedThrough` relation using `hasConnectionPoint` and `connectsThrough`
CONSTRUCT {$this s223:connectedThrough ?connection .} WHERE { $this s223:hasConnectionPoint/s223:connectsThrough ?connection . }
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 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 `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 `cnx` relation using the relation `connectsThrough`.
CONSTRUCT {$this s223:cnx ?thing .} WHERE { $this ^s223:connectsThrough ?thing . }
Infer the `connectsAt` relation using the relation `cnx`.
CONSTRUCT {$this s223:connectsAt ?thing .} WHERE { $this s223:cnx ?thing . }
A piece of equipment for regulation of a system or component in normal operation, which executes one or more `Function`s.
If the relation `executes` is present it shall associate the `Controller` with a `Function`.
s223: If the relation `executes` is present it shall associate the `Controller` with a `Function`.
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 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 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 `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 inlet using the medium `Fluid-Water`.
s223: A `Drain` shall have at least one inlet using the medium `Fluid-Water`.
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 `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 piece of `Equipment` that automatically removes moisture from a load of textiles (e.g., clothing, bedding), typically after they are washed in a `ClothesWasher`.
A `ElectricClothesDryer` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: A `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.
A `ElectricCooktop` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: A `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 that uses the medium `Electricity-AC`.
s223: An `ElectricEnergyInverter` shall have at least one connection point that uses the medium `Electricity-AC`.
An `ElectricEnergyInverter` shall have at least one connection point that uses the medium `Electricity-DC`.
s223: An `ElectricEnergyInverter` shall have at least one connection point that uses 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 `Fluid-Water`.
s223: An `ElectricWaterDispenser` shall have at least one inlet using the medium `Fluid-Water`.
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`.
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`.
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 observation location of the contained `VoltageSensor`(s) and `ElectricCurrentSensor`(s) shall be a single instance of 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`.
An `ElectricityMeter` shall contain a `VoltageSensor` and `ElectricCurrentSensor` with the same observation location.
s223: {$this} contains {?sensorA} and {?sensorB} with different observation locations: {?locA} and {?locB}.
SELECT DISTINCT $this ?sensorA ?locA ?sensorB ?locB WHERE { $this s223:contains ?sensorA . $this s223:contains ?sensorB . ?sensorA a/rdfs:subClassOf* s223:Sensor . ?sensorB a/rdfs:subClassOf* s223:Sensor . FILTER (?sensorA != ?sensorB) . ?sensorA s223:hasObservationLocation ?locA . ?sensorB s223:hasObservationLocation ?locB . FILTER (?locA != ?locB) . }
An `ElecticityMeter` shall contain at least two `Sensor`s.
An `ElecticityMeter` shall contain at least one `ElectricCurrentSensor`.
An `ElecticityMeter` shall contain at least one `VoltageSensor`.
Placeholder: The medium observed by the sensors contained by an `ElectricityMeter` shall be within the `Constituent-Electricity` hierarchy.
s223: The medium observed by the sensors contained by an `ElectricityMeter` shall be within the `Constituent-Electricity` hierarchy.
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.
A `Elevator` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: A `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.
A `Escalator` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: A `Escalator` shall have at least one inlet using the medium `Constituent-Electricity`.
A piece of `Equipment` that connects 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 two `BidirectionalConnectionPoint`s using the medium `Signal-Ethernet`.
s223: An `EthernetSwitch` shall have at least two `BidirectionalConnectionPoint`s using the medium `Signal-Ethernet`.
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`.
A piece of `Equipment` consisting of a `Coil` and a `Fan` that regulates the temperature of one or more spaces.
A `FanCoilUnit` shall be associated with at least 1 `Coil` using the relation `contains`.
s223: A `FanCoilUnit` shall be associated with at least 1 `Coil` using the relation `contains`.
A `FanCoilUnit` shall have the role `Role-Heating` or `Role-Cooling`.
s223: A `FanCoilUnit` shall have the role `Role-Heating` or `Role-Cooling`.
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 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 be associated with at least 1 `Fan` using the relation `contains`.
s223: A `FanCoilUnit` shall be associated with at least 1 `Fan` using the relation `contains`.
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 be associated with at least one `Fan` by using the relation `contains`.
s223: A `FanPoweredTerminal` shall be associated with at least one `Fan` by using the relation `contains`.
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 exactly one inlet using the medium `Signal-FiberEthernet`.
s223: A `FiberEthernetOutlet` shall have exactly one inlet using the medium `Signal-FiberEthernet`.
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 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`.
A `Filter` shall have at least one inlet `ConnectionPoint`.
s223: A `Filter` shall have at least one inlet `ConnectionPoint`.
A `Filter` shall have at least one outlet.
s223: A `Filter` shall have at least one outlet.
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} . } }
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 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 `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 outlet using the medium `Fluid-Water`.
s223: A `FlushToilet` shall have at least one outlet using the medium `Fluid-Water`.
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 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` must be associated with at least one `Property` using either the relation `hasInput` or `hasOutput`.
s223: A `Function` must 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 outlet using the medium `Fluid-Air`.
s223: A `Furnace` shall have at least one outlet using the medium `Fluid-Air`.
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 `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 `Generator` shall be associated with at least one `ConnectionPoint` using the relation `hasConnectionPoint`.
s223: A `Generator` shall be associated with at least one `ConnectionPoint` using the relation `hasConnectionPoint`.
A `HeatPump` that transfers thermal energy between air and the ground.
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`.
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 `BidirectionalConnectionPoint` using `Medium-ThermalContact`.
s223: A `GroundToAirHeatPump` shall have at least one `BidirectionalConnectionPoint` using `Medium-ThermalContact`.
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 `Constituent-Electricity`.
s223: An `IceMaker` shall have at least one inlet using the medium `Constituent-Electricity`.
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`.
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 `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.
If the relation `ofSubstance` is present it shall associate the `ParticulateSensor` with a `Substance-Particulate`.
s223: If the relation `ofSubstance` is present it shall associate the `ParticulateSensor` with a `Substance-Particulate`.
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 electrical equipment, such as `Computers` and Wi-Fi access points, to an Ethernet network so they can communicate with each other and, optionally, to the Internet.
A `PowerOverEthernetSwitch` shall have at least one `BidirectionalConnectionPoint` using the medium `PowerAndSignal-PoE`.
s223: A `PowerOverEthernetSwitch` shall have at least one `BidirectionalConnectionPoint` using the medium `PowerAndSignal-PoE`.
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 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 inlet using the medium `Fluid-Water`, `Fluid-Oil` or `Fluid-Refrigerant`.
s223: A `Pump` shall have at least one inlet using the medium `Fluid-Water`, `Fluid-Oil` or `Fluid-Refrigerant`.
A `Pump` shall have at least one outlet using the medium `Fluid-Water`, `Fluid-Oil` or `Fluid-Refrigerant`.
s223: A `Pump` shall have at least one outlet using the medium `Fluid-Water`, `Fluid-Oil` or `Fluid-Refrigerant`.
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} }
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-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} }
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 be associated with at least one `Damper` using the relation `contains`.
s223: A `SingleDuctTerminal` shall be associated with at least one `Damper` using the relation `contains`.
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 inlet using the medium `Fluid-Water`.
s223: A `Sink` shall have at least one inlet using the medium `Fluid-Water`.
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 piece of `Equipment` that converts sunlight into thermal energy.
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 `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`.
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 Thermal Energy Storage Unit shall have at least two connection points.
s223: A Thermal Energy Storage Unit shall have at least two connection points.
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 have at least three `ConnectionPoint`s using the relation `hasConnectionPoint`.
s223: A `ThreeWayValve` shall have at least three `ConnectionPoint`s 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 `Turbine` shall be associated with at least one `ConnectionPoint` using the relation `hasConnectionPoint`.
s223: A `Turbine` shall be associated with at least one `ConnectionPoint` using the relation `hasConnectionPoint`.
A `Valve` that can divert a fluid in one of two directions.
A `TwoWayValve` shall have at least one inlet.
s223: A `TwoWayValve` shall have at least one inlet.
A `TwoWayValve` shall have at least one outlet.
s223: A `TwoWayValve` shall have at least one outlet.
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 at least one outlet using the medium `Signal-USB`.
s223: A `USBOutlet` shall have at least one outlet using the medium `Signal-USB`.
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 `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 have at least one inlet using the medium `Constituent-Electricity`.
s223: A `VariableFrequencyDrive` shall have at least one inlet using the medium `Constituent-Electricity`.
If the relation `connectedTo` is present it shall associate the `VariableFrequencyDrive` with a `Equipment`.
s223: If the relation `connectedTo` is present it shall associate the `VariableFrequencyDrive` with a `Equipment`.
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 inlet using the medium `Fluid-Air`.
s223: A `WaterToAirHeatPump` shall have at least one inlet 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 `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 an wired Ethernet communication network, typically via a wired Ethernet cable.
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 `WiredEthernetOutlet` shall have exactly one inlet using the medium `Signal-WiredEthernet`.
s223: A `WiredEthernetOutlet` shall have exactly one inlet using the medium `Signal-WiredEthernet`.
Infer a `hasDomain` relation by checking any enclosed `Zone`s to determine the domain.
CONSTRUCT {$this s223:hasDomain ?domain .} WHERE { $this s223:hasZone/s223:hasDomain ?domain . }
Infer a `hasDomain` relation by checking any enclosing `ZoneGroup` 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 `ZoneGroup` 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-2020 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-2020 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-2020 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-2020 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-2020 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-2020 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-2020 Clause 12.4.1.
Negative 6VDC and Positive 6VDC electricity
Negative 12VDC and Positive 12VDC electricity
Negative 190VDC and Positive 190VDC electricity
Negative 24VDC and Positive 24VDC electricity
Negative 2.5VDC and Positive 2.5VDC electricity
Negative 3VDC and Positive 3VDC 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 air outlets, each paired with an inlet.
s223: An `AirHeatExchanger` shall have at least two air outlets, each paired with an inlet.
An `AirHeatExchanger` shall have no `BidirectionalConnectionPoint`s.
s223: An `AirHeatExchanger` shall have no `BidirectionalConnectionPoint`s.
An `AirHeatExchanger` shall have at least two air inlets, each paired with an outlet.
s223: An `AirHeatExchanger` shall have at least two air inlets, each paired with an outlet.
The property value indicates whether an alarm condition is active or provides details about an active alarm.
The property value is a name or other identifier of the product's manufacturer.
The property value is a range around a setpoint where no control action is taken to avoid unnecessary corrections.
The property value is a differential value (e.g., pressure difference) instead of an absolute value.
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.
A `Connection` that represents one or more wires used to convey electricity, with the electricity conceptualized as flowing through a `Conductor` like water through a pipe. Each instance of `Conductor` applies to no more than one electrical circuit.
If the relation `hasElectricalPhase` is present it shall associate the `Conductor` with a single ElectricalPhaseIdentifier or ElectricalVoltagePhases value.
s223: If the relation `hasElectricalPhase` is present it shall associate the `Conductor` with a single ElectricalPhaseIdentifier or ElectricalVoltagePhases value.
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`.
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 `ElectricBreaker`, `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.
A `ElectricOven` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: A `ElectricOven` shall have at least one inlet using the medium `Constituent-Electricity`.
The value of the associated `Property` identifies the electrical phase A of the `Connection`.
The value of the associated `Property` identifies the electrical phase AB of the `Connection`.
The value of the associated `Property` identifies the electrical phase ABC of the `Connection`.
The value of the associated `Property` identifies the electrical phase B of the `Connection`.
The value of the associated `Property` identifies the electrical phase BC of the `Connection`.
The value of the associated `Property` identifies the electrical phase C of the `Connection`.
The value of the associated `Property` identifies the electrical phase CA of the `Connection`.
Identifies the Line-to-line voltage is between phases A and B
Identifies the Line-to-neutral voltage is between phases A and N
Identifies the Line-to-line voltage is between phases B and C
Identifies the Line-to-neutral voltage is between phases B and N
Identifies the Line-to-line voltage is between phases C and A
Identifies the Line-to-neutral voltage is between phases C and N
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 liquid outlets, each paired with an inlet.
s223: A `HydronicHeatExchanger` shall have at least two liquid outlets, each paired with an inlet.
A `HydronicHeatExchanger` shall have no `ConnectionPoint`s using the medium `Fluid-Air`.
s223: A `HydronicHeatExchanger` shall have no `ConnectionPoint`s using the medium `Fluid-Air`.
A `HydronicHeatExchanger` shall have no `BidirectionalConnectionPoint`s.
s223: A `HydronicHeatExchanger` shall have no `BidirectionalConnectionPoint`s.
A `HydronicHeatExchanger` shall have at least two liquid inlets, each paired with an outlet.
s223: A `HydronicHeatExchanger` shall have at least two liquid inlets, each paired with an outlet.
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 connection point using the medium `Light-Infrared`.
s223: A `RadiantHeater` shall have at least one outlet connection point using the medium `Light-Infrared`.
A radiant heater shall have the role `Role-Heating`.
s223: A radiant heater shall 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`.
`Role-OutdoorAirIntake` should only be associated with a `Connectable` directly connecting to Outdoor Air.
Ensure that `Role-OutdoorAirIntake` is associated with a `Connectable` directly connecting to Outdoor Air.
s223: {?this} is associated with {$entity}, which does not directly connect to outdoor air.
SELECT $this ?entity WHERE { ?entity (s223:hasRole | (s223:hasProperty/s223:hasAspect)) $this . ?outdoorSpace a/rdfs:subClassOf* s223:OutdoorPhysicalSpace . ?outdoorSpace s223:encloses ?outdoorAir . ?outdoorAir s223:hasDomain s223:Domain-HVAC . FILTER NOT EXISTS {?entity s223:connectedFrom ?outdoorAir} . }
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 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 a integrated context.
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 `DomainSpaces`.
A `Relation` that associates a `Property` with an external telemetry source.
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 `Medium` with its number of electrical phases.
The `hasOptionalConnectionPoint` 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 an integrated or non-integrated context.
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 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 a `ZoneGroup` with its component `Zone`s.
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`.
These aspects are used on properties that define the limits for control and alarm algorithms. These aspects are used on properties of type `QuantifiableActuatableProperty`. : Aspect Control Parameters Enumerations | Enumeration | Description | |:-----------|:-------------| | `Aspect-Deadband` | {s223:Aspect-Deadband/rdfs:comment} | | `Aspect-HighLimit` | {s223:Aspect-HighLimit/rdfs:comment} | | `Aspect-LowLimit` | {s223:Aspect-LowLimit/rdfs:comment} | | `Aspect-Setpoint` | {s223:Aspect-Setpoint/rdfs:comment} | | `Aspect-Threshold` | {s223:Aspect-Threshold/rdfs:comment} |
These aspects are used on properties to modify the quantity kind. These aspects are used on properties of type `QuantifiableProperty` and subtypes thereof. : Aspect Delta Quantities Enumerations | Enumeration | Description | |:-----------|:-------------| | `Aspect-Delta` | {s223:Aspect-Delta/rdfs:comment} |
These aspects are used on properties that provide static information about something e.g., a `System`, or `Equipment`. These aspects are typically used on properties of type `Property`. The property value is typically stored as a string. : Aspect Equipment Information Enumerations | Enumeration | Description | |:-----------|:-------------| | `Aspect-CatalogNumber` | {s223:Aspect-CatalogNumber/rdfs:comment} | | `Aspect-Manufacturer` | {s223:Aspect-Manufacturer/rdfs:comment} | | `Aspect-Model` | {s223:Aspect-Model/rdfs:comment} | | `Aspect-SerialNumber` | {s223:Aspect-SerialNumber/rdfs:comment} |
These aspects are used on properties that provide dynamic information about something e.g., a `System`, or `Equipment`. These aspects are typically used on properties of type `EnumeratedProperty` and subtypes thereof. : Aspect Equipment Operation Enumerations | Enumeration | Description | |:-----------|:-------------| | `Aspect-Alarm` | {s223:Aspect-Alarm/rdfs:comment} | | `Aspect-Fault` | {s223:Aspect-Fault/rdfs:comment} | | `Aspect-OperatingMode` | {s223:Aspect-OperatingMode/rdfs:comment} | | `Aspect-OperatingStatus` | {s223:Aspect-OperatingStatus/rdfs:comment} |
These aspects are used on properties that define the range of another `Property`. These aspects are used on properties of type `QuantifiableObservableProperty`. : Aspect Operational Limits Enumerations | Enumeration | Description | |:-----------|:-------------| | `Aspect-Maximum` | {s223:Aspect-Maximum/rdfs:comment} | | `Aspect-Minimum` | {s223:Aspect-Minimum/rdfs:comment} | | `Aspect-Nominal` | {s223:Aspect-Nominal/rdfs:comment} | | `Aspect-Rated` | {s223:Aspect-Rated/rdfs:comment} |
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 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 `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 be associated with the `Role-Cooling` using the relation `hasRole`
s223: A `ChilledBeam` shall be associated with the `Role-Cooling` using the relation `hasRole`
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 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.
A `ElectronicDisplay` shall have at least one inlet using the medium `Constituent-Electricity`.
s223: A `ElectronicDisplay` shall have at least one inlet using the medium `Constituent-Electricity`.
A `ElectronicDisplay` shall have at least one inlet using the medium `Electricity-Signal`.
s223: A `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.
One of the constituents of `PowerAndSignal-PoE` shall be `Signal-WiredEthernet` or one of its subclasses.
One of the constituents of `PowerAndSignal-PoE` shall be `DC-PoE` or one of its subclasses.
There shall be at least two Properties that characterize the constituents of Power over Ethernet.
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`.
Radiators shall have the role `Role-Heating`.
s223: Radiators shall have the role `Role-Heating`.
Carbon particles resulting from the incomplete combustion of hydrocarbons. Soot is considered a hazardous substance with carcinogenic properties.
A logical grouping of one or more `Equipment` or other `System`s for some functional purpose.
If the relation `hasRole` is present, it shall associate the `System` with an `EnumerationKind-Role`.
s223: If the relation `hasRole` is present, it shall associate the `System` with an `EnumerationKind-Role`.
A `System` shall be associated with at least one instance of `Equipment` or `System` using the relation `hasMember`.
s223: A `System` shall be associated with at least one instance of `Equipment` or `System` using the relation `hasMember`.
A `System` may be defined with a number of connection points that are the "boundary" of the equipment. The `hasOptionalConnectionPoint` relation is used to reference those connection points of its equipment that may not be connected, the "dangling connection point" should not generate a validation error.
s223: A `System` may be defined with a number of connection points that are the "boundary" of the equipment. The `hasOptionalConnectionPoint` relation is used to reference those connection points of its equipment that may not be connected, the "dangling connection point" should not generate a validation error.
A `System` may be defined with a number of connection points that are the "boundary" of the equipment. 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` may be defined with a number of connection points that are the "boundary" of the equipment. 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.
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} }
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.
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 `Medium with its electrical frequency.
A `Relation` that associates a `Function` (see {s223:Function}) with a `Property` (see {s223:Property}) that is used as input to the `Function`.
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.
One of two `Relation`s that associates a `ConnectionPoint` with a `Connectable` thing. It is the inverse of the relation `hasConnectionPoint` (see {s223:hasConnectionPoint}).
A `Coil` that is specifically used to cool air.
A cooling coil shall be related to the role '`Role-Cooling`' using the relation '`hasRole`'.
s223: A cooling coil shall be related to the role '`Role-Cooling`' using the relation '`hasRole`'.
The domain that represents equipment that condition and ventilate spaces within a building. Example `Domain-HVAC` equipment include `Fan`, `Pump`, and `AirHandlingUnit`.
A `DomainSpace` represents some 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. `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` |
A piece of `Equipment` that converts one form of electric power to another form of electric power.
A `ElectricEnergyConverter` shall have at least two connection points using the medium `Constituent-Electricity`.
s223: A `ElectricEnergyConverter` shall have at least two connection points using the 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 the role `Role-Heating`.
s223: An `ElectricResistanceElement` shall have the role `Role-Heating`.
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`.
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 outlet using the medium `Mix-Fluid`.
Pattern 2: An `ElectricResistanceElement` shall have one inlet using the medium `Mix-Fluid`.
An `EnumerableProperty` is a `Property` with an enumerated (fixed) set of possible values.
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}) . }
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`.
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 heating coil shall be related to the role '`Role-Heating`' using the relation '`hasRole`'.
s223: A heating coil shall be related to the role '`Role-Heating`' using the relation '`hasRole`'.
This class and its enumerated subclasses represent common infrared communication protocols. : Infrared-Signal Enumerations | Enumeration | |:-----------| | `Signal-FiberEthernet` (see {s223:Signal-FiberEthernet})|
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 subClassOf `Connectable`, which gives it the ability to have connection points, but unlike Equipment (and like Connection) it is not allowed to change the 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} for more details.
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. 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} . } }
Incompatible Medium. Case5: Two `ConnectionPoint`s with pure mediums.
Incompatible Medium. Case 5: Two `ConnectionPoint`s with pure mediums.
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 . 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}) . }
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.
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} . } }
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. 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}) . }
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} . } }
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 enumerated subclasses represent substances that are used to convey the combination of electrical power and electrical communication signals. : Mix-PowerAndSignal Enumerations | Enumeration | |:-----------| | `PowerAndSignal-PoE` |
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`.
A `Sensor` that `observes` an `ObservableProperty` that represents an attribute of occupancy in a space.
A `PhysicalSpace` is 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}).
If the relation `contains` is present it shall associate the `PhysicalSpace` with a `PhysicalSpace`.
s223: If the relation `contains` is present it shall associate the `PhysicalSpace` with a `PhysicalSpace`.
If the relation `encloses` is present it shall associate the `PhysicalSpace` with a `DomainSpace`.
s223: If the relation `encloses` is present it shall associate the `PhysicalSpace` with a `DomainSpace`.
A piece of `Equipment` that modulates the volume of air delivered to a space.
A `TerminalUnit` shall have at least one outlet `ConnectionPoint` using the medium `Fluid-Air`.
s223: A `TerminalUnit` shall have at least one outlet `ConnectionPoint` using the medium `Fluid-Air`.
A `TerminalUnit` shall have at least one inlet `ConnectionPoint` using the medium `Fluid-Air`.
s223: A `TerminalUnit` shall have at least one inlet `ConnectionPoint` using the medium `Fluid-Air`.
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` |
This class represents the standardized 44-57VDC range that is produced by PoE Power Sourcing Equipment
A logical grouping of one or more `Zone`s (e.g., to define a supervisory building control strategy that overrides one or more system controls).
A `ZoneGroup` shall be associated with at least one `Zone` using the relation `hasZone`.
s223: A `ZoneGroup` shall be associated with at least one `Zone` using the relation `hasZone`.
A `ZoneGroup` shall be associated with exactly one `EnumerationKind-Domain` using the relation `hasDomain`.
s223: A `ZoneGroup` shall be associated with exactly one `EnumerationKind-Domain` using the relation `hasDomain`.
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 `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 (see {pub:equipment-containment}). This is illustrated in Figure 11-3. ![Equipment Containment.](figures/Figure_11-3_Equipment_Contains_3.svg) Note that the hasInternalReference relation is transitive.
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 `Property` being observed by a `Sensor` with the `Substance` it characterizes within a specific `Medium`. For example, to denote the concentration of a `Substance` in a `Medium`, `ofSubstance` is used. Typically, there is also an `ofMedium` relation between the observed `Property` and the `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.
This class has and its enumerated subclasses represent the possible values of a logical `Property` i.e., True or False. : Binary-Logical Enumerations | Enumeration | |:-----------| | `Logical-True` | | `Logical-False` |
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: A `Coil` shall have two outlets using the medium `Mix-Fluid`.
Pattern 1: A `Coil` shall have two inlets using the medium `Mix-Fluid`.
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 2: A `Coil` shall have one inlet using the medium `Mix-Fluid`.
Pattern 2: A `Coil` shall have one or two bidirectionals using the medium `MixFluid` or `Medium-ThermalContact`.
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 common Nitrogen Oxides (NOx). : Constituent-NOX Enumerations | Enumeration | |:-----------| | `NOX-NO` | | `NOX-NO2` |
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` |
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.
If the relation `hasInput` is present it shall associate a `Function` with a `Property`.
s223: If the relation `hasInput` is present it shall associate a `Function` with a `Property`.
If the relation `hasOutput` is present it shall associate a `Function` with a `Property`.
s223: If the relation `hasOutput` is present it shall associate a `Function` with a `Property`.
A piece of `Equipment` that heats or cools spaces by transferring thermal energy from one thermal environment to another using a reversible refrigeration cycle.
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}) |
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 `Property` referencing 70% `Constituent-Water` 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 `Fluid-DC` and a _Communications_ `Property` referencing `Signal-WiredEthernet`. : Medium-Mix Enumerations | Enumeration | |:-----------| | `Mix-Fluid` (see {s223:Mix-Fluid}) | | `Mix-PowerAndSignal` (see {s223:Mix-PowerAndSignal}) | ![ ](figures/Figure_10-8_Substance.svg)
This class represents 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 common analog communication protocols. : Signal-Modulated Enumerations | Enumeration | |:-----------| | `Modulated-0-10V` | | `Modulated-4-20mA` |
This class and its enumerated subclasses represent common concentrations of water-glycol solution. : Water-GlycolSolution Enumerations | Enumeration | |:-----------| | `GlycolSolution-15Percent` | | `GlycolSolution-30Percent` |
One of the constituents of a `Water-GlycolSolution` shall be `Constituent-H2O`.
The `QuantityKind` of the constituent shall be `VolumeFraction`.
There shall be at least two QuantifiableProperties that characterize the constituents of a `Water-GlycolSolution`.
One of the constituents of a `Water-GlycolSolution` shall be `Constituent-Glycol`.
If the relation `hasFreezingPoint` is used, the object shall be a `QuantifiableProperty` with a `QuantityKind` of `Temperature`.
s223: If the relation `hasFreezingPoint` is used, the object shall be a `QuantifiableProperty` with a `QuantityKind` of `Temperature`.
A logical grouping of one or more `DomainSpace`s for a specific domain for some building service or control-related purpose. Zones may be grouped into ZoneGroups (see {s223:ZoneGroup}).
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`.
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 at least one `DomainSpace` using the relation `hasDomainSpace`.
s223: A `Zone` shall be associated with at least one `DomainSpace` using the relation `hasDomainSpace`.
A `Relation` that associates an AC electricity `Medium` with its electrical phase identifier.
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 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 all polarities of 12 volt DC electricity. : DC-12V Enumerations | Enumeration | |:-----------| | `12V-12V-Neg` | | `12V-12V-Pos` | | `12V-6V-Neg-6V-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` |
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 outlet using the medium `Fluid-Air`.
s223: A `Damper` shall have at least one outlet using the medium `Fluid-Air`.
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`.
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 things that are produced, conveyed, sensed, controlled, or consumed. Its enumerated subclasses differentate between mediums, particulates, and soot. : EnumberationKind-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 composed ofs {?nextConstituent}. Create new substance with only atomic constituents.
SELECT $this ?constituent ?nextConstituent WHERE { $this s223:composedOf ?constituent . ?constituent s223:ofConstituent/s223:composedOf ?nextConstituent . }
If the relation `composedOf` is present, it shall associate an `EnumerationKind-Substance` with one or more Properties that identify and characterize its constituents. 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 `qudt:hasValue`. For example, see {s223:Water-GlycolSolution}.
A piece of `Equipment` that causes a gas (e.g., air) to flow.
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`.
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`.
This class and its enumerated subclasses represent the detection of motion in a space. : Occupancy-Motion Enumerations | Enumeration | |:-----------| | `Motion-False` | | `Motion-True` |
This class and its enumerated subclasses represent the detection of physical presence in a space. : Occupancy-Presence Enumerations | Enumeration | |:-----------| | `Presence-False` | | `Presence-True` |
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 `QuantifiableObservableProperty` can be associated with zero or more `QuantifiableProperty`(s) indicating the desired value(s) which the control process is trying to maintain using the relation `hasSetpoint`.
s223: A `QuantifiableObservableProperty` can be associated with zero or more `QuantifiableProperty`(s) indicating the desired value(s) which the control process is trying to maintain using the relation `hasSetpoint`.
This class and its enumerated subclasses represent all possible DC voltage polarities (i.e., positive, negative, and zero) for DC electricity service. : Voltage-DCVoltage Enumerations | Enumeration | |:-----------| | `DCVoltage-DCNegativeVoltage` (see {s223:DCVoltage-DCNegativeVoltage}) | | `DCVoltage-DCPositiveVoltage` (see {s223:DCVoltage-DCPositiveVoltage}) | | `DCVoltage-DCZeroVoltage` |
A DC-Voltage shall have a `Numerical-Voltage`
A `Relation` that associates a `Connection` with a specific `ConnectionPoint`.
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 basic operational states i.e., On and Off. : Binary-OnOff Enumerations | Enumeration | |:-----------| | `OnOff-Off` | | `OnOff-On` |
Numerical enumeration kinds are used to support the definitions of the Electricity medium. 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 enumeration kinds have properties associated with the enumeration 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` can be associated with a decimal value using the relation `hasValue`.
An `EnumerationKind-Numerical` shall be associated with at least one Unit using the relation `hasUnit`.
An `EnumerationKind-Numerical` shall be associated with at least one QuantityKind using the relation `hasQuantityKind`.
This class and its enumerated subclasses represent the occupancy status of a space within a building, i.e., the state of being used or occupied by a human being. Some occupancy enumerations have subclasses for more specific use. : EnumerationKind-Occupancy Enumerations | Enumeration | |:-----------| | `Occupancy-Occupied` | | `Occupancy-Unoccupied` |
This class and its enumerated subclasses represent thermodynamic phases, also referred to as states of matter. : EnumerationKind-Thermodynamic-Phase 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 frequencies for AC electricity service. : Numerical-Frequency Enumerations | Enumeration | |:-----------| | `Frequency-50Hz` | | `Frequency-60Hz` |
A `Numerical-Frequency` shall have a `Unit` of `Hertz`
A `Numerical-Frequency` shall have a `QuantityKind` of `Frequency`
This class and its enumerated subclasses represent all possible service phases for AC electricty service i.e., one or single-phase, and three-phase. The `s223:hasNumberOfElectricalPhases` relation points to one of the values of this enumeration. : Numerical-NumberOfElectricalPhases Enumerations | Enumeration | |:-----------| | `NumberOfElectricalPhases-SinglePhase` | | `NumberOfElectricalPhases-ThreePhase` |
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-PM10.0` | | `Particulate-PM2.5` |
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 `Zone` or `DomainSpace` with an `EnumerationKind-Domain` (e.g., `Domain-HVAC`, `Domain-Lighting`).
A `Relation` that associates an electricity `Medium` with an electrical voltage.
A `Relation` that associates a `Property` that characterizes a `Medium-Mix` with one of the constituents of that mix. (ex. `Fluid-Water` `composedOf` `Property` `ofConstituent` `Constituent-H2O`.
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` |
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}).
A `Relation` that associates two `ConnectionPoint`s where an `InletConnectionPoint` shares the same `Medium` with an `OutletConnectionPoint`.
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` |
This class and its enumerated subclasses represent common binary values. : EnumerationKind-Binary Enumerations | Enumeration | |:-----------| | `Binary-Logical` | | `Binary-OnOff` | | `Binary-Position` |
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`.
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-WiredEthernet` (see {s223:Signal-WiredEthernet})| | `Signal-IEC14908` | | `Signal-Modulated` (see {s223:Signal-Modulated}) | | `Signal-USB` |
This class and its enumerated subclasses represent all possible phase pairs for AC electricity service voltages. : EnumerationKind-ElectricalVoltagePhases Enumerations | Enumeration | |:-----------| | `ElectricalVoltagePhases-ABLineLineVoltage` | | `ElectricalVoltagePhases-ANLineNeutralVoltage` | | `ElectricalVoltagePhases-BCLineLineVoltage` | | `ElectricalVoltagePhases-BNLineNeutralVoltage` | | `ElectricalVoltagePhases-CALineLineVoltage` | | `ElectricalVoltagePhases-CNLineNeutralVoltage` |
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-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.
`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.
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 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 (see {pub:equipment-containment}). The associated `ConnectionPoint`s shall have the same direction (see {s223:EnumerationKind-Direction}) and compatible medium (see {s223:Substance-Medium}).
This class and its enumerated subclasses represent basic positional states i.e., Closed and Open. : Binary-Position Enumerations | Enumeration | |:-----------| | `Position-Closed` | | `Position-Open` |
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)
If the relation `connectsFrom` is present it shall associate the `Connection` with a `Connectable`.
s223: If the relation `connectsFrom` is present it shall associate the `Connection` with a `Connectable`.
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}) . }
If the relation `hasRole` is present it shall associate the `Connection` with an `EnumerationKind-Role`.
s223: If the relation `hasRole` is present it shall associate the `Connection` with an `EnumerationKind-Role`.
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`.
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}.
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 have two or more `cnx` relations to connection points
s223: A `Connection` shall have two or more `cnx` relations to connection points
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} . } }
Incompatible Medium. Case 2: A `Connection` with constituents and an associated `ConnectionPoint` with a pure medium.
If the relation `hasThermodynamicPhase` is present it shall associate the `Connection` with at most one `EnumerationKind-ThermodynamicPhase`.
s223: If the relation `hasThermodynamicPhase` is present it shall associate the `Connection` with at most one `EnumerationKind-ThermodynamicPhase`.
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} . } }
If the relation `connectsTo` is present it shall associate the `Connection` with a `Connectable`.
s223: If the relation `connectsTo` is present it shall associate the `Connection` with a `Connectable`.
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 have two or more `connectsAt` relations to connection points
s223: A `Connection` shall have two or more `connectsAt` relations to connection points
Incompatible Medium. Case 1: A `Connection` with a pure medium and an associated `ConnectionPoint` with a pure medium.
This class and its enumerated subclasses represent common negative voltages for DC electricity service. : DCVoltage-DCNegativeVoltage Enumerations | Enumeration | |:-----------| | `DCNegativeVoltage-12.0V` | | `DCNegativeVoltage-190.0V` | | `DCNegativeVoltage-2.5V` | | `DCNegativeVoltage-24.0V` | | `DCNegativeVoltage-3.0V` | | `DCNegativeVoltage-380.0V` | | `DCNegativeVoltage-48.0V` | | `DCNegativeVoltage-5.0V` | | `DCNegativeVoltage-6.0V` |
This class and its enumerated subclasses represent common DC electricity services. : Electricity-DC Enumerations | Enumeration | |:-----------| | `DC-12V` | | `DC-24V` | | `DC-380V` | | `DC-48V` | | `DC-5V` | | `DC-6V` | | `DC-PoE` |
A DC electricity medium shall have one or two reference voltages.
This class and its enumerated subclasses represent common fiber Ethernet communication protocols. : Signal-FiberEthernet Enumerations | Enumeration | |:-----------| | `FiberEthernet-OM1` | | `FiberEthernet-OM2` | | `FiberEthernet-OM3` | | `FiberEthernet-OM4` | | `FiberEthernet-OM5` | | `FiberEthernet-OS1` | | `FiberEthernet-OS2` |
A reference to the unit of measure of a `QuantifiableProperty` of interest.
This class and its enumerated subclasses represent common positive voltages for DC electricity service. : DCVoltage-DCPositiveVoltage Enumerations | Enumeration | |:-----------| | `DCPositiveVoltage-12.0V` | | `DCPositiveVoltage-190.0V` | | `DCPositiveVoltage-2.5V` | | `DCPositiveVoltage-24.0V` | | `DCPositiveVoltage-3.0V` | | `DCPositiveVoltage-380.0V` | | `DCPositiveVoltage-48.0V` | | `DCPositiveVoltage-5.0V` | | `DCPositiveVoltage-6.0V` | | `DCPositiveVoltage-PoE` |
`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` via connection points and connections.
If the relation `connectedTo` is present it shall associate the `Connectable` with a `Connectable`.
s223: If the relation `connectedTo` is present it shall associate the `Connectable` with a `Connectable`.
If the relation `connectedFrom` is present it shall associate the `Connectable` with a `Connectable`.
s223: If the relation `connectedFrom` is present it shall associate the `Connectable` with a `Connectable`.
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} }
If the relation `cnx` is present it shall associate the `Connectable` with a `ConnectionPoint`.
s223: If the relation `cnx` is present it shall associate the `Connectable` with a `ConnectionPoint`.
If the relation `connected` is present it shall associate the `Connectable` with a `Connectable`.
s223: If the relation `connected` is present it shall associate the `Connectable` with a `Connectable`.
If the relation `connectedThrough` is present it shall associate the `Connectable` with a `Connection`.
s223: If the relation `connectedThrough` is present it shall associate the `Connectable` with a `Connection`.
If the relation `hasConnectionPoint` is present it shall associate the `Connectable` with a `ConnectionPoint`.
s223: If the relation `hasConnectionPoint` is present it shall associate the `Connectable` with a `ConnectionPoint`.
This is the encapsulating class for all EnumerationKinds. EnumerationKinds define the (closed) set of permissible values for a given purpose. For example, the DayOfWeek `EnumerationKind` enumerates the days of the week and allows no other values. EnumerationKinds 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 s223: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 s223:Electricity-AC in the above example. Certain validation constraints exist in the standard that evaluate compatibility of EnumerationKinds. 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` |
This class and its enumerated subclasses represent commonly used refrigerants. : Fluid-Refrigerant Enumerations | Enumeration | |:-----------| | `Refrigerant-R-123` | | `Refrigerant-R-134A` | | `Refrigerant-R-22` | | `Refrigerant-R-290` | | `Refrigerant-R-404A` | | `Refrigerant-R-407C` | | `Refrigerant-R-410A` | | `Refrigerant-R-600A` | | `Refrigerant-R-717` | | `Refrigerant-R-744` |
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.
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-CO2` | | `Constituent-CO` | | `Constituent-Electricity` (see {s223:Constituent-Electricity}) | | `Constituent-EM` (see {s223:Constituent-EM}) | | `Constituent-Glycol` | | `Constituent-H2O` | | `Constituent-H2S` | | `Constituent-CH4` | | `Constituent-NOX` (see {s223:Constituent-NOX}) | | `Constituent-O3` | | `Constituent-Radon` | | `Constituent-SO2` | | `Constituent-VolatileOrganicCompounds` |
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: ``` @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 `isDeltaQuantity` to `true`. For example: ``` @prefix : <http://example.com/> . :example2 a s223:TemperatureSensor ; s223:hasObservationLocation :location1 ; s223:hasReferenceLocation :location2 ; qudt:hasQuantityKind quantitykind:Temperature ; qudt:isDeltaQuantity true ; . ```
If a `Sensor` measures a differential property, it shall be associated with exactly 1 of `Connectable`, `Connection`, or `ConnectionPoint` using the relation `hasReferenceLocation`.
s223: If a `Sensor` measures a differential property, it shall be associated with exactly 1 of `Connectable`, `Connection`, or `ConnectionPoint` 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`.
s223: If the `hasReferenceLocation` relation exists, the observed `Property` shall have isDeltaQuantity true.
s223: `Sensor` {$this} has a reference location, but its `Property` lacks 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} }
s223: If the observed `Property` has isDeltaQuantity true, the `Sensor` shall have a `hasReferenceLocation` relation.
s223: `Sensor` {$this} has `Property` {?x} with 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} }
If the relation `hasMeasurementResolution` is present it shall associate a `Sensor` with a `QuantifiableProperty`.
s223: If the relation `hasMeasurementResolution` is present it shall associate a `Sensor` with a `QuantifiableProperty`.
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 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}).
A `Relation` that associates a `Concept` with a `Property`.
This class and its enumerated subclasses represent common wired Ethernet protocols. : Signal-WiredEthernet Enumerations | Enumeration | |:-----------| | `WiredEthernet-Cat1` | | `WiredEthernet-Cat2` | | `WiredEthernet-Cat3` | | `WiredEthernet-Cat4` | | `WiredEthernet-Cat5` | | `WiredEthernet-Cat5e` | | `WiredEthernet-Cat6` | | `WiredEthernet-Cat6a` | | `WiredEthernet-Cat7` | | `WiredEthernet-Cat7a` | | `WiredEthernet-Cat8` |
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-Refrigerant` (see {s223:Fluid-Refrigerant}) | | `Fluid-Water` (see {s223:Fluid-Water}) |
This class and its enumerated instances represent common line-line voltages for AC electricity service. : Numerical-LineLineVoltage Enumerations | Enumeration | |:-----------| | `LineLineVoltage-10000V` | | `LineLineVoltage-190V` | | `LineLineVoltage-208V` | | `LineLineVoltage-220V` | | `LineLineVoltage-240V` | | `LineLineVoltage-3000V` | | `LineLineVoltage-3300V` | | `LineLineVoltage-380V` | | `LineLineVoltage-400V` | | `LineLineVoltage-415V` | | `LineLineVoltage-4160V` | | `LineLineVoltage-480V` | | `LineLineVoltage-6000V` | | `LineLineVoltage-600V` | | `LineLineVoltage-6600V` |
A Numerical-LineLineVoltage shall have a `Numerical-Voltage`
A `BidirectionalConnectionPoint` is a `ConnectionPoint` for which a medium (`Substance-Medium`) is expected to flow either into or out of the associated `Connectable`.
If the relation `mapsTo` is present it shall associate the `BidirectionalConnectionPoint` with a `BidirectionalConnectionPoint`.
s223: If the relation `mapsTo` is present it shall associate the `BidirectionalConnectionPoint` with a `BidirectionalConnectionPoint`.
If the relation `pairedConnectionPoint` is present it shall associate the `BidirectionalConnectionPoint` with a `ConnectionPoint`.
s223: If the relation `pairedConnectionPoint` is present it shall associate the `BidirectionalConnectionPoint` with a `ConnectionPoint`.
Aspect enumerations provide context to the meaning of a `Property` that would otherwise not be apparent.
This class and its enumerated subclasses represent common line-neutral voltages for AC electricity service. : Numerical-LineNeutralVoltage Enumerations | Enumeration | |:-----------| | `LineNeutralVoltage-110V` | | `LineNeutralVoltage-120V` | | `LineNeutralVoltage-127V` | | `LineNeutralVoltage-139V` | | `LineNeutralVoltage-1730V` | | `LineNeutralVoltage-1900V` | | `LineNeutralVoltage-208V` | | `LineNeutralVoltage-219V` | | `LineNeutralVoltage-230V` | | `LineNeutralVoltage-2400V` | | `LineNeutralVoltage-240V` | | `LineNeutralVoltage-24V` | | `LineNeutralVoltage-277V` | | `LineNeutralVoltage-3460V` | | `LineNeutralVoltage-347V` | | `LineNeutralVoltage-3810V` | | `LineNeutralVoltage-5770V` |
A Numerical-LineNeutralVoltage shall have a `Numerical-Voltage`
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` - subclass of `Property` that can be modified by user or machine outside of the model (typically command); `ObservableProperty` - subclass of `Property` that are observed (typically measures); `EnumerableProperty` - subclass of `Property` defined by `EnumerationKind`; `QuantifiableProperty` - subclass of `Property` defined by numerical values. And their subclass combinations : `QuantifiableActuatableProperty`, `QuantifiableObservableProperty`, `EnumeratedObservableProperty`, `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.
If the relation `hasExternalReference` is present it shall associate the `Property` with an `ExternalReference`.
s223: If the relation `hasExternalReference` is present it shall associate the `Property` with an `ExternalReference`.
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` 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` can be associated with at most one `EnumerationKind-Substance` using the relation `ofSubstance`.
s223: A `Property` can be associated with at most one `EnumerationKind-Substance` using the relation `ofSubstance`.
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` can be associated with at most one `Function` using the inverse relation `hasOutput`.
s223: A `Property` can be associated with at most one `Function` using the inverse relation `hasOutput`.
A `Property` can be associated with at most one `Substance-Medium` using the relation `ofMedium`.
s223: A `Property` can be associated with at most one `Substance-Medium` using the relation `ofMedium`.
A `Property` can use at most one relation `hasValue` if it is required to provide a static value in the model. It is not meant for real-time value (see {s223:hasExternalReference}).
s223: A `Property` can use at most one relation `hasValue` if it is required to provide a static value in the model. It is not meant for real-time value (see {s223:hasExternalReference}).
If the relation `hasAspect` is present, it shall associate the `Property` with an `EnumerationKind`.
s223: If the relation `hasAspect` is present, it shall associate the `Property` with an `EnumerationKind`.
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` 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 . }
If the relation `hasInternalReference` is present it shall associate the `Property` with at most one other `Property`.
s223: If the relation `hasInternalReference` is present it shall associate the `Property` with at most one other `Property`.
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.
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).
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)
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} . }
If the relation `hasElectricalPhase` is present it shall associate the `ConnectionPoint` with an ElectricalPhaseIdentifier or ElectricalVoltagePhases.
s223: If the relation `hasElectricalPhase` is present it shall associate the `ConnectionPoint` with an ElectricalPhaseIdentifier or ElectricalVoltagePhases.
A `ConnectionPoint` shall be associated with at most one `Connection` using the relation `connectsThrough`.
s223: This `ConnectionPoint` shall be associated with at most one `Connection`.
A `ConnectionPoint` can be associated with at most one other `ConnectionPoint` using the inverse of relation `mapsTo`
s223: A `ConnectionPoint` can be associated with at most one other `ConnectionPoint` using the inverse of relation `mapsTo`
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` `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} }
If the relation `hasRole` is present it shall associate the `ConnectionPoint` with an `EnumerationKind-Role`.
s223: If the relation `hasRole` is present it shall associate the `ConnectionPoint` with an `EnumerationKind-Role`.
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 `Connectable` using the `cnx` relation.
s223: A `ConnectionPoint` shall be associated with at most one `Connectable` using the `cnx` relation.
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 at most one `Connection` using the `cnx` relation
s223: A `ConnectionPoint` shall be associated with at most one `Connection` using the `cnx` relation
A `ConnectionPoint` can be associated with at most one other `ConnectionPoint` using the relation `mapsTo`
s223: A `ConnectionPoint` can be associated with at most one other `ConnectionPoint` using the relation `mapsTo`
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 . }
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 . }
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 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` can be associated with a`QuantifiableProperty` using the relation `hasThreshold`.
s223: A `QuantifiableProperty` can be associated with a`QuantifiableProperty` using the relation `hasThreshold`.
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) . }
Normally, a `QuantifiableProperty` is associated with a static decimal value using `hasValue`, along with a single `Unit` and `QuantityKind`. However, in some cases, a `QuantifiableProperty` may instead be associated with a `QuantityValue` using the relation `quantityValue`. This allows the `QuantityValue` to express multiple equivalent combinations of `Unit` and value.
s223: Normally, a `QuantifiableProperty` is associated with a static decimal value using `hasValue`, along with a single `Unit` and `QuantityKind`. However, in some cases, a `QuantifiableProperty` may instead be associated with a `QuantityValue` using the relation `quantityValue`. This allows the `QuantityValue` to express multiple equivalent combinations of `Unit` and value.
A `QuantifiableProperty` shall be associated with a `QuantityKind` using the relation `hasQuantityKind`.
s223: A `QuantifiableProperty` shall be associated with a `QuantityKind` using the relation `hasQuantityKind`.
A `QuantifiableProperty` should use `s223:hasValue` instead of `qudt:value`.
s223: A `QuantifiableProperty` should use `s223:hasValue` instead of `qudt:value`.
A `QuantifiableProperty` can be associated with a `QuantifiableProperty` using the relation `hasDeadband`.
s223: A `QuantifiableProperty` can be associated with a `QuantifiableProperty` using the relation `hasDeadband`.
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 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) . }
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` 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` 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 . }
A `QuantifiableProperty` can be associated with at most one `Unit` using the relation `hasUnit`.
s223: A `QuantifiableProperty` can be associated with at most one `Unit` using the relation `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) . }
A `QuantifiableProperty` can be associated with an optional Boolean flag using the relation isDeltaQuantity. If the relation 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` can be associated with an optional Boolean flag using the relation isDeltaQuantity. If the relation 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` can be associated with an `EnumerableProperty` using the relation `hasAlarmStatus`.
s223: A `QuantifiableProperty` can be associated with an `EnumerableProperty` using the relation `hasAlarmStatus`.
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` can be associated with a `QuantifiableProperty` using the relation `hasSetpoint`.
s223: A `QuantifiableProperty` can be associated with a `QuantifiableProperty` using the relation `hasSetpoint`.
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) . }
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-HeatRecovery` | | `Role-HeatTransfer` | | `Role-Heating` | | `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, e.g. quantitykind:Temperature.
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 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}) |
This class and its enumerated subclasses represent common voltages for electricty service. : Numerical-Voltage Enumerations | Enumeration | |:-----------| | `Voltage-0V` | | `Voltage-10000V` | | `Voltage-110V` | | `Voltage-120V` | | `Voltage-127V` | | `Voltage-12V` | | `Voltage-139V` | | `Voltage-1730V` | | `Voltage-1900V` | | `Voltage-190V` | | `Voltage-208V` | | `Voltage-219V` | | `Voltage-220V` | | `Voltage-230V` | | `Voltage-2400V` | | `Voltage-240V` | | `Voltage-24V` | | `Voltage-277V` | | `Voltage-2V` | | `Voltage-3000V` | | `Voltage-3300V` | | `Voltage-3460V` | | `Voltage-347V` | | `Voltage-380V` | | `Voltage-3810V` | | `Voltage-3V` | | `Voltage-400V` | | `Voltage-415V` | | `Voltage-4160V` | | `Voltage-480V` | | `Voltage-48V` | | `Voltage-5770V` | | `Voltage-5V` | | `Voltage-6000V` | | `Voltage-600V` | | `Voltage-6600V` | | `Voltage-6V` | | `Voltage-DCVoltage` (see {s223:Voltage-DCVoltage}) | | `Voltage-PoE` (see {s223:Voltage-PoE}) |
A `Numerical-Voltage` shall have a `QuantityKind` of `Voltage`
A `Numerical-Voltage` shall have a `Unit` of `Volts`
An `OutletConnectionPoint` is a `ConnectionPoint` for which a medium (`Substance-Medium`) is expected to flow out of the associated `Connectable`.
If the relation `pairedConnectionPoint` is present it shall associate the `OutletConnectionPoint` with an `InletConnectionPoint` or `BidirectionalConnectionPoint`.
s223: If the relation `pairedConnectionPoint` is present it shall associate the `OutletConnectionPoint` with an `InletConnectionPoint` or `BidirectionalConnectionPoint`.
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} . }
If the relation `mapsTo` is present it shall associate the `OutletConnectionPoint` with an `OutletConnectionPoint`.
s223: If the relation `mapsTo` is present it shall associate the `OutletConnectionPoint` with an `OutletConnectionPoint`.
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 possible `Equipment` include a `Pump`, `Fan`, `HeatExchanger`, `Luminaire`, and `Sensor`, as well as more complex things like a heat pump, a chilled water plant, or a utility meter. `Equipment` is distinct from a `System`, which is simply a logical grouping or collection of (only) `Equipment`. In common usage, terms like equipment and system have a variety of ambiguous and possibly conflicting interpretations. A semantic model is an attempt to eliminate such ambiguities and conflicts. If the thing being modeled involves `Connection`s and `ConnectionPoint`s, it must be modeled as `Equipment` and not a `System`. Thus, a model of a chilled water plant that includes external connections to things beyond the plant must be modeled as `Equipment`. Any contained `Equipment` within the chilled water plant (i.e., the pumps, valves, filters, and other things) may alternatively or in addition be logically grouped and modeled as a `System`. 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)
If the relation `executes` is present it shall associate the `Equipment` with a `Function`.
s223: If the relation `executes` is present it shall associate the `Equipment` with a `Function`.
If the relation `hasRole` is present it shall associate the `Equipment` with a `EnumerationKind-Role`.
s223: If the relation `hasRole` is present it shall associate the `Equipment` with a `EnumerationKind-Role`.
If the relation `hasPhysicalLocation` is present it shall associate the `Equipment` with a `PhysicalSpace`.
s223: If the relation `hasPhysicalLocation` is present it shall associate the `Equipment` with a `PhysicalSpace`.
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 .} }
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 . } }
If the relation `contains` is present it shall associate the `Equipment` with either `Equipment` or `Junction`.
s223: If the relation `contains` is present it shall associate the `Equipment` with either `Equipment` or `Junction`.
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 .} }
If the relation `actuatedByProperty` is present it shall associate the `Equipment` with a `ActuatableProperty`. Note that any `Equipment` may use this relation, not just `Actuator`.
s223: If the relation `actuatedByProperty` is present it shall associate the `Equipment` with a `ActuatableProperty`. Note that any `Equipment` may use this relation, not just `Actuator`.
An `InletConnectionPoint` is a `ConnectionPoint` for which a medium (`Substance-Medium`) is expected to flow into the associated `Connectable`.
If the relation `mapsTo` is present it shall associate the `InletConnectionPoint` with an `InletConnectionPoint`.
s223: If the relation `mapsTo` is present it shall associate the `InletConnectionPoint` with an `InletConnectionPoint`.
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} . }
If the relation `pairedConnectionPoint` is present it shall associate the `InletConnectionPoint` with an `OutletConnectionPoint` or `BidirectionalConnectionPoint`.
s223: If the relation `pairedConnectionPoint` is present it shall associate the `InletConnectionPoint` with an `OutletConnectionPoint` or `BidirectionalConnectionPoint`.
An AC electricity medium shall have a voltage.
An AC electricity medium shall have a frequency
An AC electricity medium shall have a number of electrical phases.
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}).