diff --git a/.github/workflows/build-site.yml b/.github/workflows/build-site.yml index 02bf1d2..4ddbca3 100644 --- a/.github/workflows/build-site.yml +++ b/.github/workflows/build-site.yml @@ -34,7 +34,7 @@ jobs: run: poetry install - name: make index.html - run: make static/index.html + run: make index.html - name: Commit Built Files run: | diff --git a/Makefile b/Makefile index 6670ba3..3415ac8 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ .PHONY: serve -serve: static/index.html - cd static && python3 -m http.server --bind 0.0.0.0 8000 +serve: index.html + python3 -m http.server --bind 0.0.0.0 8000 -static/index.html: ontologies/223p.ttl generate_interactive_doc.py +index.html: ontologies/223p.ttl generate_interactive_doc.py python3 generate_interactive_doc.py ontologies/223p.ttl diff --git a/generate_interactive_doc.py b/generate_interactive_doc.py index b8baee3..7f24d87 100644 --- a/generate_interactive_doc.py +++ b/generate_interactive_doc.py @@ -201,7 +201,7 @@ def get_all_constraints(g): }) -with open("static/index.html", "w") as f: +with open("index.html", "w") as f: f.write(template.render( concepts=sorted(defns, key=lambda x: x['class']), property_shapes=sorted(prop_defns, key=lambda x: x['name']), diff --git a/static/index.html b/static/index.html deleted file mode 100644 index cf29701..0000000 --- a/static/index.html +++ /dev/null @@ -1,18635 +0,0 @@ - - - - - -

Docs

- - -
-

Abstract sensor

-

URI: http://data.ashrae.org/standard223#AbstractSensor

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:AbstractSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Abstract sensor" ;
-    s223:abstract true ;
-    rdfs:comment "This is an abstract class that represents properties that are common to all sensor types." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "If the relation hasMeasurementResolution is present it must associate the AbstractSensor with a QuantifiableProperty." ;
-            sh:class s223:QuantifiableProperty ;
-            sh:path s223:hasMeasurementResolution ],
-        [ rdfs:comment "An AbstractSensor must be associated with exactly one ObservableProperty using the relation observes." ;
-            sh:class s223:ObservableProperty ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:path s223:observes ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:AbstractSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Abstract sensor" ;
-    s223:abstract true ;
-    rdfs:comment "This is an abstract class that represents properties that are common to all sensor types." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "If the relation hasMeasurementResolution is present it must associate the AbstractSensor with a QuantifiableProperty." ;
-            sh:class s223:QuantifiableProperty ;
-            sh:path s223:hasMeasurementResolution ],
-        [ rdfs:comment "An AbstractSensor must be associated with exactly one ObservableProperty using the relation observes." ;
-            sh:class s223:ObservableProperty ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:path s223:observes ] .
-
-
-            
-
-
- -
-

Actuatable Property

-

URI: http://data.ashrae.org/standard223#ActuatableProperty

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:ActuatableProperty a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Actuatable Property" ;
-    rdfs:comment "This class describes non-numeric properties of which real-time value can be modified by a user or a machine outside of the model." ;
-    rdfs:subClassOf s223:Property .
-
-
-        
- -

See Also

- - -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:ActuatableProperty a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Actuatable Property" ;
-    rdfs:comment "This class describes non-numeric properties of which real-time value can be modified by a user or a machine outside of the model." ;
-    rdfs:subClassOf s223:Property .
-
-s223:Property a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Property" ;
-    rdfs:comment """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 - parent of subclass of properties that can be modified by user or machine outside of the model (typically command)
-ObservableProperty - parent of subclass of properties that can not be modified by user or machine outside of the model (typically measures)
-EnumerableProperty - parent of subclass of properties defined by EnumerationKind
-QuantifiableProperty - parent of subclass of properties defined by numerical values
-
-And their different associations :
-QuantifiableActuatableProperty
-QuantifiableObservableProperty
-EnumeratedObservableProperty
-EnumeratedActuatableProperty
-
-A QuantifiableProperty (or subClass thereof) must 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 the QuantityKind (the most general version).
-
-Enumerable properties must be associated with an EnumerationKind.
-""" ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "If the relation hasAspect is present it must associate the Property with an EnumerationKind." ;
-            sh:class s223:EnumerationKind ;
-            sh:path s223:hasAspect ],
-        [ rdfs:comment "If the relation hasExternalReference is present it must associate the Property with an ExternalReference." ;
-            sh:class s223:ExternalReference ;
-            sh:path s223:hasExternalReference ],
-        [ rdfs:comment "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)" ;
-            sh:maxCount 1 ;
-            sh:path s223:hasValue ],
-        [ rdfs:comment "A Property can be associated with at most one EnumerationKind-Medium using the relation ofMedium" ;
-            sh:class s223:Substance-Medium ;
-            sh:maxCount 1 ;
-            sh:path s223:ofMedium ],
-        [ rdfs:comment "A Property can be associated with at most one EnumerationKind-Substance using the relation ofSubstance" ;
-            sh:class s223:EnumerationKind-Substance ;
-            sh:maxCount 1 ;
-            sh:path s223:ofSubstance ],
-        [ rdfs:comment "A Property can be associated with at most one FunctionBlock using the inverse relation hasOutput." ;
-            sh:class s223:FunctionBlock ;
-            sh:maxCount 1 ;
-            sh:message "A Property can be associated with at most one FunctionBlock using the inverse relation hasOutput." ;
-            sh:path [ sh:inversePath s223:hasOutput ] ] ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "A Property instance cannot be declared an instance of both an ActuatableProperty and an ObservableProperty." ;
-            sh:message "{$this} cannot be declared an instance of both an ActuatableProperty and an ObservableProperty." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-SELECT $this
-WHERE {
-$this a/rdfs:subClassOf* s223:ActuatableProperty .
-$this a/rdfs:subClassOf* s223:ObservableProperty .
-}
-""" ] .
-
-
-            
-
-
- -
-

Actuator

-

URI: http://data.ashrae.org/standard223#Actuator

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Actuator a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Actuator" ;
-    rdfs:comment "A piece of equipment, either electrically, pneumatically, or hydraulically operated, that makes a change in the physical world, such as the position of a valve or damper." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "If the relation actuates is present it must associate the Actuator with a Equipment." ;
-            sh:class s223:Equipment ;
-            sh:path s223:actuates ],
-        [ rdfs:comment "An Actuator must be associated with at least one ActuatableProperty using the relation commandedByProperty." ;
-            sh:class s223:ActuatableProperty ;
-            sh:minCount 1 ;
-            sh:path s223:commandedByProperty ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Actuator a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Actuator" ;
-    rdfs:comment "A piece of equipment, either electrically, pneumatically, or hydraulically operated, that makes a change in the physical world, such as the position of a valve or damper." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "If the relation actuates is present it must associate the Actuator with a Equipment." ;
-            sh:class s223:Equipment ;
-            sh:path s223:actuates ],
-        [ rdfs:comment "An Actuator must be associated with at least one ActuatableProperty using the relation commandedByProperty." ;
-            sh:class s223:ActuatableProperty ;
-            sh:minCount 1 ;
-            sh:path s223:commandedByProperty ] .
-
-
-            
-
-
- -
-

Air filter

-

URI: http://data.ashrae.org/standard223#AirFilter

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:AirFilter a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Air filter" ;
-    rdfs:comment "A piece of equipment that removes particulates from gasses such as air." ;
-    rdfs:subClassOf s223:Filter ;
-    sh:property [ rdfs:comment "An AirFilter shall have at least one inlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "An AirFilter shall have at least one outlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:AirFilter a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Air filter" ;
-    rdfs:comment "A piece of equipment that removes particulates from gasses such as air." ;
-    rdfs:subClassOf s223:Filter ;
-    sh:property [ rdfs:comment "An AirFilter shall have at least one inlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "An AirFilter shall have at least one outlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Air handling unit

-

URI: http://data.ashrae.org/standard223#AirHandlingUnit

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:AirHandlingUnit a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Air handling unit" ;
-    rdfs:comment "An assembly consisting of sections containing a fan or fans and other necessary equipment to perform one or more of the following functions: circulating, filtration, heating, cooling, heat recovery, humidifying, dehumidifying, and mixing of air. It is usually connected to an air-distribution system." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "An AirHandlingUnit shall have at least one inlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "An AirHandlingUnit shall have at least one outlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:AirHandlingUnit a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Air handling unit" ;
-    rdfs:comment "An assembly consisting of sections containing a fan or fans and other necessary equipment to perform one or more of the following functions: circulating, filtration, heating, cooling, heat recovery, humidifying, dehumidifying, and mixing of air. It is usually connected to an air-distribution system." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "An AirHandlingUnit shall have at least one inlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "An AirHandlingUnit shall have at least one outlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Day of Week

-

URI: http://data.ashrae.org/standard223#Attribute-DayOfWeek

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Attribute-DayOfWeek a s223:Attribute-DayOfWeek,
-        s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Day of Week" ;
-    rdfs:comment "This class has enumerated instances of 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" ;
-    rdfs:subClassOf s223:Context-Attribute .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Attribute-DayOfWeek a s223:Attribute-DayOfWeek,
-        s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Day of Week" ;
-    rdfs:comment "This class has enumerated instances of 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" ;
-    rdfs:subClassOf s223:Context-Attribute .
-
-
-            
-
-
- -
-

Attribute-Effectiveness

-

URI: http://data.ashrae.org/standard223#Attribute-Effectiveness

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Attribute-Effectiveness a s223:Attribute-Effectiveness,
-        s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Attribute-Effectiveness" ;
-    rdfs:comment "This class enumerates the possible states of effectiveness" ;
-    rdfs:subClassOf s223:Context-Attribute .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Attribute-Effectiveness a s223:Attribute-Effectiveness,
-        s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Attribute-Effectiveness" ;
-    rdfs:comment "This class enumerates the possible states of effectiveness" ;
-    rdfs:subClassOf s223:Context-Attribute .
-
-
-            
-
-
- -
-

Attribute-Electrical phase identifier

-

URI: http://data.ashrae.org/standard223#Attribute-ElectricalPhaseIdentifier

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Attribute-ElectricalPhaseIdentifier a s223:Attribute-ElectricalPhaseIdentifier,
-        s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Attribute-Electrical phase identifier" ;
-    rdfs:comment "The value of the associated Property identifies the electrical phase of the Connection." ;
-    rdfs:subClassOf s223:Context-Attribute .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Attribute-ElectricalPhaseIdentifier a s223:Attribute-ElectricalPhaseIdentifier,
-        s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Attribute-Electrical phase identifier" ;
-    rdfs:comment "The value of the associated Property identifies the electrical phase of the Connection." ;
-    rdfs:subClassOf s223:Context-Attribute .
-
-
-            
-
-
- -
-

BACnetExternalReference

-

URI: http://data.ashrae.org/standard223#BACnetExternalReference

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:BACnetExternalReference a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "BACnetExternalReference" ;
-    rdfs:comment "BACnetExternalReference is a subclass of ExternalReference that contains BACnet protocol parameter values necessary to associate a property with a value." ;
-    rdfs:subClassOf s223:ExternalReference ;
-    sh:property [ a sh:PropertyShape ;
-            rdfs:comment "This comment intentionally left blank." ;
-            sh:datatype xsd:string ;
-            sh:maxCount 1 ;
-            sh:minCount 0 ;
-            sh:path <http://data.ashrae.org/bacnet/2020#device-identifier> ;
-            sh:pattern "^[A-Za-z0-9-]+,[1-9][0-9]*$" ],
-        [ a sh:PropertyShape ;
-            rdfs:comment "This comment intentionally left blank." ;
-            sh:datatype xsd:string ;
-            sh:maxCount 1 ;
-            sh:minCount 0 ;
-            sh:path <http://data.ashrae.org/bacnet/2020#device-name> ],
-        [ a sh:PropertyShape ;
-            rdfs:comment "This comment intentionally left blank." ;
-            sh:datatype xsd:string ;
-            sh:maxCount 1 ;
-            sh:minCount 0 ;
-            sh:path <http://data.ashrae.org/bacnet/2020#object-identifier> ;
-            sh:pattern "^[A-Za-z0-9-]+,[1-9][0-9]*$" ],
-        [ a sh:PropertyShape ;
-            rdfs:comment "This comment intentionally left blank." ;
-            sh:datatype xsd:string ;
-            sh:maxCount 1 ;
-            sh:minCount 0 ;
-            sh:path <http://data.ashrae.org/bacnet/2020#object-name> ],
-        [ a sh:PropertyShape ;
-            rdfs:comment "This comment intentionally left blank." ;
-            sh:datatype xsd:nonNegativeInteger ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:path <http://data.ashrae.org/bacnet/2020#priority-for-writing> ],
-        [ a sh:PropertyShape ;
-            rdfs:comment "This comment intentionally left blank." ;
-            sh:datatype xsd:nonNegativeInteger ;
-            sh:maxCount 1 ;
-            sh:minCount 0 ;
-            sh:path <http://data.ashrae.org/bacnet/2020#property-array-index> ],
-        [ a sh:PropertyShape ;
-            rdfs:comment "This comment intentionally left blank." ;
-            sh:datatype xsd:string ;
-            sh:maxCount 1 ;
-            sh:minCount 0 ;
-            sh:path <http://data.ashrae.org/bacnet/2020#property-identifier> ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:BACnetExternalReference a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "BACnetExternalReference" ;
-    rdfs:comment "BACnetExternalReference is a subclass of ExternalReference that contains BACnet protocol parameter values necessary to associate a property with a value." ;
-    rdfs:subClassOf s223:ExternalReference ;
-    sh:property [ a sh:PropertyShape ;
-            rdfs:comment "This comment intentionally left blank." ;
-            sh:datatype xsd:string ;
-            sh:maxCount 1 ;
-            sh:minCount 0 ;
-            sh:path <http://data.ashrae.org/bacnet/2020#device-identifier> ;
-            sh:pattern "^[A-Za-z0-9-]+,[1-9][0-9]*$" ],
-        [ a sh:PropertyShape ;
-            rdfs:comment "This comment intentionally left blank." ;
-            sh:datatype xsd:string ;
-            sh:maxCount 1 ;
-            sh:minCount 0 ;
-            sh:path <http://data.ashrae.org/bacnet/2020#device-name> ],
-        [ a sh:PropertyShape ;
-            rdfs:comment "This comment intentionally left blank." ;
-            sh:datatype xsd:string ;
-            sh:maxCount 1 ;
-            sh:minCount 0 ;
-            sh:path <http://data.ashrae.org/bacnet/2020#object-identifier> ;
-            sh:pattern "^[A-Za-z0-9-]+,[1-9][0-9]*$" ],
-        [ a sh:PropertyShape ;
-            rdfs:comment "This comment intentionally left blank." ;
-            sh:datatype xsd:string ;
-            sh:maxCount 1 ;
-            sh:minCount 0 ;
-            sh:path <http://data.ashrae.org/bacnet/2020#object-name> ],
-        [ a sh:PropertyShape ;
-            rdfs:comment "This comment intentionally left blank." ;
-            sh:datatype xsd:nonNegativeInteger ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:path <http://data.ashrae.org/bacnet/2020#priority-for-writing> ],
-        [ a sh:PropertyShape ;
-            rdfs:comment "This comment intentionally left blank." ;
-            sh:datatype xsd:nonNegativeInteger ;
-            sh:maxCount 1 ;
-            sh:minCount 0 ;
-            sh:path <http://data.ashrae.org/bacnet/2020#property-array-index> ],
-        [ a sh:PropertyShape ;
-            rdfs:comment "This comment intentionally left blank." ;
-            sh:datatype xsd:string ;
-            sh:maxCount 1 ;
-            sh:minCount 0 ;
-            sh:path <http://data.ashrae.org/bacnet/2020#property-identifier> ] .
-
-
-            
-
-
- -
-

Battery

-

URI: http://data.ashrae.org/standard223#Battery

-

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Battery a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Battery" ;
-    rdfs:comment "A container consisting of one or more cells, in which chemical energy is converted into electricity and used as a source of power." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:or ( [ sh:property [ rdfs:comment "A Battery shall have at least one outlet or bidirectional ConnectionPoint using the medium Electricity." ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasConnectionPoint ;
-                        sh:qualifiedMinCount 1 ;
-                        sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                                sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                                                sh:path s223:hasMedium ] ] ] ] ] [ sh:property [ rdfs:comment "A Battery shall have at least one outlet or bidirectional ConnectionPoint using the medium Electricity." ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasConnectionPoint ;
-                        sh:qualifiedMinCount 1 ;
-                        sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
-                                sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                                                sh:path s223:hasMedium ] ] ] ] ] ) .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Battery a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Battery" ;
-    rdfs:comment "A container consisting of one or more cells, in which chemical energy is converted into electricity and used as a source of power." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:or [ rdf:first [ ] ;
-            rdf:rest [ ] ] .
-
-
-            
-
-
- -
-

Bidirectional Connection Point

-

URI: http://data.ashrae.org/standard223#BidirectionalConnectionPoint

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:BidirectionalConnectionPoint a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Bidirectional Connection Point" ;
-    rdfs:comment "A BidirectionalConnectionPoint is a predefined subclass of ConnectionPoint. Using a BidirectionalConnectionPoint implies that the flow direction is not fixed in one direction. It depends on the status of some other part of the system, such as a valve position, that is expected to change during operation (see `s223:Direction-Bidirectional`) or to model energy transfer occurring without specific flow direction." ;
-    rdfs:subClassOf s223:ConnectionPoint .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:BidirectionalConnectionPoint a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Bidirectional Connection Point" ;
-    rdfs:comment "A BidirectionalConnectionPoint is a predefined subclass of ConnectionPoint. Using a BidirectionalConnectionPoint implies that the flow direction is not fixed in one direction. It depends on the status of some other part of the system, such as a valve position, that is expected to change during operation (see `s223:Direction-Bidirectional`) or to model energy transfer occurring without specific flow direction." ;
-    rdfs:subClassOf s223:ConnectionPoint .
-
-
-            
-
-
- -
-

Boiler

-

URI: http://data.ashrae.org/standard223#Boiler

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Boiler a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Boiler" ;
-    rdfs:comment "A closed, pressure vessel that uses fuel or electricity for heating water or other fluids to supply steam or hot water for heating, humidification, or other applications." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Boiler shall have at least one inlet using the medium Water." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "A Boiler shall have at least one outlet using the medium Water." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Boiler a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Boiler" ;
-    rdfs:comment "A closed, pressure vessel that uses fuel or electricity for heating water or other fluids to supply steam or hot water for heating, humidification, or other applications." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Boiler shall have at least one inlet using the medium Water." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A Boiler shall have at least one outlet using the medium Water." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Chilled beam

-

URI: http://data.ashrae.org/standard223#ChilledBeam

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:ChilledBeam a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Chilled beam" ;
-    rdfs:comment "A structure 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." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A ChilledBeam shall have at least one inlet using the medium Water." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "A ChilledBeam shall have at least one outlet using the medium Water." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "A ChilledBeam must be associated with the Role-Cooling using the relation hasRole" ;
-            sh:minCount 1 ;
-            sh:path s223:hasRole ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:Role-Cooling ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:ChilledBeam a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Chilled beam" ;
-    rdfs:comment "A structure 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." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A ChilledBeam shall have at least one inlet using the medium Water." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A ChilledBeam shall have at least one outlet using the medium Water." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A ChilledBeam must be associated with the Role-Cooling using the relation hasRole" ;
-            sh:minCount 1 ;
-            sh:path s223:hasRole ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Chiller

-

URI: http://data.ashrae.org/standard223#Chiller

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Chiller a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Chiller" ;
-    rdfs:comment "A refrigerating machine used to transfer heat from fluids." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Chiller shall have at least one inlet using the medium Water." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "A Chiller shall have at least one outlet using the medium Water." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Chiller a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Chiller" ;
-    rdfs:comment "A refrigerating machine used to transfer heat from fluids." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Chiller shall have at least one inlet using the medium Water." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A Chiller shall have at least one outlet using the medium Water." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Coil

-

URI: http://data.ashrae.org/standard223#Coil

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Coil a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Coil" ;
-    rdfs:comment "A cooling or heating element made of pipe or tube that may or may not be finned and formed into helical or serpentine shape." ;
-    rdfs:subClassOf s223:HeatExchanger ;
-    sh:property [ rdfs:comment "A Coil shall have at least one inlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "A Coil shall have at least one outlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Coil a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Coil" ;
-    rdfs:comment "A cooling or heating element made of pipe or tube that may or may not be finned and formed into helical or serpentine shape." ;
-    rdfs:subClassOf s223:HeatExchanger ;
-    sh:property [ rdfs:comment "A Coil shall have at least one inlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A Coil shall have at least one outlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Compressor

-

URI: http://data.ashrae.org/standard223#Compressor

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Compressor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Compressor" ;
-    rdfs:comment "A device for mechanically increasing the pressure of a gas." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Compressor shall have at least one inlet." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ] ],
-        [ rdfs:comment "A Compressor shall have at least one outlet." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Compressor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Compressor" ;
-    rdfs:comment "A device for mechanically increasing the pressure of a gas." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Compressor shall have at least one inlet." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A Compressor shall have at least one outlet." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Concentration sensor

-

URI: http://data.ashrae.org/standard223#ConcentrationSensor

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:ConcentrationSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Concentration sensor" ;
-    rdfs:comment "A ConcentrationSensor is a specialization of a Sensor that observes a QuantifiableObservableProperty that represents the concentration of a substance in a medium." ;
-    rdfs:subClassOf s223:Sensor .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:ConcentrationSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Concentration sensor" ;
-    rdfs:comment "A ConcentrationSensor is a specialization of a Sensor that observes a QuantifiableObservableProperty that represents the concentration of a substance in a medium." ;
-    rdfs:subClassOf s223:Sensor .
-
-
-            
-
-
- -
-

Concept

-

URI: http://data.ashrae.org/standard223#Concept

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Concept a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Concept" ;
-    s223:abstract true ;
-    rdfs:comment "All classes defined in the 223 standard are subclasses of s223:Concept." ;
-    rdfs:subClassOf rdfs:Resource ;
-    sh:property [ rdfs:comment "If the relation hasProperty is present, it must associate the concept with a Property." ;
-            sh:class s223:Property ;
-            sh:path s223:hasProperty ],
-        [ rdfs:comment "A Concept must be associated with at least one label using the relation label." ;
-            sh:minCount 1 ;
-            sh:path rdfs:label ;
-            sh:severity sh:Warning ] ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "Flag entities that have a hasMedium value which is incompatible with the ofMedium value of an associated Property." ;
-            sh:message "{$this} hasMedium of {?m1}, but is associated with property {?prop} that has ofMedium of {?m2}." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ],
-        [ a sh:SPARQLConstraint ;
-            rdfs:comment "Ensure that any instance that is declared to be an instance of an abstract class must also be declared an instance of at least one subClass of that abstract class" ;
-            sh:message "{$this} cannot be declared an instance of only abstract class {?class}." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-SELECT DISTINCT $this ?class
-WHERE {
-?class s223:abstract true .
-$this a ?class .
-OPTIONAL {
-?otherClass rdfs:subClassOf+ ?class .
-$this a ?otherClass .
-FILTER (?class != ?otherClass) .
-}
-FILTER (!bound (?otherClass)) .
-}
-""" ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:ClosedWorldShape a sh:NodeShape ;
-    sh:severity sh:Info ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "Ensure that all instances of a class use only the properties defined for that class." ;
-            sh:message "Predicate {?p} is not defined for instance {$this}." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-SELECT $this ?p ?o
-WHERE {
-$this a/rdfs:subClassOf* s223:Concept .
-$this ?p ?o .
-FILTER(STRSTARTS (str(?p), "http://data.ashrae.org/standard223") || 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 .
-}
-}
-""" ] ;
-    sh:targetClass s223:Concept .
-
-s223:InversePropertyShape a sh:NodeShape ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "Declare the inverse triples for relations that have defined inverse relations" ;
-            sh:construct """
-CONSTRUCT {
-?o ?invP $this .
-}
-WHERE {
-  $this ?p ?o .
-  ?p s223:inverseOf ?invP .
-}
-			""" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/owl-subset> ] ;
-    sh:targetClass s223:Concept .
-
-s223:MeasuredPropertyRule a sh:NodeShape ;
-    rdfs:comment "Associate the object of hasObservationLocation directly with the observed Property." ;
-    sh:rule [ a sh:TripleRule ;
-            rdfs:comment "Associate the object of hasObservationLocation directly with the observed Property." ;
-            sh:object [ sh:path ( [ sh:inversePath s223:hasObservationLocation ] s223:observes ) ] ;
-            sh:predicate s223:hasProperty ;
-            sh:subject sh:this ] ;
-    sh:targetClass s223:Concept .
-
-s223:RequiredCommentsShape a sh:NodeShape ;
-    sh:severity sh:Info ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "Ensure that any instance of s223:Class is also a rdfs:subClassOf* s223:Concept." ;
-            sh:message "Class {$this} must be within the rdfs:subClassOf hierarchy under s223:Concept." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-SELECT $this
-WHERE {
-FILTER NOT EXISTS {$this rdfs:subClassOf* rdf:Property} .
-FILTER NOT EXISTS {$this rdfs:subClassOf* s223:Concept} .
-}
-""" ],
-        [ a sh:SPARQLConstraint ;
-            rdfs:comment "Ensure that any instance of s223:Class is also an instance of sh:NodeShape." ;
-            sh:message "Class {$this} must be declared as an instance of sh:NodeShape." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-SELECT $this
-WHERE {
-FILTER NOT EXISTS {$this a sh:NodeShape} .
-}
-""" ],
-        [ a sh:SPARQLConstraint ;
-            rdfs:comment "Ensure that any instance of s223:Class must have an rdfs:comment." ;
-            sh:message "Class {$this} must have an rdfs:comment." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-SELECT $this
-WHERE {
-FILTER NOT EXISTS {$this rdfs:comment ?comment} .
-}
-""" ],
-        [ a sh:SPARQLConstraint ;
-            rdfs:comment "Ensure that any property shape must have an rdfs:comment." ;
-            sh:message "The SPARQLConstraint for path {?path} for Class {$this} must have an rdfs:comment." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-SELECT $this ?path
-WHERE {
-$this sh:property ?propshape .
-?propshape sh:sparql ?sparqlconstraint .
-?propshape sh:path ?path .
-FILTER NOT EXISTS {?sparqlconstraint rdfs:comment ?comment} .
-}
-""" ],
-        [ a sh:SPARQLConstraint ;
-            rdfs:comment "Ensure that any property shape must have an rdfs:comment." ;
-            sh:message "The property shape with path {?path} for Class {$this} must have an rdfs:comment." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-SELECT $this ?path
-WHERE {
-$this sh:property ?propshape .
-?propshape sh:path ?path .
-FILTER NOT EXISTS {?propshape rdfs:comment ?comment} .
-}
-""" ],
-        [ a sh:SPARQLConstraint ;
-            rdfs:comment "Every Class must have a label." ;
-            sh:message "{$this} must have an rdfs:label" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/schema> ;
-            sh:select """
-SELECT $this
-WHERE {
-FILTER (NOT EXISTS {$this rdfs:label ?something}) .
-}
-""" ],
-        [ a sh:SPARQLConstraint ;
-            rdfs:comment "Ensure that every TripleRule must have an rdfs:comment." ;
-            sh:message "The TripleRule inferring {?pred} for Class {$this} must have an rdfs:comment." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/schema> ;
-            sh:select """
-SELECT $this ?pred
-WHERE {
-$this sh:rule ?rule .
-?rule a sh:TripleRule .
-?rule sh:predicate ?pred .
-FILTER NOT EXISTS {?rule rdfs:comment ?comment} .
-}
-""" ],
-        [ a sh:SPARQLConstraint ;
-            rdfs:comment "Ensure that every SPARQLRule must have an rdfs:comment." ;
-            sh:message "Every SPARQLRule for Class {$this} must have an rdfs:comment." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/schema> ;
-            sh:select """
-SELECT $this
-WHERE {
-$this sh:rule ?rule .
-?rule a sh:SPARQLRule .
-FILTER NOT EXISTS {?rule rdfs:comment ?comment} .
-}
-""" ] ;
-    sh:targetClass s223:Class .
-
-s223:SymmetricPropertyShape a sh:NodeShape ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "Declare the inverse triples for symmetric relations" ;
-            sh:construct """
-CONSTRUCT {
-?o ?p $this .
-}
-WHERE {
-  $this ?p ?o .
-  ?p a s223:SymmetricProperty .
-}
-			""" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/owl-subset> ] ;
-    sh:targetClass s223:Concept .
-
-s223:Concept a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Concept" ;
-    s223:abstract true ;
-    rdfs:comment "All classes defined in the 223 standard are subclasses of s223:Concept." ;
-    rdfs:subClassOf rdfs:Resource ;
-    sh:property [ rdfs:comment "If the relation hasProperty is present, it must associate the concept with a Property." ;
-            sh:class s223:Property ;
-            sh:path s223:hasProperty ],
-        [ rdfs:comment "A Concept must be associated with at least one label using the relation label." ;
-            sh:minCount 1 ;
-            sh:path rdfs:label ;
-            sh:severity sh:Warning ] ;
-    sh:sparql [ ],
-        [ ] .
-
-
-            
-
-
- -
-

Connectable

-

URI: http://data.ashrae.org/standard223#Connectable

-

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Connectable a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Connectable" ;
-    s223:abstract true ;
-    rdfs:comment "Connectable is an abstract class representing a thing (Equipment or DomainSpace) that can be connected via ConnectionPoints and Connections." ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "For a Connectable, cnx relation must associate the Connectable to a ConnectionPoint" ;
-            sh:path s223:cnx ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "A Connectable should only have a s223:cnx relation with a ConnectionPoint" ;
-                    sh:message "{$this} cannot have a s223:cnx relation to {?something}, because {?something} is not a ConnectionPoint." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """SELECT $this ?something
-WHERE {
-$this s223:cnx ?something .
-FILTER NOT EXISTS {?something a/rdfs:subClassOf* s223:ConnectionPoint} .
-}""" ] ],
-        [ rdfs:comment "If one ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment shall have a contains relation." ;
-            sh:path s223:mapsTo ;
-            sh:severity sh:Warning ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "If a Connectable is s223:connected (high-level), it must eventually have the underlying cnx relations." ;
-                    sh:message "{$this} is s223:connected (high-level) to {?otherC} but not yet connected at the cnx-level." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT $this ?otherC
-WHERE {
-$this s223:connected ?otherC .
-FILTER NOT EXISTS {$this s223:cnx+ ?otherC}
-}
-""" ] ],
-        [ rdfs:comment "If the relation cnx is present it must associate the Connectable with a ConnectionPoint." ;
-            sh:class s223:ConnectionPoint ;
-            sh:path s223:cnx ],
-        [ rdfs:comment "If the relation connected is present it must associate the Connectable with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "SymmetricConnectableToConnectableShape" ;
-            sh:path s223:connected ],
-        [ rdfs:comment "If the relation connectedFrom is present it must associate the Connectable with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:path s223:connectedFrom ],
-        [ rdfs:comment "If the relation connectedThrough is present it must associate the Connectable with a Connection." ;
-            sh:class s223:Connection ;
-            sh:name "EquipmentToConnectionShape" ;
-            sh:path s223:connectedThrough ],
-        [ rdfs:comment "If the relation connectedTo is present it must associate the Connectable with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "ConnectableToConnectableShape" ;
-            sh:path s223:connectedTo ],
-        [ rdfs:comment "If the relation hasConnectionPoint is present it must associate the Connectable with a ConnectionPoint." ;
-            sh:class s223:ConnectionPoint ;
-            sh:name "EquipmentToConnectionPointShape" ;
-            sh:path s223:hasConnectionPoint ] ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connected relationship for BiDirectional connections" ;
-            sh:construct """
-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} .
-}
-""" ;
-            sh:name "InferredEquipmentToDownstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the connected relationship using connectedTo" ;
-            sh:name "InferredEquipmentToEquipmentPropertyfromconnectedTo" ;
-            sh:object [ sh:path s223:connectedTo ] ;
-            sh:predicate s223:connected ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the connectedThrough relationship using hasConnectionPoint and connectsThrough" ;
-            sh:name "InferredEquipmentToConnectionProperty" ;
-            sh:object [ sh:path ( s223:hasConnectionPoint s223:connectsThrough ) ] ;
-            sh:predicate s223:connectedThrough ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the hasConnectionPoint relationship from cnx" ;
-            sh:name "InferredEquipmentToConnectionPointProperty" ;
-            sh:object [ sh:path s223:cnx ] ;
-            sh:predicate s223:hasConnectionPoint ;
-            sh:subject sh:this ],
-        [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectedFrom relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectedFrom ?equipment .}
-WHERE {
-$this s223:hasConnectionPoint ?cp .
-?cp a s223:InletConnectionPoint .
-?cp s223:connectsThrough/s223:connectsFrom ?equipment .
-}
-""" ;
-            sh:name "InferredEquipmentToUpstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectedTo relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectedTo ?equipment .}
-WHERE {
-$this s223:hasConnectionPoint ?cp .
-?cp a s223:OutletConnectionPoint .
-?cp s223:connectsThrough/s223:connectsTo ?equipment .
-}
-""" ;
-            sh:name "InferredEquipmentToDownstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the cnx relationship from hasConnectionPoint" ;
-            sh:name "InferredEquipmentToConnectionPointCnxProperty" ;
-            sh:object [ sh:path s223:hasConnectionPoint ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the cnx relationship from isConnectionPointOf" ;
-            sh:name "InferredEquipmentToConnectionPointCnxPropertyFromInverse" ;
-            sh:object [ sh:path [ sh:inversePath s223:isConnectionPointOf ] ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the connected relationship using connectedFrom" ;
-            sh:name "InferredEquipmentToEquipmentPropertyfromconnectedFrom" ;
-            sh:object [ sh:path s223:connectedFrom ] ;
-            sh:predicate s223:connected ;
-            sh:subject sh:this ] .
-
-
-        
- -

See Also

- - -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Sensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Sensor" ;
-    rdfs:comment "A Sensor observes an ObservableProperty (see `s223:ObservableProperty`) which may be quantifiable (see `s223:QuantifiableObservableProperty`), such as a temperature, flowrate, or concentration, or Enumerable (see `s223:EnumeratedObservableProperty)`, such as an alarm state or occupancy state." ;
-    rdfs:subClassOf s223:AbstractSensor ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the hasObservationLocation relationship for a Sensor from the Property that it is observing, only if that property is associated with a single entity." ;
-            sh:construct """
-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}
-}
-""" ;
-            sh:name "InferredMeasurementLocation" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ] ;
-    sh:xone ( [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation." ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocation ] ] [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation." ;
-                        sh:class s223:Connection ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocation ] ] [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation." ;
-                        sh:class s223:ConnectionPoint ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocation ] ] ),
-        ( [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes." ;
-                        sh:class s223:QuantifiableObservableProperty ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:observes ] ] [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes." ;
-                        sh:class s223:EnumeratedObservableProperty ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:observes ] ] ) .
-
-s223:Connectable a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Connectable" ;
-    s223:abstract true ;
-    rdfs:comment "Connectable is an abstract class representing a thing (Equipment or DomainSpace) that can be connected via ConnectionPoints and Connections." ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "For a Connectable, cnx relation must associate the Connectable to a ConnectionPoint" ;
-            sh:path s223:cnx ;
-            sh:sparql [ ] ],
-        [ rdfs:comment "If one ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment shall have a contains relation." ;
-            sh:path s223:mapsTo ;
-            sh:severity sh:Warning ;
-            sh:sparql [ ] ],
-        [ rdfs:comment "If the relation cnx is present it must associate the Connectable with a ConnectionPoint." ;
-            sh:class s223:ConnectionPoint ;
-            sh:path s223:cnx ],
-        [ rdfs:comment "If the relation connected is present it must associate the Connectable with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "SymmetricConnectableToConnectableShape" ;
-            sh:path s223:connected ],
-        [ rdfs:comment "If the relation connectedFrom is present it must associate the Connectable with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:path s223:connectedFrom ],
-        [ rdfs:comment "If the relation connectedThrough is present it must associate the Connectable with a Connection." ;
-            sh:class s223:Connection ;
-            sh:name "EquipmentToConnectionShape" ;
-            sh:path s223:connectedThrough ],
-        [ rdfs:comment "If the relation connectedTo is present it must associate the Connectable with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "ConnectableToConnectableShape" ;
-            sh:path s223:connectedTo ],
-        [ rdfs:comment "If the relation hasConnectionPoint is present it must associate the Connectable with a ConnectionPoint." ;
-            sh:class s223:ConnectionPoint ;
-            sh:name "EquipmentToConnectionPointShape" ;
-            sh:path s223:hasConnectionPoint ] ;
-    sh:rule [ ],
-        [ ],
-        [ ],
-        [ ],
-        [ ],
-        [ ],
-        [ ],
-        [ ],
-        [ ] .
-
-s223:ConnectionPoint a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "ConnectionPoint" ;
-    s223:abstract true ;
-    rdfs:comment """
-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 and DomainSpaces can have one or more ConnectionPoints (see `s223:Connectable` and `s223:Connection`).
-
-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.
-
-ConnectionPoints 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 connection as shown in Figure 6-1. 
-
-![Graphical Representation of a ConnectionPoint.](figures/Figure_5-2_Graphical_Depiciton_of_Connection_Points.svg)
-
- """ ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "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." ;
-            sh:path s223:connectsThrough ;
-            sh:severity sh:Info ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "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." ;
-                    sh:message "ConnectionPoint {$this} probably needs an association with a Connection." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-    SELECT $this 
-    WHERE {
-        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} .
-        }
-        """ ] ],
-        [ rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the entity identified by the mapsTo+ relation." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the entity identified by the mapsTo+ relation." ;
-                    sh:message "{$this} declares a Medium of {?a}, but the Medium of {?b} is declared by {?target} pointed to by the mapsTo+ relation." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT DISTINCT $this ?a ?b ?target
-WHERE {
-$this s223:hasMedium ?a .
-$this s223:mapsTo+ ?target .
-?target s223:hasMedium ?b .
-?a a/rdfs:subClassOf* s223:EnumerationKind-Medium .
-?b a/rdfs:subClassOf* s223:EnumerationKind-Medium .
-FILTER (?a != ?b ) .
-FILTER (NOT EXISTS {?b a/rdfs:subClassOf* ?a}) .
-FILTER (NOT EXISTS {?a a/rdfs:subClassOf* ?b}) .
-}
-""" ] ],
-        [ rdfs:comment "A ConnectionPoint must not have both a mapsTo and a connectsThrough relation." ;
-            sh:path s223:mapsTo ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "A ConnectionPoint must not have both a mapsTo and a connectsThrough relation." ;
-                    sh:message "{$this} cannot have both a mapsTo {?uppercp} and a connectsThrough {?connection}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT $this ?uppercp ?connection
-WHERE {
-$this s223:mapsTo ?uppercp .
-$this s223:connectsThrough ?connection .
-?connection a/rdfs:subClassOf* s223:Connection .
-}
-""" ] ],
-        [ rdfs:comment "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." ;
-            sh:path s223:mapsTo ;
-            sh:severity sh:Info ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "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." ;
-                    sh:message "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}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-    SELECT $this ?containerEquipment
-    WHERE {
-        FILTER NOT EXISTS {$this s223:connectsThrough ?anything1} .
-        FILTER NOT EXISTS {$this s223:mapsTo ?anything2} .
-        $this s223:isConnectionPointOf ?equipment .
-        ?containerEquipment s223:contains ?equipment .
-        }
-        """ ] ],
-        [ rdfs:comment "If a ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment should have a contains relation." ;
-            sh:path s223:mapsTo ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "If a ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment should have a contains relation." ;
-                    sh:message "{?otherEquipment} should contain {?equipment} because ConnectionPoint {$this} has a mapsTo relation." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT $this ?equipment ?otherEquipment
-WHERE {
-$this s223:mapsTo ?otherCP .
-?equipment s223:hasConnectionPoint $this .
-?otherEquipment s223:hasConnectionPoint ?otherCP .
-FILTER NOT EXISTS {?otherEquipment s223:contains ?equipment}
-}
-""" ] ],
-        [ rdfs:comment "A ConnectionPoint must be associated with at most one Connectable using the cnx relation." ;
-            sh:message "A ConnectionPoint must be associated with at most one Connectable using the cnx relation." ;
-            sh:path s223:cnx ;
-            sh:qualifiedMaxCount 1 ;
-            sh:qualifiedValueShape [ ] ;
-            sh:qualifiedValueShapesDisjoint true ],
-        [ rdfs:comment "A ConnectionPoint must be associated with at most one Connection using the cnx relation" ;
-            sh:message "A ConnectionPoint must be associated with at most one Connection using the cnx relation" ;
-            sh:path s223:cnx ;
-            sh:qualifiedMaxCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:Connection ] ;
-            sh:qualifiedValueShapesDisjoint true ],
-        [ rdfs:comment "A ConnectionPoint must be associated with at most one Connection using the relation connectsThrough." ;
-            sh:class s223:Connection ;
-            sh:maxCount 1 ;
-            sh:message "This ConnectionPoint must be associated with at most one Connection." ;
-            sh:name "ConnectionPointToConnectionShape" ;
-            sh:path s223:connectsThrough ;
-            sh:severity sh:Info ],
-        [ rdfs:comment "A ConnectionPoint must be associated with exactly one EnumerationKind-Medium using the relation hasMedium." ;
-            sh:class s223:Substance-Medium ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:name "ConnectionPoint medium" ;
-            sh:path s223:hasMedium ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the ConnectionPoint with an EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ],
-        [ rdfs:comment "A ConnectionPoint must be associated with exactly one Connectable using the relation isConnectionPointOf." ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:name "ConnectionPointToEquipmentShape" ;
-            sh:path s223:isConnectionPointOf ],
-        [ rdfs:comment "A ConnectionPoint can be associated with at most one other ConnectionPoint using the relation mapsTo" ;
-            sh:class s223:ConnectionPoint ;
-            sh:maxCount 1 ;
-            sh:path s223:mapsTo ],
-        [ rdfs:comment "A ConnectionPoint can be associated with at most one other ConnectionPoint using the inverse of relation mapsTo" ;
-            sh:class s223:ConnectionPoint ;
-            sh:maxCount 1 ;
-            sh:path [ sh:inversePath s223:mapsTo ] ] .
-
-
-            
-
-
- -
-

Connection

-

URI: http://data.ashrae.org/standard223#Connection

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Connection a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Connection" ;
-    rdfs:comment """A Connection is the modeling construct used to represent a physical thing (e.g., pipe, duct, or wire) that is used to convey some Medium (e.g., water, air, or electricity) between two connectable things. All Connections have two or more ConnectionPoints bound to either Equipment (see `s223:Equipment`), DomainSpace (see `s223:DomainSpace`), or Junction (see `s223:Junction`) See Figure . If the direction of flow is constrained, that constraint is indicated by using one or more InletConnectionPoints (see `s223:InletConnectionPoint`) to represent the inflow points and OutletConnectionPoints (see `s223:OutletConnectionPoint`) to represent the outflow points.
-  
-A Connection may contain branches or intersections. These may be modeled using Junctions if it is necessary to identify a specific intersection. (see `s223:Junction`).
-![Graphical Depiction of Connection.](figures/Figure_5-3_Connection.svg)
-""" ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "A Connection must only have a cnx relation with a ConnectionPoint" ;
-            sh:path s223:cnx ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "A Connection must only have a cnx relation with a ConnectionPoint" ;
-                    sh:message "{$this} cannot have a s223:cnx relation to {?something}, because {?something} is not a ConnectionPoint." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """SELECT $this ?something
-WHERE {
-$this s223:cnx ?something .
-FILTER NOT EXISTS {?something a/rdfs:subClassOf* s223:ConnectionPoint} .
-}""" ] ],
-        [ rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Connection." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Connection." ;
-                    sh:message "{$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ] ],
-        [ rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-                    sh:message "{?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ] ],
-        [ rdfs:comment "If the relation connectsAt is present it must associate the Connection with a ConnectionPoint." ;
-            sh:class s223:ConnectionPoint ;
-            sh:path s223:connectsAt ],
-        [ rdfs:comment "If the relation connectsFrom is present it must associate the Connection with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "ConnectionToUpstreamConnectableShape" ;
-            sh:path s223:connectsFrom ],
-        [ rdfs:comment "If the relation connectsTo is present it must associate the Connection with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "ConnectionToDownstreamConnectableShape" ;
-            sh:path s223:connectsTo ],
-        [ rdfs:comment "A Connection must be associated with exactly one EnumerationKind-Medium using the relation hasMedium." ;
-            sh:class s223:Substance-Medium ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:name "Connection medium" ;
-            sh:path s223:hasMedium ],
-        [ rdfs:comment "A Connection can be associated with an EnumerationKind-Phase using the relation hasPhase." ;
-            sh:class s223:EnumerationKind-Phase ;
-            sh:maxCount 1 ;
-            sh:path s223:hasPhase ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the Connection with an EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ],
-        [ rdfs:comment "A Connection must have two or more cnx relations to ConnectionPoints" ;
-            sh:class s223:ConnectionPoint ;
-            sh:message "A Connection must have two or more cnx relations to ConnectionPoints" ;
-            sh:minCount 2 ;
-            sh:path s223:cnx ;
-            sh:severity sh:Info ] ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectsFrom relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectsFrom ?equipment .}
-WHERE {
-$this s223:connectsAt ?cp .
-?cp a s223:OutletConnectionPoint .
-?cp s223:isConnectionPointOf ?equipment .
-}
-""" ;
-            sh:name "InferredConnectionToUpstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectsTo relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectsTo ?equipment .}
-WHERE {
-$this s223:connectsAt ?cp .
-?cp a s223:InletConnectionPoint .
-?cp s223:isConnectionPointOf ?equipment .
-}
-""" ;
-            sh:name "InferredConnectionToDownstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer cnx relationship from connectsAt",
-                "InferredConnectionToConnectionPointBaseProperty" ;
-            sh:object [ sh:path s223:connectsAt ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer cnx relationship from connectsThrough",
-                "InferredConnectionToConnectionPointBasePropertyFromInverse" ;
-            sh:object [ sh:path [ sh:inversePath s223:connectsThrough ] ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the connectsAt relationship from cnx",
-                "InferredConnectionToConnectionPointProperty" ;
-            sh:object [ sh:path s223:cnx ] ;
-            sh:predicate s223:connectsAt ;
-            sh:subject sh:this ] .
-
-
-        
- -

See Also

- - -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Connection a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Connection" ;
-    rdfs:comment """A Connection is the modeling construct used to represent a physical thing (e.g., pipe, duct, or wire) that is used to convey some Medium (e.g., water, air, or electricity) between two connectable things. All Connections have two or more ConnectionPoints bound to either Equipment (see `s223:Equipment`), DomainSpace (see `s223:DomainSpace`), or Junction (see `s223:Junction`) See Figure . If the direction of flow is constrained, that constraint is indicated by using one or more InletConnectionPoints (see `s223:InletConnectionPoint`) to represent the inflow points and OutletConnectionPoints (see `s223:OutletConnectionPoint`) to represent the outflow points.
-  
-A Connection may contain branches or intersections. These may be modeled using Junctions if it is necessary to identify a specific intersection. (see `s223:Junction`).
-![Graphical Depiction of Connection.](figures/Figure_5-3_Connection.svg)
-""" ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "A Connection must only have a cnx relation with a ConnectionPoint" ;
-            sh:path s223:cnx ;
-            sh:sparql [ ] ],
-        [ rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Connection." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ ] ],
-        [ rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ ] ],
-        [ rdfs:comment "If the relation connectsAt is present it must associate the Connection with a ConnectionPoint." ;
-            sh:class s223:ConnectionPoint ;
-            sh:path s223:connectsAt ],
-        [ rdfs:comment "If the relation connectsFrom is present it must associate the Connection with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "ConnectionToUpstreamConnectableShape" ;
-            sh:path s223:connectsFrom ],
-        [ rdfs:comment "If the relation connectsTo is present it must associate the Connection with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "ConnectionToDownstreamConnectableShape" ;
-            sh:path s223:connectsTo ],
-        [ rdfs:comment "A Connection must be associated with exactly one EnumerationKind-Medium using the relation hasMedium." ;
-            sh:class s223:Substance-Medium ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:name "Connection medium" ;
-            sh:path s223:hasMedium ],
-        [ rdfs:comment "A Connection can be associated with an EnumerationKind-Phase using the relation hasPhase." ;
-            sh:class s223:EnumerationKind-Phase ;
-            sh:maxCount 1 ;
-            sh:path s223:hasPhase ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the Connection with an EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ],
-        [ rdfs:comment "A Connection must have two or more cnx relations to ConnectionPoints" ;
-            sh:class s223:ConnectionPoint ;
-            sh:message "A Connection must have two or more cnx relations to ConnectionPoints" ;
-            sh:minCount 2 ;
-            sh:path s223:cnx ;
-            sh:severity sh:Info ] ;
-    sh:rule [ ],
-        [ ],
-        [ ],
-        [ ],
-        [ ] .
-
-s223:DifferentialSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Differential sensor" ;
-    rdfs:comment "A sensor that measures the difference of a quantity between any two points in the system." ;
-    rdfs:subClassOf s223:AbstractSensor ;
-    sh:property [ rdfs:comment "A Differential Sensor must be defined in terms of the QuantityKind that is being measured." ;
-            sh:class <http://qudt.org/schema/qudt/QuantityKind> ;
-            sh:minCount 1 ;
-            sh:path ( s223:observes <http://qudt.org/schema/qudt/hasQuantityKind> ) ],
-        [ rdfs:comment "A Differential Sensor must have different values for hasObservationLocationHigh and hasObservationLocationLow." ;
-            sh:path s223:hasObservationLocationHigh ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the values of hasObservationLocationHigh and hasObservationLocationLow are distinct." ;
-                    sh:message "{$this} cannot have the same value, {?high}, for both hasObservationLocationHigh and hasObservationLocationLow" ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT $this ?high
-WHERE {
-  ?this s223:hasObservationLocationHigh ?high .
-    ?this s223:hasObservationLocationLow ?low .
-FILTER (?high = ?low) .
-}
-""" ] ] ;
-    sh:xone ( [ sh:property [ rdfs:comment "A DifferentialSensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocationHigh." ;
-                        sh:class s223:Connectable ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocationHigh ] ] [ sh:property [ rdfs:comment "A DifferentialSensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocationHigh." ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocationHigh ] ] [ sh:property [ rdfs:comment "A DifferentialSensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocationHigh." ;
-                        sh:class s223:ConnectionPoint ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocationHigh ] ] ),
-        ( [ sh:property [ rdfs:comment "A DifferentialSensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocationLow." ;
-                        sh:class s223:Connectable ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocationLow ] ] [ sh:property [ rdfs:comment "A DifferentialSensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocationLow." ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocationLow ] ] [ sh:property [ rdfs:comment "A DifferentialSensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocationLow." ;
-                        sh:class s223:ConnectionPoint ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocationLow ] ] ) .
-
-s223:Junction a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Junction" ;
-    rdfs:comment "A Junction is used to join three or more ConnectionPoints together." ;
-    rdfs:subClassOf s223:Connectable ;
-    sh:or ( [ sh:property [ rdfs:comment "A Junction shall have at least three ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point." ;
-                        sh:minCount 3 ;
-                        sh:path s223:hasConnectionPoint ;
-                        sh:qualifiedMinCount 1 ;
-                        sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ] ;
-                        sh:qualifiedValueShapesDisjoint true ],
-                    [ rdfs:comment "A Junction shall have at least three ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point." ;
-                        sh:minCount 3 ;
-                        sh:path s223:hasConnectionPoint ;
-                        sh:qualifiedMinCount 1 ;
-                        sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ] ;
-                        sh:qualifiedValueShapesDisjoint true ] ] [ sh:property [ rdfs:comment "A Junction shall have at least three ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point." ;
-                        sh:minCount 3 ;
-                        sh:path s223:hasConnectionPoint ;
-                        sh:qualifiedMinCount 1 ;
-                        sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ] ;
-                        sh:qualifiedValueShapesDisjoint true ] ] ) ;
-    sh:property [ rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Junction." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Junction." ;
-                    sh:message "{$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ] ],
-        [ rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-                    sh:message "{?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ] ],
-        [ rdfs:comment "A Junction must be associated with exactly one EnumerationKind-Medium using the relation hasMedium." ;
-            sh:class s223:Substance-Medium ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:path s223:hasMedium ] .
-
-s223:Sensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Sensor" ;
-    rdfs:comment "A Sensor observes an ObservableProperty (see `s223:ObservableProperty`) which may be quantifiable (see `s223:QuantifiableObservableProperty`), such as a temperature, flowrate, or concentration, or Enumerable (see `s223:EnumeratedObservableProperty)`, such as an alarm state or occupancy state." ;
-    rdfs:subClassOf s223:AbstractSensor ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the hasObservationLocation relationship for a Sensor from the Property that it is observing, only if that property is associated with a single entity." ;
-            sh:construct """
-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}
-}
-""" ;
-            sh:name "InferredMeasurementLocation" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ] ;
-    sh:xone ( [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation." ;
-                        sh:class s223:Connectable ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocation ] ] [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation." ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocation ] ] [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation." ;
-                        sh:class s223:ConnectionPoint ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocation ] ] ),
-        ( [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes." ;
-                        sh:class s223:QuantifiableObservableProperty ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:observes ] ] [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes." ;
-                        sh:class s223:EnumeratedObservableProperty ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:observes ] ] ) .
-
-s223:BidirectionalConnectionPoint a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Bidirectional Connection Point" ;
-    rdfs:comment "A BidirectionalConnectionPoint is a predefined subclass of ConnectionPoint. Using a BidirectionalConnectionPoint implies that the flow direction is not fixed in one direction. It depends on the status of some other part of the system, such as a valve position, that is expected to change during operation (see `s223:Direction-Bidirectional`) or to model energy transfer occurring without specific flow direction." ;
-    rdfs:subClassOf s223:ConnectionPoint .
-
-s223:InletConnectionPoint a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Inlet Connection Point" ;
-    rdfs:comment "An InletConnectionPoint indicates that a substance must flow into the equipment or domain space at this connection point and cannot flow the other direction. An IntletConnectionPoint is a subclass of ConnectionPoint." ;
-    rdfs:subClassOf s223:ConnectionPoint ;
-    sh:property [ rdfs:comment "Ensure an InletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection" ;
-            sh:path s223:mapsTo ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure an InletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection" ;
-                    sh:message "{$this} must have a mapsTo an InletConnectionPoint of {?parentEquipment} because {$this} has an external Connection from {?sourceEquipment}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT $this ?parentEquipment ?sourceEquipment
-WHERE {
-?equipment s223:hasConnectionPoint $this .
-?equipment a/rdfs:subClassOf* s223:Equipment .
-?parentEquipment s223:contains ?equipment .
-$this s223:connectsThrough/s223:connectsFrom ?sourceEquipment .
-FILTER NOT EXISTS {?parentEquipment s223:contains ?sourceEquipment} .
-FILTER NOT EXISTS {$this s223:mapsTo ?anything} .
-}
-""" ] ],
-        [ rdfs:comment "If the relation mapsTo is present it must associate the InletConnectionPoint with an InletConnectionPoint." ;
-            sh:class s223:InletConnectionPoint ;
-            sh:path s223:mapsTo ] .
-
-s223:OutletConnectionPoint a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Outlet Connection Point" ;
-    rdfs:comment "An OutletConnectionPoint indicates that a substance must flow out of the domain space at this connection point and cannot flow in the other direction. An OutletConnectionPoint is a predefined subclass of ConnectionPoint." ;
-    rdfs:subClassOf s223:ConnectionPoint ;
-    sh:property [ rdfs:comment "Ensure an OutletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection" ;
-            sh:path s223:mapsTo ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure an OutletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection" ;
-                    sh:message "{$this} must have a mapsTo an OutletConnectionPoint of {?parentEquipment} because {$this} has an external Connection to {?destinationEquipment}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT $this ?parentEquipment ?destinationEquipment
-WHERE {
-?equipment s223:hasConnectionPoint $this .
-?equipment a/rdfs:subClassOf* s223:Equipment .
-?parentEquipment s223:contains ?equipment .
-$this s223:connectsThrough/s223:connectsTo ?destinationEquipment .
-FILTER NOT EXISTS {?parentEquipment s223:contains ?destinationEquipment} .
-FILTER NOT EXISTS {$this s223:mapsTo ?anything} .
-}
-""" ] ],
-        [ rdfs:comment "If the relation mapsTo is present it must associate the OutletConnectionPoint with an OutletConnectionPoint." ;
-            sh:class s223:OutletConnectionPoint ;
-            sh:path s223:mapsTo ] .
-
-s223:Connectable a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Connectable" ;
-    s223:abstract true ;
-    rdfs:comment "Connectable is an abstract class representing a thing (Equipment or DomainSpace) that can be connected via ConnectionPoints and Connections." ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "For a Connectable, cnx relation must associate the Connectable to a ConnectionPoint" ;
-            sh:path s223:cnx ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "A Connectable should only have a s223:cnx relation with a ConnectionPoint" ;
-                    sh:message "{$this} cannot have a s223:cnx relation to {?something}, because {?something} is not a ConnectionPoint." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """SELECT $this ?something
-WHERE {
-$this s223:cnx ?something .
-FILTER NOT EXISTS {?something a/rdfs:subClassOf* s223:ConnectionPoint} .
-}""" ] ],
-        [ rdfs:comment "If one ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment shall have a contains relation." ;
-            sh:path s223:mapsTo ;
-            sh:severity sh:Warning ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "If a Connectable is s223:connected (high-level), it must eventually have the underlying cnx relations." ;
-                    sh:message "{$this} is s223:connected (high-level) to {?otherC} but not yet connected at the cnx-level." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT $this ?otherC
-WHERE {
-$this s223:connected ?otherC .
-FILTER NOT EXISTS {$this s223:cnx+ ?otherC}
-}
-""" ] ],
-        [ rdfs:comment "If the relation cnx is present it must associate the Connectable with a ConnectionPoint." ;
-            sh:class s223:ConnectionPoint ;
-            sh:path s223:cnx ],
-        [ rdfs:comment "If the relation connected is present it must associate the Connectable with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "SymmetricConnectableToConnectableShape" ;
-            sh:path s223:connected ],
-        [ rdfs:comment "If the relation connectedFrom is present it must associate the Connectable with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:path s223:connectedFrom ],
-        [ rdfs:comment "If the relation connectedThrough is present it must associate the Connectable with a Connection." ;
-            sh:name "EquipmentToConnectionShape" ;
-            sh:path s223:connectedThrough ],
-        [ rdfs:comment "If the relation connectedTo is present it must associate the Connectable with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "ConnectableToConnectableShape" ;
-            sh:path s223:connectedTo ],
-        [ rdfs:comment "If the relation hasConnectionPoint is present it must associate the Connectable with a ConnectionPoint." ;
-            sh:class s223:ConnectionPoint ;
-            sh:name "EquipmentToConnectionPointShape" ;
-            sh:path s223:hasConnectionPoint ] ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connected relationship for BiDirectional connections" ;
-            sh:construct """
-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} .
-}
-""" ;
-            sh:name "InferredEquipmentToDownstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the connected relationship using connectedTo" ;
-            sh:name "InferredEquipmentToEquipmentPropertyfromconnectedTo" ;
-            sh:object [ sh:path s223:connectedTo ] ;
-            sh:predicate s223:connected ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the connectedThrough relationship using hasConnectionPoint and connectsThrough" ;
-            sh:name "InferredEquipmentToConnectionProperty" ;
-            sh:object [ sh:path ( s223:hasConnectionPoint s223:connectsThrough ) ] ;
-            sh:predicate s223:connectedThrough ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the hasConnectionPoint relationship from cnx" ;
-            sh:name "InferredEquipmentToConnectionPointProperty" ;
-            sh:object [ sh:path s223:cnx ] ;
-            sh:predicate s223:hasConnectionPoint ;
-            sh:subject sh:this ],
-        [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectedFrom relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectedFrom ?equipment .}
-WHERE {
-$this s223:hasConnectionPoint ?cp .
-?cp a s223:InletConnectionPoint .
-?cp s223:connectsThrough/s223:connectsFrom ?equipment .
-}
-""" ;
-            sh:name "InferredEquipmentToUpstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectedTo relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectedTo ?equipment .}
-WHERE {
-$this s223:hasConnectionPoint ?cp .
-?cp a s223:OutletConnectionPoint .
-?cp s223:connectsThrough/s223:connectsTo ?equipment .
-}
-""" ;
-            sh:name "InferredEquipmentToDownstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the cnx relationship from hasConnectionPoint" ;
-            sh:name "InferredEquipmentToConnectionPointCnxProperty" ;
-            sh:object [ sh:path s223:hasConnectionPoint ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the cnx relationship from isConnectionPointOf" ;
-            sh:name "InferredEquipmentToConnectionPointCnxPropertyFromInverse" ;
-            sh:object [ sh:path [ sh:inversePath s223:isConnectionPointOf ] ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the connected relationship using connectedFrom" ;
-            sh:name "InferredEquipmentToEquipmentPropertyfromconnectedFrom" ;
-            sh:object [ sh:path s223:connectedFrom ] ;
-            sh:predicate s223:connected ;
-            sh:subject sh:this ] .
-
-s223:ConnectionPoint a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "ConnectionPoint" ;
-    s223:abstract true ;
-    rdfs:comment """
-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 and DomainSpaces can have one or more ConnectionPoints (see `s223:Connectable` and `s223:Connection`).
-
-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.
-
-ConnectionPoints 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 connection as shown in Figure 6-1. 
-
-![Graphical Representation of a ConnectionPoint.](figures/Figure_5-2_Graphical_Depiciton_of_Connection_Points.svg)
-
- """ ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "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." ;
-            sh:path s223:connectsThrough ;
-            sh:severity sh:Info ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "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." ;
-                    sh:message "ConnectionPoint {$this} probably needs an association with a Connection." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-    SELECT $this 
-    WHERE {
-        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} .
-        }
-        """ ] ],
-        [ rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the entity identified by the mapsTo+ relation." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the entity identified by the mapsTo+ relation." ;
-                    sh:message "{$this} declares a Medium of {?a}, but the Medium of {?b} is declared by {?target} pointed to by the mapsTo+ relation." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT DISTINCT $this ?a ?b ?target
-WHERE {
-$this s223:hasMedium ?a .
-$this s223:mapsTo+ ?target .
-?target s223:hasMedium ?b .
-?a a/rdfs:subClassOf* s223:EnumerationKind-Medium .
-?b a/rdfs:subClassOf* s223:EnumerationKind-Medium .
-FILTER (?a != ?b ) .
-FILTER (NOT EXISTS {?b a/rdfs:subClassOf* ?a}) .
-FILTER (NOT EXISTS {?a a/rdfs:subClassOf* ?b}) .
-}
-""" ] ],
-        [ rdfs:comment "A ConnectionPoint must not have both a mapsTo and a connectsThrough relation." ;
-            sh:path s223:mapsTo ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "A ConnectionPoint must not have both a mapsTo and a connectsThrough relation." ;
-                    sh:message "{$this} cannot have both a mapsTo {?uppercp} and a connectsThrough {?connection}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT $this ?uppercp ?connection
-WHERE {
-$this s223:mapsTo ?uppercp .
-$this s223:connectsThrough ?connection .
-?connection a/rdfs:subClassOf* s223:Connection .
-}
-""" ] ],
-        [ rdfs:comment "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." ;
-            sh:path s223:mapsTo ;
-            sh:severity sh:Info ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "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." ;
-                    sh:message "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}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-    SELECT $this ?containerEquipment
-    WHERE {
-        FILTER NOT EXISTS {$this s223:connectsThrough ?anything1} .
-        FILTER NOT EXISTS {$this s223:mapsTo ?anything2} .
-        $this s223:isConnectionPointOf ?equipment .
-        ?containerEquipment s223:contains ?equipment .
-        }
-        """ ] ],
-        [ rdfs:comment "If a ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment should have a contains relation." ;
-            sh:path s223:mapsTo ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "If a ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment should have a contains relation." ;
-                    sh:message "{?otherEquipment} should contain {?equipment} because ConnectionPoint {$this} has a mapsTo relation." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT $this ?equipment ?otherEquipment
-WHERE {
-$this s223:mapsTo ?otherCP .
-?equipment s223:hasConnectionPoint $this .
-?otherEquipment s223:hasConnectionPoint ?otherCP .
-FILTER NOT EXISTS {?otherEquipment s223:contains ?equipment}
-}
-""" ] ],
-        [ rdfs:comment "A ConnectionPoint must be associated with at most one Connectable using the cnx relation." ;
-            sh:message "A ConnectionPoint must be associated with at most one Connectable using the cnx relation." ;
-            sh:path s223:cnx ;
-            sh:qualifiedMaxCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:Connectable ] ;
-            sh:qualifiedValueShapesDisjoint true ],
-        [ rdfs:comment "A ConnectionPoint must be associated with at most one Connection using the cnx relation" ;
-            sh:message "A ConnectionPoint must be associated with at most one Connection using the cnx relation" ;
-            sh:path s223:cnx ;
-            sh:qualifiedMaxCount 1 ;
-            sh:qualifiedValueShape [ ] ;
-            sh:qualifiedValueShapesDisjoint true ],
-        [ rdfs:comment "A ConnectionPoint must be associated with at most one Connection using the relation connectsThrough." ;
-            sh:maxCount 1 ;
-            sh:message "This ConnectionPoint must be associated with at most one Connection." ;
-            sh:name "ConnectionPointToConnectionShape" ;
-            sh:path s223:connectsThrough ;
-            sh:severity sh:Info ],
-        [ rdfs:comment "A ConnectionPoint must be associated with exactly one EnumerationKind-Medium using the relation hasMedium." ;
-            sh:class s223:Substance-Medium ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:name "ConnectionPoint medium" ;
-            sh:path s223:hasMedium ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the ConnectionPoint with an EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ],
-        [ rdfs:comment "A ConnectionPoint must be associated with exactly one Connectable using the relation isConnectionPointOf." ;
-            sh:class s223:Connectable ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:name "ConnectionPointToEquipmentShape" ;
-            sh:path s223:isConnectionPointOf ],
-        [ rdfs:comment "A ConnectionPoint can be associated with at most one other ConnectionPoint using the relation mapsTo" ;
-            sh:class s223:ConnectionPoint ;
-            sh:maxCount 1 ;
-            sh:path s223:mapsTo ],
-        [ rdfs:comment "A ConnectionPoint can be associated with at most one other ConnectionPoint using the inverse of relation mapsTo" ;
-            sh:class s223:ConnectionPoint ;
-            sh:maxCount 1 ;
-            sh:path [ sh:inversePath s223:mapsTo ] ] .
-
-
-            
-
-
- -
-

ConnectionPoint

-

URI: http://data.ashrae.org/standard223#ConnectionPoint

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:ConnectionPoint a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "ConnectionPoint" ;
-    s223:abstract true ;
-    rdfs:comment """
-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 and DomainSpaces can have one or more ConnectionPoints (see `s223:Connectable` and `s223:Connection`).
-
-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.
-
-ConnectionPoints 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 connection as shown in Figure 6-1. 
-
-![Graphical Representation of a ConnectionPoint.](figures/Figure_5-2_Graphical_Depiciton_of_Connection_Points.svg)
-
- """ ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "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." ;
-            sh:path s223:connectsThrough ;
-            sh:severity sh:Info ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "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." ;
-                    sh:message "ConnectionPoint {$this} probably needs an association with a Connection." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-    SELECT $this 
-    WHERE {
-        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} .
-        }
-        """ ] ],
-        [ rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the entity identified by the mapsTo+ relation." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the entity identified by the mapsTo+ relation." ;
-                    sh:message "{$this} declares a Medium of {?a}, but the Medium of {?b} is declared by {?target} pointed to by the mapsTo+ relation." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT DISTINCT $this ?a ?b ?target
-WHERE {
-$this s223:hasMedium ?a .
-$this s223:mapsTo+ ?target .
-?target s223:hasMedium ?b .
-?a a/rdfs:subClassOf* s223:EnumerationKind-Medium .
-?b a/rdfs:subClassOf* s223:EnumerationKind-Medium .
-FILTER (?a != ?b ) .
-FILTER (NOT EXISTS {?b a/rdfs:subClassOf* ?a}) .
-FILTER (NOT EXISTS {?a a/rdfs:subClassOf* ?b}) .
-}
-""" ] ],
-        [ rdfs:comment "A ConnectionPoint must not have both a mapsTo and a connectsThrough relation." ;
-            sh:path s223:mapsTo ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "A ConnectionPoint must not have both a mapsTo and a connectsThrough relation." ;
-                    sh:message "{$this} cannot have both a mapsTo {?uppercp} and a connectsThrough {?connection}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT $this ?uppercp ?connection
-WHERE {
-$this s223:mapsTo ?uppercp .
-$this s223:connectsThrough ?connection .
-?connection a/rdfs:subClassOf* s223:Connection .
-}
-""" ] ],
-        [ rdfs:comment "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." ;
-            sh:path s223:mapsTo ;
-            sh:severity sh:Info ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "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." ;
-                    sh:message "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}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-    SELECT $this ?containerEquipment
-    WHERE {
-        FILTER NOT EXISTS {$this s223:connectsThrough ?anything1} .
-        FILTER NOT EXISTS {$this s223:mapsTo ?anything2} .
-        $this s223:isConnectionPointOf ?equipment .
-        ?containerEquipment s223:contains ?equipment .
-        }
-        """ ] ],
-        [ rdfs:comment "If a ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment should have a contains relation." ;
-            sh:path s223:mapsTo ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "If a ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment should have a contains relation." ;
-                    sh:message "{?otherEquipment} should contain {?equipment} because ConnectionPoint {$this} has a mapsTo relation." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT $this ?equipment ?otherEquipment
-WHERE {
-$this s223:mapsTo ?otherCP .
-?equipment s223:hasConnectionPoint $this .
-?otherEquipment s223:hasConnectionPoint ?otherCP .
-FILTER NOT EXISTS {?otherEquipment s223:contains ?equipment}
-}
-""" ] ],
-        [ rdfs:comment "A ConnectionPoint must be associated with at most one Connectable using the cnx relation." ;
-            sh:message "A ConnectionPoint must be associated with at most one Connectable using the cnx relation." ;
-            sh:path s223:cnx ;
-            sh:qualifiedMaxCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:Connectable ] ;
-            sh:qualifiedValueShapesDisjoint true ],
-        [ rdfs:comment "A ConnectionPoint must be associated with at most one Connection using the cnx relation" ;
-            sh:message "A ConnectionPoint must be associated with at most one Connection using the cnx relation" ;
-            sh:path s223:cnx ;
-            sh:qualifiedMaxCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:Connection ] ;
-            sh:qualifiedValueShapesDisjoint true ],
-        [ rdfs:comment "A ConnectionPoint must be associated with at most one Connection using the relation connectsThrough." ;
-            sh:class s223:Connection ;
-            sh:maxCount 1 ;
-            sh:message "This ConnectionPoint must be associated with at most one Connection." ;
-            sh:name "ConnectionPointToConnectionShape" ;
-            sh:path s223:connectsThrough ;
-            sh:severity sh:Info ],
-        [ rdfs:comment "A ConnectionPoint must be associated with exactly one EnumerationKind-Medium using the relation hasMedium." ;
-            sh:class s223:Substance-Medium ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:name "ConnectionPoint medium" ;
-            sh:path s223:hasMedium ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the ConnectionPoint with an EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ],
-        [ rdfs:comment "A ConnectionPoint must be associated with exactly one Connectable using the relation isConnectionPointOf." ;
-            sh:class s223:Connectable ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:name "ConnectionPointToEquipmentShape" ;
-            sh:path s223:isConnectionPointOf ],
-        [ rdfs:comment "A ConnectionPoint can be associated with at most one other ConnectionPoint using the relation mapsTo" ;
-            sh:class s223:ConnectionPoint ;
-            sh:maxCount 1 ;
-            sh:path s223:mapsTo ],
-        [ rdfs:comment "A ConnectionPoint can be associated with at most one other ConnectionPoint using the inverse of relation mapsTo" ;
-            sh:class s223:ConnectionPoint ;
-            sh:maxCount 1 ;
-            sh:path [ sh:inversePath s223:mapsTo ] ] .
-
-
-        
- -

See Also

- - -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Junction a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Junction" ;
-    rdfs:comment "A Junction is used to join three or more ConnectionPoints together." ;
-    rdfs:subClassOf s223:Connectable ;
-    sh:or ( [ sh:property [ rdfs:comment "A Junction shall have at least three ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point." ;
-                        sh:minCount 3 ;
-                        sh:path s223:hasConnectionPoint ;
-                        sh:qualifiedMinCount 1 ;
-                        sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ] ;
-                        sh:qualifiedValueShapesDisjoint true ],
-                    [ rdfs:comment "A Junction shall have at least three ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point." ;
-                        sh:minCount 3 ;
-                        sh:path s223:hasConnectionPoint ;
-                        sh:qualifiedMinCount 1 ;
-                        sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ] ;
-                        sh:qualifiedValueShapesDisjoint true ] ] [ sh:property [ rdfs:comment "A Junction shall have at least three ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point." ;
-                        sh:minCount 3 ;
-                        sh:path s223:hasConnectionPoint ;
-                        sh:qualifiedMinCount 1 ;
-                        sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ] ;
-                        sh:qualifiedValueShapesDisjoint true ] ] ) ;
-    sh:property [ rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Junction." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Junction." ;
-                    sh:message "{$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ] ],
-        [ rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-                    sh:message "{?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ] ],
-        [ rdfs:comment "A Junction must be associated with exactly one EnumerationKind-Medium using the relation hasMedium." ;
-            sh:class s223:Substance-Medium ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:path s223:hasMedium ] .
-
-s223:Sensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Sensor" ;
-    rdfs:comment "A Sensor observes an ObservableProperty (see `s223:ObservableProperty`) which may be quantifiable (see `s223:QuantifiableObservableProperty`), such as a temperature, flowrate, or concentration, or Enumerable (see `s223:EnumeratedObservableProperty)`, such as an alarm state or occupancy state." ;
-    rdfs:subClassOf s223:AbstractSensor ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the hasObservationLocation relationship for a Sensor from the Property that it is observing, only if that property is associated with a single entity." ;
-            sh:construct """
-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}
-}
-""" ;
-            sh:name "InferredMeasurementLocation" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ] ;
-    sh:xone ( [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation." ;
-                        sh:class s223:Connectable ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocation ] ] [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation." ;
-                        sh:class s223:Connection ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocation ] ] [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation." ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocation ] ] ),
-        ( [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes." ;
-                        sh:class s223:QuantifiableObservableProperty ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:observes ] ] [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes." ;
-                        sh:class s223:EnumeratedObservableProperty ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:observes ] ] ) .
-
-s223:ConnectionPoint a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "ConnectionPoint" ;
-    s223:abstract true ;
-    rdfs:comment """
-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 and DomainSpaces can have one or more ConnectionPoints (see `s223:Connectable` and `s223:Connection`).
-
-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.
-
-ConnectionPoints 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 connection as shown in Figure 6-1. 
-
-![Graphical Representation of a ConnectionPoint.](figures/Figure_5-2_Graphical_Depiciton_of_Connection_Points.svg)
-
- """ ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "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." ;
-            sh:path s223:connectsThrough ;
-            sh:severity sh:Info ;
-            sh:sparql [ ] ],
-        [ rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the entity identified by the mapsTo+ relation." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ ] ],
-        [ rdfs:comment "A ConnectionPoint must not have both a mapsTo and a connectsThrough relation." ;
-            sh:path s223:mapsTo ;
-            sh:sparql [ ] ],
-        [ rdfs:comment "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." ;
-            sh:path s223:mapsTo ;
-            sh:severity sh:Info ;
-            sh:sparql [ ] ],
-        [ rdfs:comment "If a ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment should have a contains relation." ;
-            sh:path s223:mapsTo ;
-            sh:sparql [ ] ],
-        [ rdfs:comment "A ConnectionPoint must be associated with at most one Connectable using the cnx relation." ;
-            sh:message "A ConnectionPoint must be associated with at most one Connectable using the cnx relation." ;
-            sh:path s223:cnx ;
-            sh:qualifiedMaxCount 1 ;
-            sh:qualifiedValueShape [ ] ;
-            sh:qualifiedValueShapesDisjoint true ],
-        [ rdfs:comment "A ConnectionPoint must be associated with at most one Connection using the cnx relation" ;
-            sh:message "A ConnectionPoint must be associated with at most one Connection using the cnx relation" ;
-            sh:path s223:cnx ;
-            sh:qualifiedMaxCount 1 ;
-            sh:qualifiedValueShape [ ] ;
-            sh:qualifiedValueShapesDisjoint true ],
-        [ rdfs:comment "A ConnectionPoint must be associated with at most one Connection using the relation connectsThrough." ;
-            sh:class s223:Connection ;
-            sh:maxCount 1 ;
-            sh:message "This ConnectionPoint must be associated with at most one Connection." ;
-            sh:name "ConnectionPointToConnectionShape" ;
-            sh:path s223:connectsThrough ;
-            sh:severity sh:Info ],
-        [ rdfs:comment "A ConnectionPoint must be associated with exactly one EnumerationKind-Medium using the relation hasMedium." ;
-            sh:class s223:Substance-Medium ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:name "ConnectionPoint medium" ;
-            sh:path s223:hasMedium ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the ConnectionPoint with an EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ],
-        [ rdfs:comment "A ConnectionPoint must be associated with exactly one Connectable using the relation isConnectionPointOf." ;
-            sh:class s223:Connectable ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:name "ConnectionPointToEquipmentShape" ;
-            sh:path s223:isConnectionPointOf ],
-        [ rdfs:comment "A ConnectionPoint can be associated with at most one other ConnectionPoint using the relation mapsTo" ;
-            sh:class s223:ConnectionPoint ;
-            sh:maxCount 1 ;
-            sh:path s223:mapsTo ],
-        [ rdfs:comment "A ConnectionPoint can be associated with at most one other ConnectionPoint using the inverse of relation mapsTo" ;
-            sh:class s223:ConnectionPoint ;
-            sh:maxCount 1 ;
-            sh:path [ ] ] .
-
-s223:Connection a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Connection" ;
-    rdfs:comment """A Connection is the modeling construct used to represent a physical thing (e.g., pipe, duct, or wire) that is used to convey some Medium (e.g., water, air, or electricity) between two connectable things. All Connections have two or more ConnectionPoints bound to either Equipment (see `s223:Equipment`), DomainSpace (see `s223:DomainSpace`), or Junction (see `s223:Junction`) See Figure . If the direction of flow is constrained, that constraint is indicated by using one or more InletConnectionPoints (see `s223:InletConnectionPoint`) to represent the inflow points and OutletConnectionPoints (see `s223:OutletConnectionPoint`) to represent the outflow points.
-  
-A Connection may contain branches or intersections. These may be modeled using Junctions if it is necessary to identify a specific intersection. (see `s223:Junction`).
-![Graphical Depiction of Connection.](figures/Figure_5-3_Connection.svg)
-""" ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "A Connection must only have a cnx relation with a ConnectionPoint" ;
-            sh:path s223:cnx ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "A Connection must only have a cnx relation with a ConnectionPoint" ;
-                    sh:message "{$this} cannot have a s223:cnx relation to {?something}, because {?something} is not a ConnectionPoint." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """SELECT $this ?something
-WHERE {
-$this s223:cnx ?something .
-FILTER NOT EXISTS {?something a/rdfs:subClassOf* s223:ConnectionPoint} .
-}""" ] ],
-        [ rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Connection." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Connection." ;
-                    sh:message "{$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ] ],
-        [ rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-                    sh:message "{?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ] ],
-        [ rdfs:comment "If the relation connectsAt is present it must associate the Connection with a ConnectionPoint." ;
-            sh:path s223:connectsAt ],
-        [ rdfs:comment "If the relation connectsFrom is present it must associate the Connection with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "ConnectionToUpstreamConnectableShape" ;
-            sh:path s223:connectsFrom ],
-        [ rdfs:comment "If the relation connectsTo is present it must associate the Connection with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "ConnectionToDownstreamConnectableShape" ;
-            sh:path s223:connectsTo ],
-        [ rdfs:comment "A Connection must be associated with exactly one EnumerationKind-Medium using the relation hasMedium." ;
-            sh:class s223:Substance-Medium ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:name "Connection medium" ;
-            sh:path s223:hasMedium ],
-        [ rdfs:comment "A Connection can be associated with an EnumerationKind-Phase using the relation hasPhase." ;
-            sh:class s223:EnumerationKind-Phase ;
-            sh:maxCount 1 ;
-            sh:path s223:hasPhase ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the Connection with an EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ],
-        [ rdfs:comment "A Connection must have two or more cnx relations to ConnectionPoints" ;
-            sh:message "A Connection must have two or more cnx relations to ConnectionPoints" ;
-            sh:minCount 2 ;
-            sh:path s223:cnx ;
-            sh:severity sh:Info ] ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectsFrom relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectsFrom ?equipment .}
-WHERE {
-$this s223:connectsAt ?cp .
-?cp a s223:OutletConnectionPoint .
-?cp s223:isConnectionPointOf ?equipment .
-}
-""" ;
-            sh:name "InferredConnectionToUpstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectsTo relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectsTo ?equipment .}
-WHERE {
-$this s223:connectsAt ?cp .
-?cp a s223:InletConnectionPoint .
-?cp s223:isConnectionPointOf ?equipment .
-}
-""" ;
-            sh:name "InferredConnectionToDownstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer cnx relationship from connectsAt",
-                "InferredConnectionToConnectionPointBaseProperty" ;
-            sh:object [ sh:path s223:connectsAt ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer cnx relationship from connectsThrough",
-                "InferredConnectionToConnectionPointBasePropertyFromInverse" ;
-            sh:object [ sh:path [ sh:inversePath s223:connectsThrough ] ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the connectsAt relationship from cnx",
-                "InferredConnectionToConnectionPointProperty" ;
-            sh:object [ sh:path s223:cnx ] ;
-            sh:predicate s223:connectsAt ;
-            sh:subject sh:this ] .
-
-s223:Connectable a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Connectable" ;
-    s223:abstract true ;
-    rdfs:comment "Connectable is an abstract class representing a thing (Equipment or DomainSpace) that can be connected via ConnectionPoints and Connections." ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "For a Connectable, cnx relation must associate the Connectable to a ConnectionPoint" ;
-            sh:path s223:cnx ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "A Connectable should only have a s223:cnx relation with a ConnectionPoint" ;
-                    sh:message "{$this} cannot have a s223:cnx relation to {?something}, because {?something} is not a ConnectionPoint." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """SELECT $this ?something
-WHERE {
-$this s223:cnx ?something .
-FILTER NOT EXISTS {?something a/rdfs:subClassOf* s223:ConnectionPoint} .
-}""" ] ],
-        [ rdfs:comment "If one ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment shall have a contains relation." ;
-            sh:path s223:mapsTo ;
-            sh:severity sh:Warning ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "If a Connectable is s223:connected (high-level), it must eventually have the underlying cnx relations." ;
-                    sh:message "{$this} is s223:connected (high-level) to {?otherC} but not yet connected at the cnx-level." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT $this ?otherC
-WHERE {
-$this s223:connected ?otherC .
-FILTER NOT EXISTS {$this s223:cnx+ ?otherC}
-}
-""" ] ],
-        [ rdfs:comment "If the relation cnx is present it must associate the Connectable with a ConnectionPoint." ;
-            sh:path s223:cnx ],
-        [ rdfs:comment "If the relation connected is present it must associate the Connectable with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "SymmetricConnectableToConnectableShape" ;
-            sh:path s223:connected ],
-        [ rdfs:comment "If the relation connectedFrom is present it must associate the Connectable with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:path s223:connectedFrom ],
-        [ rdfs:comment "If the relation connectedThrough is present it must associate the Connectable with a Connection." ;
-            sh:class s223:Connection ;
-            sh:name "EquipmentToConnectionShape" ;
-            sh:path s223:connectedThrough ],
-        [ rdfs:comment "If the relation connectedTo is present it must associate the Connectable with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "ConnectableToConnectableShape" ;
-            sh:path s223:connectedTo ],
-        [ rdfs:comment "If the relation hasConnectionPoint is present it must associate the Connectable with a ConnectionPoint." ;
-            sh:name "EquipmentToConnectionPointShape" ;
-            sh:path s223:hasConnectionPoint ] ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connected relationship for BiDirectional connections" ;
-            sh:construct """
-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} .
-}
-""" ;
-            sh:name "InferredEquipmentToDownstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the connected relationship using connectedTo" ;
-            sh:name "InferredEquipmentToEquipmentPropertyfromconnectedTo" ;
-            sh:object [ sh:path s223:connectedTo ] ;
-            sh:predicate s223:connected ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the connectedThrough relationship using hasConnectionPoint and connectsThrough" ;
-            sh:name "InferredEquipmentToConnectionProperty" ;
-            sh:object [ sh:path ( s223:hasConnectionPoint s223:connectsThrough ) ] ;
-            sh:predicate s223:connectedThrough ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the hasConnectionPoint relationship from cnx" ;
-            sh:name "InferredEquipmentToConnectionPointProperty" ;
-            sh:object [ sh:path s223:cnx ] ;
-            sh:predicate s223:hasConnectionPoint ;
-            sh:subject sh:this ],
-        [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectedFrom relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectedFrom ?equipment .}
-WHERE {
-$this s223:hasConnectionPoint ?cp .
-?cp a s223:InletConnectionPoint .
-?cp s223:connectsThrough/s223:connectsFrom ?equipment .
-}
-""" ;
-            sh:name "InferredEquipmentToUpstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectedTo relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectedTo ?equipment .}
-WHERE {
-$this s223:hasConnectionPoint ?cp .
-?cp a s223:OutletConnectionPoint .
-?cp s223:connectsThrough/s223:connectsTo ?equipment .
-}
-""" ;
-            sh:name "InferredEquipmentToDownstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the cnx relationship from hasConnectionPoint" ;
-            sh:name "InferredEquipmentToConnectionPointCnxProperty" ;
-            sh:object [ sh:path s223:hasConnectionPoint ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the cnx relationship from isConnectionPointOf" ;
-            sh:name "InferredEquipmentToConnectionPointCnxPropertyFromInverse" ;
-            sh:object [ sh:path [ sh:inversePath s223:isConnectionPointOf ] ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the connected relationship using connectedFrom" ;
-            sh:name "InferredEquipmentToEquipmentPropertyfromconnectedFrom" ;
-            sh:object [ sh:path s223:connectedFrom ] ;
-            sh:predicate s223:connected ;
-            sh:subject sh:this ] .
-
-
-            
-
-
- -
-

Context-Attribute

-

URI: http://data.ashrae.org/standard223#Context-Attribute

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Context-Attribute a s223:Class,
-        s223:Context-Attribute,
-        sh:NodeShape ;
-    rdfs:label "Context-Attribute" ;
-    rdfs:comment "This class has enumerated instances to specify contexts used with the s223:hasAspect relation for a s223:Property with a non-numerical value." ;
-    rdfs:subClassOf s223:EnumerationKind-Context .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Context-Attribute a s223:Class,
-        s223:Context-Attribute,
-        sh:NodeShape ;
-    rdfs:label "Context-Attribute" ;
-    rdfs:comment "This class has enumerated instances to specify contexts used with the s223:hasAspect relation for a s223:Property with a non-numerical value." ;
-    rdfs:subClassOf s223:EnumerationKind-Context .
-
-
-            
-
-
- -
-

Context-Dimensioned

-

URI: http://data.ashrae.org/standard223#Context-Dimensioned

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Context-Dimensioned a s223:Class,
-        s223:Context-Dimensioned,
-        sh:NodeShape ;
-    rdfs:label "Context-Dimensioned" ;
-    rdfs:comment "This class has enumerated instances of contexts often used with the s223:hasAspect relation for a s223:Property with a numerical value, unit and quantitykind." ;
-    rdfs:subClassOf s223:EnumerationKind-Context .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Context-Dimensioned a s223:Class,
-        s223:Context-Dimensioned,
-        sh:NodeShape ;
-    rdfs:label "Context-Dimensioned" ;
-    rdfs:comment "This class has enumerated instances of contexts often used with the s223:hasAspect relation for a s223:Property with a numerical value, unit and quantitykind." ;
-    rdfs:subClassOf s223:EnumerationKind-Context .
-
-
-            
-
-
- -
-

Context-Dimensionless

-

URI: http://data.ashrae.org/standard223#Context-Dimensionless

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Context-Dimensionless a s223:Class,
-        s223:Context-Dimensionless,
-        sh:NodeShape ;
-    rdfs:label "Context-Dimensionless" ;
-    rdfs:comment "This class has enumerated instances of contexts often used with the s223:hasAspect relation for a s223:Property with a dimensionless numerical value." ;
-    rdfs:subClassOf s223:EnumerationKind-Context .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Context-Dimensionless a s223:Class,
-        s223:Context-Dimensionless,
-        sh:NodeShape ;
-    rdfs:label "Context-Dimensionless" ;
-    rdfs:comment "This class has enumerated instances of contexts often used with the s223:hasAspect relation for a s223:Property with a dimensionless numerical value." ;
-    rdfs:subClassOf s223:EnumerationKind-Context .
-
-
-            
-
-
- -
-

Controller

-

URI: http://data.ashrae.org/standard223#Controller

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Controller a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Controller" ;
-    rdfs:comment "A device for regulation of a system or component in normal operation, which exectues function blocks." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "If the relation executes is present it must associate the Controller with a FunctionBlock." ;
-            sh:class s223:FunctionBlock ;
-            sh:path s223:executes ] ;
-    sh:rule [ a sh:TripleRule ;
-            rdfs:comment "Infer the hasRole s223:Role-Controller relationship for every instance of Controller" ;
-            sh:object s223:Role-Controller ;
-            sh:predicate s223:hasRole ;
-            sh:subject sh:this ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Controller a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Controller" ;
-    rdfs:comment "A device for regulation of a system or component in normal operation, which exectues function blocks." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "If the relation executes is present it must associate the Controller with a FunctionBlock." ;
-            sh:class s223:FunctionBlock ;
-            sh:path s223:executes ] ;
-    sh:rule [ ] .
-
-s223:ControllerRoleShape a sh:NodeShape ;
-    rdfs:comment "Equipment that executes a FunctionBlock must have a s223:hasRole relation to s223:Role-Controller." ;
-    sh:property [ a sh:PropertyShape ;
-            sh:hasValue s223:Role-Controller ;
-            sh:message "Equipment that executes a FunctionBlock must have a s223:hasRole relation to s223:Role-Controller." ;
-            sh:minCount 1 ;
-            sh:path s223:hasRole ] ;
-    sh:targetSubjectsOf s223:executes .
-
-s223:executes a rdf:Property ;
-    rdfs:label "executes" ;
-    rdfs:comment "The relation executes is used to specify that a controller (see `s223:Controller`) is responsible for the execution of a function block (see `s223:FunctionBlock`). " .
-
-
-            
-
-
- -
-

Cooling coil

-

URI: http://data.ashrae.org/standard223#CoolingCoil

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:CoolingCoil a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Cooling coil" ;
-    rdfs:comment "A coil that provides cooling." ;
-    rdfs:subClassOf s223:Coil ;
-    sh:property [ rdfs:comment "A cooling coil must be related to the role 'Role-Cooling' using the relation 'hasRole'." ;
-            sh:hasValue s223:Role-Cooling ;
-            sh:minCount 1 ;
-            sh:path s223:hasRole ] ;
-    sh:rule [ a sh:TripleRule ;
-            rdfs:comment "Cooling coils will always have the role Role-Cooling" ;
-            sh:object s223:Role-Cooling ;
-            sh:predicate s223:hasRole ;
-            sh:subject sh:this ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:CoolingCoil a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Cooling coil" ;
-    rdfs:comment "A coil that provides cooling." ;
-    rdfs:subClassOf s223:Coil ;
-    sh:property [ rdfs:comment "A cooling coil must be related to the role 'Role-Cooling' using the relation 'hasRole'." ;
-            sh:hasValue s223:Role-Cooling ;
-            sh:minCount 1 ;
-            sh:path s223:hasRole ] ;
-    sh:rule [ ] .
-
-
-            
-
-
- -
-

Cooling tower

-

URI: http://data.ashrae.org/standard223#CoolingTower

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:CoolingTower a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Cooling tower" ;
-    rdfs:comment "A heat transfer device in which atmospheric air cools warm water, generally by direct contact via evaporation." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A CoolingTower shall have at least one inlet using the medium Water." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "A CoolingTower shall have at least one outlet using the medium Water." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:CoolingTower a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Cooling tower" ;
-    rdfs:comment "A heat transfer device in which atmospheric air cools warm water, generally by direct contact via evaporation." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A CoolingTower shall have at least one inlet using the medium Water." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A CoolingTower shall have at least one outlet using the medium Water." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Correlated color temperature sensor

-

URI: http://data.ashrae.org/standard223#CorrelatedColorTemperatureSensor

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:CorrelatedColorTemperatureSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Correlated color temperature sensor" ;
-    rdfs:comment "A subclass of LightSensor that observes the color of light." ;
-    rdfs:subClassOf s223:LightSensor ;
-    sh:property [ rdfs:comment "A CorrelatedColorTemperatureSensor must always observe a Property that has a QuantityKind of ThermodynamicTemperature." ;
-            sh:path s223:observes ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:Property ;
-                    sh:node [ sh:property [ sh:hasValue <http://qudt.org/vocab/quantitykind/ThermodynamicTemperature> ;
-                                    sh:path <http://qudt.org/schema/qudt/hasQuantityKind> ] ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:CorrelatedColorTemperatureSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Correlated color temperature sensor" ;
-    rdfs:comment "A subclass of LightSensor that observes the color of light." ;
-    rdfs:subClassOf s223:LightSensor ;
-    sh:property [ rdfs:comment "A CorrelatedColorTemperatureSensor must always observe a Property that has a QuantityKind of ThermodynamicTemperature." ;
-            sh:path s223:observes ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Damper

-

URI: http://data.ashrae.org/standard223#Damper

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Damper a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Damper" ;
-    rdfs:comment "An element inserted into an air-distribution system or element of an air-distribution system permitting modification of the air resistance of the system and consequently changing the airflow rate or shutting off the airflow." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Damper shall have at least one inlet using the medium Air.",
-                "Does this need to allow bidirectional connection points?" ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "A Damper shall have at least one outlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Damper a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Damper" ;
-    rdfs:comment "An element inserted into an air-distribution system or element of an air-distribution system permitting modification of the air resistance of the system and consequently changing the airflow rate or shutting off the airflow." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Damper shall have at least one inlet using the medium Air.",
-                "Does this need to allow bidirectional connection points?" ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A Damper shall have at least one outlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Day of week-Weekday

-

URI: http://data.ashrae.org/standard223#DayOfWeek-Weekday

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:DayOfWeek-Weekday a s223:Class,
-        s223:DayOfWeek-Weekday,
-        sh:NodeShape ;
-    rdfs:label "Day of week-Weekday",
-        "Weekday" ;
-    rdfs:comment "This class defines the EnumerationKind values of Monday, Tuesday, Wednesday, Thursday, and Friday" ;
-    rdfs:subClassOf s223:Attribute-DayOfWeek .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:DayOfWeek-Weekday a s223:Class,
-        s223:DayOfWeek-Weekday,
-        sh:NodeShape ;
-    rdfs:label "Day of week-Weekday",
-        "Weekday" ;
-    rdfs:comment "This class defines the EnumerationKind values of Monday, Tuesday, Wednesday, Thursday, and Friday" ;
-    rdfs:subClassOf s223:Attribute-DayOfWeek .
-
-
-            
-
-
- -
-

Day of week-Weekend

-

URI: http://data.ashrae.org/standard223#DayOfWeek-Weekend

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:DayOfWeek-Weekend a s223:Class,
-        s223:DayOfWeek-Weekend,
-        sh:NodeShape ;
-    rdfs:label "Day of week-Weekend",
-        "Weekend" ;
-    rdfs:comment "This class defines the EnumerationKind values of Saturday and Sunday" ;
-    rdfs:subClassOf s223:Attribute-DayOfWeek .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:DayOfWeek-Weekend a s223:Class,
-        s223:DayOfWeek-Weekend,
-        sh:NodeShape ;
-    rdfs:label "Day of week-Weekend",
-        "Weekend" ;
-    rdfs:comment "This class defines the EnumerationKind values of Saturday and Sunday" ;
-    rdfs:subClassOf s223:Attribute-DayOfWeek .
-
-
-            
-
-
- -
-

Differential sensor

-

URI: http://data.ashrae.org/standard223#DifferentialSensor

-

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:DifferentialSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Differential sensor" ;
-    rdfs:comment "A sensor that measures the difference of a quantity between any two points in the system." ;
-    rdfs:subClassOf s223:AbstractSensor ;
-    sh:property [ rdfs:comment "A Differential Sensor must be defined in terms of the QuantityKind that is being measured." ;
-            sh:class <http://qudt.org/schema/qudt/QuantityKind> ;
-            sh:minCount 1 ;
-            sh:path ( s223:observes <http://qudt.org/schema/qudt/hasQuantityKind> ) ],
-        [ rdfs:comment "A Differential Sensor must have different values for hasObservationLocationHigh and hasObservationLocationLow." ;
-            sh:path s223:hasObservationLocationHigh ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the values of hasObservationLocationHigh and hasObservationLocationLow are distinct." ;
-                    sh:message "{$this} cannot have the same value, {?high}, for both hasObservationLocationHigh and hasObservationLocationLow" ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT $this ?high
-WHERE {
-  ?this s223:hasObservationLocationHigh ?high .
-    ?this s223:hasObservationLocationLow ?low .
-FILTER (?high = ?low) .
-}
-""" ] ] ;
-    sh:xone ( [ sh:property [ rdfs:comment "A DifferentialSensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocationHigh." ;
-                        sh:class s223:Connectable ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocationHigh ] ] [ sh:property [ rdfs:comment "A DifferentialSensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocationHigh." ;
-                        sh:class s223:Connection ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocationHigh ] ] [ sh:property [ rdfs:comment "A DifferentialSensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocationHigh." ;
-                        sh:class s223:ConnectionPoint ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocationHigh ] ] ),
-        ( [ sh:property [ rdfs:comment "A DifferentialSensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocationLow." ;
-                        sh:class s223:Connectable ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocationLow ] ] [ sh:property [ rdfs:comment "A DifferentialSensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocationLow." ;
-                        sh:class s223:Connection ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocationLow ] ] [ sh:property [ rdfs:comment "A DifferentialSensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocationLow." ;
-                        sh:class s223:ConnectionPoint ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocationLow ] ] ) .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:DifferentialSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Differential sensor" ;
-    rdfs:comment "A sensor that measures the difference of a quantity between any two points in the system." ;
-    rdfs:subClassOf s223:AbstractSensor ;
-    sh:property [ rdfs:comment "A Differential Sensor must be defined in terms of the QuantityKind that is being measured." ;
-            sh:class <http://qudt.org/schema/qudt/QuantityKind> ;
-            sh:minCount 1 ;
-            sh:path [ ] ],
-        [ rdfs:comment "A Differential Sensor must have different values for hasObservationLocationHigh and hasObservationLocationLow." ;
-            sh:path s223:hasObservationLocationHigh ;
-            sh:sparql [ ] ] ;
-    sh:xone [ ],
-        [ ] .
-
-
-            
-
-
- -
-

DCNegativeVoltage

-

URI: http://data.ashrae.org/standard223#Dimensioned-DCNegativeVoltage

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Dimensioned-DCNegativeVoltage a s223:Class,
-        s223:Dimensioned-DCNegativeVoltage,
-        sh:NodeShape ;
-    rdfs:label "DCNegativeVoltage" ;
-    s223:hasVoltage s223:Dimensioned-Voltage ;
-    rdfs:subClassOf s223:Context-Dimensioned ;
-    sh:property [ rdfs:comment "A DC-Negative-Voltage must have a voltage" ;
-            sh:class_ s223:Dimensioned-Voltage ;
-            sh:minCount 1 ;
-            sh:path s223:hasVoltage ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Dimensioned-DCNegativeVoltage a s223:Class,
-        s223:Dimensioned-DCNegativeVoltage,
-        sh:NodeShape ;
-    rdfs:label "DCNegativeVoltage" ;
-    s223:hasVoltage s223:Dimensioned-Voltage ;
-    rdfs:subClassOf s223:Context-Dimensioned ;
-    sh:property [ rdfs:comment "A DC-Negative-Voltage must have a voltage" ;
-            sh:class_ s223:Dimensioned-Voltage ;
-            sh:minCount 1 ;
-            sh:path s223:hasVoltage ] .
-
-
-            
-
-
- -
-

DCPositiveVoltage

-

URI: http://data.ashrae.org/standard223#Dimensioned-DCPositiveVoltage

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Dimensioned-DCPositiveVoltage a s223:Class,
-        s223:Dimensioned-DCPositiveVoltage,
-        sh:NodeShape ;
-    rdfs:label "DCPositiveVoltage" ;
-    s223:hasVoltage s223:Dimensioned-Voltage ;
-    rdfs:subClassOf s223:Context-Dimensioned ;
-    sh:property [ rdfs:comment "A DC-Positive-Voltage must have a voltage" ;
-            sh:class_ s223:Dimensioned-Voltage ;
-            sh:minCount 1 ;
-            sh:path s223:hasVoltage ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Dimensioned-DCPositiveVoltage a s223:Class,
-        s223:Dimensioned-DCPositiveVoltage,
-        sh:NodeShape ;
-    rdfs:label "DCPositiveVoltage" ;
-    s223:hasVoltage s223:Dimensioned-Voltage ;
-    rdfs:subClassOf s223:Context-Dimensioned ;
-    sh:property [ rdfs:comment "A DC-Positive-Voltage must have a voltage" ;
-            sh:class_ s223:Dimensioned-Voltage ;
-            sh:minCount 1 ;
-            sh:path s223:hasVoltage ] .
-
-
-            
-
-
- -
-

Dimensioned Frequency

-

URI: http://data.ashrae.org/standard223#Dimensioned-Frequency

-

-@prefix ns1: <http://qudt.org/schema/qudt/> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Dimensioned-Frequency a s223:Class,
-        s223:Dimensioned-Frequency,
-        sh:NodeShape ;
-    rdfs:label "Dimensioned Frequency" ;
-    ns1:hasQuantityKind <http://qudt.org/vocab/quantitykind/Frequency> ;
-    ns1:hasUnit <http://qudt.org/vocab/unit/HZ> ;
-    rdfs:subClassOf s223:Context-Dimensioned,
-        s223:QuantifiableProperty .
-
-
-        
- -

See Also

- - -

Details

-
- All related shapes and rules -

-@prefix ns1: <http://qudt.org/schema/qudt/> .
-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Electricity-AC a s223:Class,
-        s223:Electricity-AC,
-        sh:NodeShape ;
-    rdfs:label "Electricity AC" ;
-    s223:hasFrequency s223:Dimensioned-Frequency ;
-    s223:hasNumberOfElectricalPhases s223:Dimensionless-NumberOfElectricalPhases ;
-    s223:hasVoltage s223:Dimensioned-Voltage ;
-    rdfs:subClassOf s223:Medium-Electricity ;
-    sh:property [ rdfs:comment "An electricity AC medium must have a frequency" ;
-            sh:class_ s223:Dimensioned-Frequency ;
-            sh:minCount 1 ;
-            sh:path s223:hasFrequency ],
-        [ rdfs:comment "An electricity AC medium must have a number of electrical phases." ;
-            sh:class s223:Dimensionless-NumberOfElectricalPhases ;
-            sh:minCount 1 ;
-            sh:path s223:hasNumberOfElectricalPhases ],
-        [ rdfs:comment "An electricity AC medium must have a voltage." ;
-            sh:minCount 1 ;
-            sh:or ( [ sh:class s223:Dimensioned-LineLineVoltage ] [ sh:class s223:Dimensioned-LineNeutralVoltage ] [ sh:class s223:Dimensioned-Voltage ] ) ;
-            sh:path s223:hasVoltage ] .
-
-s223:Dimensioned-Frequency a s223:Class,
-        s223:Dimensioned-Frequency,
-        sh:NodeShape ;
-    rdfs:label "Dimensioned Frequency" ;
-    ns1:hasQuantityKind <http://qudt.org/vocab/quantitykind/Frequency> ;
-    ns1:hasUnit <http://qudt.org/vocab/unit/HZ> ;
-    rdfs:subClassOf s223:Context-Dimensioned,
-        s223:QuantifiableProperty .
-
-
-            
-
-
- -
-

Dimensioned Line-Line Voltage

-

URI: http://data.ashrae.org/standard223#Dimensioned-LineLineVoltage

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Dimensioned-LineLineVoltage a s223:Class,
-        s223:Dimensioned-LineLineVoltage,
-        sh:NodeShape ;
-    rdfs:label "Dimensioned Line-Line Voltage" ;
-    s223:hasVoltage s223:Dimensioned-Voltage ;
-    rdfs:subClassOf s223:Context-Dimensioned ;
-    sh:property [ rdfs:comment "An AC-Dimensioned-LineLineVoltage must have a voltage" ;
-            sh:class_ s223:Dimensioned-Voltage ;
-            sh:minCount 1 ;
-            sh:path s223:hasVoltage ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Dimensioned-LineLineVoltage a s223:Class,
-        s223:Dimensioned-LineLineVoltage,
-        sh:NodeShape ;
-    rdfs:label "Dimensioned Line-Line Voltage" ;
-    s223:hasVoltage s223:Dimensioned-Voltage ;
-    rdfs:subClassOf s223:Context-Dimensioned ;
-    sh:property [ rdfs:comment "An AC-Dimensioned-LineLineVoltage must have a voltage" ;
-            sh:class_ s223:Dimensioned-Voltage ;
-            sh:minCount 1 ;
-            sh:path s223:hasVoltage ] .
-
-
-            
-
-
- -
-

Dimensioned Line-Neutral Voltage

-

URI: http://data.ashrae.org/standard223#Dimensioned-LineNeutralVoltage

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Dimensioned-LineNeutralVoltage a s223:Class,
-        s223:Dimensioned-LineNeutralVoltage,
-        sh:NodeShape ;
-    rdfs:label "Dimensioned Line-Neutral Voltage" ;
-    s223:hasVoltage s223:Dimensioned-Voltage ;
-    rdfs:subClassOf s223:Context-Dimensioned ;
-    sh:property [ rdfs:comment "An AC-Dimensioned-LineNeutralVoltage must have a voltage" ;
-            sh:class_ s223:Dimensioned-Voltage ;
-            sh:minCount 1 ;
-            sh:path s223:hasVoltage ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Dimensioned-LineNeutralVoltage a s223:Class,
-        s223:Dimensioned-LineNeutralVoltage,
-        sh:NodeShape ;
-    rdfs:label "Dimensioned Line-Neutral Voltage" ;
-    s223:hasVoltage s223:Dimensioned-Voltage ;
-    rdfs:subClassOf s223:Context-Dimensioned ;
-    sh:property [ rdfs:comment "An AC-Dimensioned-LineNeutralVoltage must have a voltage" ;
-            sh:class_ s223:Dimensioned-Voltage ;
-            sh:minCount 1 ;
-            sh:path s223:hasVoltage ] .
-
-
-            
-
-
- -
-

Dimensioned Voltage

-

URI: http://data.ashrae.org/standard223#Dimensioned-Voltage

-

-@prefix ns1: <http://qudt.org/schema/qudt/> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Dimensioned-Voltage a s223:Class,
-        s223:Dimensioned-Voltage,
-        sh:NodeShape ;
-    rdfs:label "Dimensioned Voltage" ;
-    ns1:hasQuantityKind <http://qudt.org/vocab/quantitykind/Voltage> ;
-    ns1:hasUnit <http://qudt.org/vocab/unit/V> ;
-    rdfs:subClassOf s223:Context-Dimensioned,
-        s223:QuantifiableProperty .
-
-
-        
- -

See Also

- - -

Details

-
- All related shapes and rules -

-@prefix ns1: <http://qudt.org/schema/qudt/> .
-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Dimensioned-DCNegativeVoltage a s223:Class,
-        s223:Dimensioned-DCNegativeVoltage,
-        sh:NodeShape ;
-    rdfs:label "DCNegativeVoltage" ;
-    s223:hasVoltage s223:Dimensioned-Voltage ;
-    rdfs:subClassOf s223:Context-Dimensioned ;
-    sh:property [ rdfs:comment "A DC-Negative-Voltage must have a voltage" ;
-            sh:class_ s223:Dimensioned-Voltage ;
-            sh:minCount 1 ;
-            sh:path s223:hasVoltage ] .
-
-s223:Dimensioned-DCPositiveVoltage a s223:Class,
-        s223:Dimensioned-DCPositiveVoltage,
-        sh:NodeShape ;
-    rdfs:label "DCPositiveVoltage" ;
-    s223:hasVoltage s223:Dimensioned-Voltage ;
-    rdfs:subClassOf s223:Context-Dimensioned ;
-    sh:property [ rdfs:comment "A DC-Positive-Voltage must have a voltage" ;
-            sh:class_ s223:Dimensioned-Voltage ;
-            sh:minCount 1 ;
-            sh:path s223:hasVoltage ] .
-
-s223:Electricity-AC a s223:Class,
-        s223:Electricity-AC,
-        sh:NodeShape ;
-    rdfs:label "Electricity AC" ;
-    s223:hasFrequency s223:Dimensioned-Frequency ;
-    s223:hasNumberOfElectricalPhases s223:Dimensionless-NumberOfElectricalPhases ;
-    s223:hasVoltage s223:Dimensioned-Voltage ;
-    rdfs:subClassOf s223:Medium-Electricity ;
-    sh:property [ rdfs:comment "An electricity AC medium must have a frequency" ;
-            sh:class_ s223:Dimensioned-Frequency ;
-            sh:minCount 1 ;
-            sh:path s223:hasFrequency ],
-        [ rdfs:comment "An electricity AC medium must have a number of electrical phases." ;
-            sh:class s223:Dimensionless-NumberOfElectricalPhases ;
-            sh:minCount 1 ;
-            sh:path s223:hasNumberOfElectricalPhases ],
-        [ rdfs:comment "An electricity AC medium must have a voltage." ;
-            sh:minCount 1 ;
-            sh:or ( [ sh:class s223:Dimensioned-LineLineVoltage ] [ sh:class s223:Dimensioned-LineNeutralVoltage ] [ ] ) ;
-            sh:path s223:hasVoltage ] .
-
-s223:Electricity-DC a s223:Class,
-        s223:Electricity-DC,
-        sh:NodeShape ;
-    rdfs:label "Electricity DC" ;
-    s223:hasVoltage s223:Dimensioned-Voltage ;
-    rdfs:subClassOf s223:Medium-Electricity ;
-    sh:property [ rdfs:comment "An electricity DC medium must have two reference voltages." ;
-            sh:minCount 1 ;
-            sh:or ( [ sh:class s223:Dimensioned-PositiveVoltage ] [ sh:class s223:Dimensioned-NegativeVoltage ] [ ] ) ;
-            sh:path s223:hasVoltage ] .
-
-s223:Dimensioned-LineLineVoltage a s223:Class,
-        s223:Dimensioned-LineLineVoltage,
-        sh:NodeShape ;
-    rdfs:label "Dimensioned Line-Line Voltage" ;
-    s223:hasVoltage s223:Dimensioned-Voltage ;
-    rdfs:subClassOf s223:Context-Dimensioned ;
-    sh:property [ rdfs:comment "An AC-Dimensioned-LineLineVoltage must have a voltage" ;
-            sh:class_ s223:Dimensioned-Voltage ;
-            sh:minCount 1 ;
-            sh:path s223:hasVoltage ] .
-
-s223:Dimensioned-LineNeutralVoltage a s223:Class,
-        s223:Dimensioned-LineNeutralVoltage,
-        sh:NodeShape ;
-    rdfs:label "Dimensioned Line-Neutral Voltage" ;
-    s223:hasVoltage s223:Dimensioned-Voltage ;
-    rdfs:subClassOf s223:Context-Dimensioned ;
-    sh:property [ rdfs:comment "An AC-Dimensioned-LineNeutralVoltage must have a voltage" ;
-            sh:class_ s223:Dimensioned-Voltage ;
-            sh:minCount 1 ;
-            sh:path s223:hasVoltage ] .
-
-s223:Dimensioned-Voltage a s223:Class,
-        s223:Dimensioned-Voltage,
-        sh:NodeShape ;
-    rdfs:label "Dimensioned Voltage" ;
-    ns1:hasQuantityKind <http://qudt.org/vocab/quantitykind/Voltage> ;
-    ns1:hasUnit <http://qudt.org/vocab/unit/V> ;
-    rdfs:subClassOf s223:Context-Dimensioned,
-        s223:QuantifiableProperty .
-
-
-            
-
-
- -
-

Dimensionless Number of Electrical Phases

-

URI: http://data.ashrae.org/standard223#Dimensionless-NumberOfElectricalPhases

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Dimensionless-NumberOfElectricalPhases a s223:Class,
-        s223:Dimensionless-NumberOfElectricalPhases,
-        sh:NodeShape ;
-    rdfs:label "Dimensionless Number of Electrical Phases" ;
-    rdfs:subClassOf s223:Context-Dimensionless .
-
-
-        
- -

See Also

- - -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Electricity-AC a s223:Class,
-        s223:Electricity-AC,
-        sh:NodeShape ;
-    rdfs:label "Electricity AC" ;
-    s223:hasFrequency s223:Dimensioned-Frequency ;
-    s223:hasNumberOfElectricalPhases s223:Dimensionless-NumberOfElectricalPhases ;
-    s223:hasVoltage s223:Dimensioned-Voltage ;
-    rdfs:subClassOf s223:Medium-Electricity ;
-    sh:property [ rdfs:comment "An electricity AC medium must have a frequency" ;
-            sh:class_ s223:Dimensioned-Frequency ;
-            sh:minCount 1 ;
-            sh:path s223:hasFrequency ],
-        [ rdfs:comment "An electricity AC medium must have a number of electrical phases." ;
-            sh:minCount 1 ;
-            sh:path s223:hasNumberOfElectricalPhases ],
-        [ rdfs:comment "An electricity AC medium must have a voltage." ;
-            sh:minCount 1 ;
-            sh:or ( [ sh:class s223:Dimensioned-LineLineVoltage ] [ sh:class s223:Dimensioned-LineNeutralVoltage ] [ sh:class s223:Dimensioned-Voltage ] ) ;
-            sh:path s223:hasVoltage ] .
-
-s223:Dimensionless-NumberOfElectricalPhases a s223:Class,
-        s223:Dimensionless-NumberOfElectricalPhases,
-        sh:NodeShape ;
-    rdfs:label "Dimensionless Number of Electrical Phases" ;
-    rdfs:subClassOf s223:Context-Dimensionless .
-
-
-            
-
-
- -
-

Domain Space

-

URI: http://data.ashrae.org/standard223#DomainSpace

-

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:DomainSpace a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Domain Space" ;
-    rdfs:comment "A DomainSpace is a member (or component) of a Zone and is associated with a Domain such as Lighting, HVAC, PhysicalSecurity, etc. Physical spaces enclose Domain spaces." ;
-    rdfs:subClassOf s223:Connectable ;
-    sh:property [ rdfs:comment "A DomainSpace must be enclosed by a PhysicalSpace." ;
-            sh:message "A DomainSpace must be enclosed by a PhysicalSpace." ;
-            sh:minCount 1 ;
-            sh:path [ sh:inversePath s223:encloses ] ;
-            sh:severity sh:Info ],
-        [ rdfs:comment "A DomainSpace must be associated with exactly one EnumerationKind-Domain using the relation hasDomain." ;
-            sh:class s223:EnumerationKind-Domain ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:path s223:hasDomain ] ;
-    sh:rule [ a sh:TripleRule ;
-            rdfs:comment "Infer a hasDomain relation by checking any enclosing Zone to determine the domain." ;
-            sh:object [ sh:path ( [ sh:inversePath s223:hasDomainSpace ] s223:hasDomain ) ] ;
-            sh:predicate s223:hasDomain ;
-            sh:subject sh:this ] .
-
-
-        
- -

See Also

- - -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Connection a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Connection" ;
-    rdfs:comment """A Connection is the modeling construct used to represent a physical thing (e.g., pipe, duct, or wire) that is used to convey some Medium (e.g., water, air, or electricity) between two connectable things. All Connections have two or more ConnectionPoints bound to either Equipment (see `s223:Equipment`), DomainSpace (see `s223:DomainSpace`), or Junction (see `s223:Junction`) See Figure . If the direction of flow is constrained, that constraint is indicated by using one or more InletConnectionPoints (see `s223:InletConnectionPoint`) to represent the inflow points and OutletConnectionPoints (see `s223:OutletConnectionPoint`) to represent the outflow points.
-  
-A Connection may contain branches or intersections. These may be modeled using Junctions if it is necessary to identify a specific intersection. (see `s223:Junction`).
-![Graphical Depiction of Connection.](figures/Figure_5-3_Connection.svg)
-""" ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "A Connection must only have a cnx relation with a ConnectionPoint" ;
-            sh:path s223:cnx ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "A Connection must only have a cnx relation with a ConnectionPoint" ;
-                    sh:message "{$this} cannot have a s223:cnx relation to {?something}, because {?something} is not a ConnectionPoint." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """SELECT $this ?something
-WHERE {
-$this s223:cnx ?something .
-FILTER NOT EXISTS {?something a/rdfs:subClassOf* s223:ConnectionPoint} .
-}""" ] ],
-        [ rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Connection." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Connection." ;
-                    sh:message "{$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ] ],
-        [ rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-                    sh:message "{?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ] ],
-        [ rdfs:comment "If the relation connectsAt is present it must associate the Connection with a ConnectionPoint." ;
-            sh:class s223:ConnectionPoint ;
-            sh:path s223:connectsAt ],
-        [ rdfs:comment "If the relation connectsFrom is present it must associate the Connection with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "ConnectionToUpstreamConnectableShape" ;
-            sh:path s223:connectsFrom ],
-        [ rdfs:comment "If the relation connectsTo is present it must associate the Connection with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "ConnectionToDownstreamConnectableShape" ;
-            sh:path s223:connectsTo ],
-        [ rdfs:comment "A Connection must be associated with exactly one EnumerationKind-Medium using the relation hasMedium." ;
-            sh:class s223:Substance-Medium ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:name "Connection medium" ;
-            sh:path s223:hasMedium ],
-        [ rdfs:comment "A Connection can be associated with an EnumerationKind-Phase using the relation hasPhase." ;
-            sh:class s223:EnumerationKind-Phase ;
-            sh:maxCount 1 ;
-            sh:path s223:hasPhase ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the Connection with an EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ],
-        [ rdfs:comment "A Connection must have two or more cnx relations to ConnectionPoints" ;
-            sh:class s223:ConnectionPoint ;
-            sh:message "A Connection must have two or more cnx relations to ConnectionPoints" ;
-            sh:minCount 2 ;
-            sh:path s223:cnx ;
-            sh:severity sh:Info ] ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectsFrom relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectsFrom ?equipment .}
-WHERE {
-$this s223:connectsAt ?cp .
-?cp a s223:OutletConnectionPoint .
-?cp s223:isConnectionPointOf ?equipment .
-}
-""" ;
-            sh:name "InferredConnectionToUpstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectsTo relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectsTo ?equipment .}
-WHERE {
-$this s223:connectsAt ?cp .
-?cp a s223:InletConnectionPoint .
-?cp s223:isConnectionPointOf ?equipment .
-}
-""" ;
-            sh:name "InferredConnectionToDownstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer cnx relationship from connectsAt",
-                "InferredConnectionToConnectionPointBaseProperty" ;
-            sh:object [ sh:path s223:connectsAt ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer cnx relationship from connectsThrough",
-                "InferredConnectionToConnectionPointBasePropertyFromInverse" ;
-            sh:object [ sh:path [ sh:inversePath s223:connectsThrough ] ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the connectsAt relationship from cnx",
-                "InferredConnectionToConnectionPointProperty" ;
-            sh:object [ sh:path s223:cnx ] ;
-            sh:predicate s223:connectsAt ;
-            sh:subject sh:this ] .
-
-s223:DomainSpace a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Domain Space" ;
-    rdfs:comment "A DomainSpace is a member (or component) of a Zone and is associated with a Domain such as Lighting, HVAC, PhysicalSecurity, etc. Physical spaces enclose Domain spaces." ;
-    rdfs:subClassOf s223:Connectable ;
-    sh:property [ rdfs:comment "A DomainSpace must be enclosed by a PhysicalSpace." ;
-            sh:message "A DomainSpace must be enclosed by a PhysicalSpace." ;
-            sh:minCount 1 ;
-            sh:path [ ] ;
-            sh:severity sh:Info ],
-        [ rdfs:comment "A DomainSpace must be associated with exactly one EnumerationKind-Domain using the relation hasDomain." ;
-            sh:class s223:EnumerationKind-Domain ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:path s223:hasDomain ] ;
-    sh:rule [ ] .
-
-s223:encloses a rdf:Property ;
-    rdfs:label "encloses" ;
-    rdfs:comment "The relation encloses is used to indicate that a domain space (see: `s223:DomainSpace`) can be found inside a physical space (see `s223:PhysicalSpace`). " .
-
-
-            
-
-
- -
-

Door

-

URI: http://data.ashrae.org/standard223#Door

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Door a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Door" ;
-    rdfs:comment "A hinged, sliding, or revolving barrier at the entrance to a building or room." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Door shall have at least two bidirectional connection points using the medium Air." ;
-            sh:minCount 2 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 2 ;
-            sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Door a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Door" ;
-    rdfs:comment "A hinged, sliding, or revolving barrier at the entrance to a building or room." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Door shall have at least two bidirectional connection points using the medium Air." ;
-            sh:minCount 2 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 2 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Dual duct air terminal.

-

URI: http://data.ashrae.org/standard223#DualDuctTerminal

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:DualDuctTerminal a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Dual duct air terminal." ;
-    rdfs:comment "A dual duct air terminal mixes two independent sources of primary air." ;
-    rdfs:seeAlso s223:TerminalUnit ;
-    rdfs:subClassOf s223:TerminalUnit ;
-    sh:property [ rdfs:comment "A DualDuctTerminal shall have at least two inlets using the medium Air." ;
-            sh:minCount 2 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 2 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:DualDuctTerminal a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Dual duct air terminal." ;
-    rdfs:comment "A dual duct air terminal mixes two independent sources of primary air." ;
-    rdfs:seeAlso s223:TerminalUnit ;
-    rdfs:subClassOf s223:TerminalUnit ;
-    sh:property [ rdfs:comment "A DualDuctTerminal shall have at least two inlets using the medium Air." ;
-            sh:minCount 2 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 2 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Duct

-

URI: http://data.ashrae.org/standard223#Duct

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Duct a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Duct" ;
-    rdfs:comment "A Duct is a subclass of Connection, that represents a conduit through which air is conveyed." ;
-    rdfs:subClassOf s223:Connection .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Duct a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Duct" ;
-    rdfs:comment "A Duct is a subclass of Connection, that represents a conduit through which air is conveyed." ;
-    rdfs:subClassOf s223:Connection .
-
-
-            
-
-
- -
-

Duv sensor

-

URI: http://data.ashrae.org/standard223#DuvSensor

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:DuvSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Duv sensor" ;
-    rdfs:comment "A subclass of LightSensor that observes the deviation of the light spectrum from pure blackbody." ;
-    rdfs:subClassOf s223:LightSensor ;
-    sh:property [ rdfs:comment "A DuvSensor must always observe a Property that has a QuantityKind of Duv." ;
-            sh:path s223:observes ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:Property ;
-                    sh:node [ sh:property [ sh:hasValue <http://qudt.org/vocab/quantitykind/Duv> ;
-                                    sh:path <http://qudt.org/schema/qudt/hasQuantityKind> ] ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:DuvSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Duv sensor" ;
-    rdfs:comment "A subclass of LightSensor that observes the deviation of the light spectrum from pure blackbody." ;
-    rdfs:subClassOf s223:LightSensor ;
-    sh:property [ rdfs:comment "A DuvSensor must always observe a Property that has a QuantityKind of Duv." ;
-            sh:path s223:observes ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

EM-Light

-

URI: http://data.ashrae.org/standard223#EM-Light

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EM-Light a s223:Class,
-        s223:EM-Light,
-        sh:NodeShape ;
-    rdfs:label "EM-Light" ;
-    rdfs:comment "The EM-Light class has enumerated instances of what are considered visible or near-visible light." ;
-    rdfs:subClassOf s223:Medium-EM .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EM-Light a s223:Class,
-        s223:EM-Light,
-        sh:NodeShape ;
-    rdfs:label "EM-Light" ;
-    rdfs:comment "The EM-Light class has enumerated instances of what are considered visible or near-visible light." ;
-    rdfs:subClassOf s223:Medium-EM .
-
-
-            
-
-
- -
-

Electric breaker

-

URI: http://data.ashrae.org/standard223#ElectricBreaker

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:ElectricBreaker a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Electric breaker" ;
-    rdfs:comment "A piece of equipment designed to open the circuit automatically at a predetermined overcurrent without damage to itself (when properly applied within its rating)." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "An ElectricBreaker shall have at least one outlet using the medium Electricity." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:ElectricBreaker a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Electric breaker" ;
-    rdfs:comment "A piece of equipment designed to open the circuit automatically at a predetermined overcurrent without damage to itself (when properly applied within its rating)." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "An ElectricBreaker shall have at least one outlet using the medium Electricity." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Electric meter

-

URI: http://data.ashrae.org/standard223#ElectricMeter

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:ElectricMeter a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Electric meter" ;
-    rdfs:comment "A device that measures the properties of electric energy." ;
-    rdfs:subClassOf s223:Equipment .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:ElectricMeter a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Electric meter" ;
-    rdfs:comment "A device that measures the properties of electric energy." ;
-    rdfs:subClassOf s223:Equipment .
-
-
-            
-
-
- -
-

Electric outlet

-

URI: http://data.ashrae.org/standard223#ElectricOutlet

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:ElectricOutlet a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Electric outlet" ;
-    rdfs:comment "A device to which a piece of electrical equipment can be connected in order to provide it with electricity" ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "An ElectricOutlet shall have at least one outlet using the medium Electricity." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "An ElectricOutlet shall have exactly one inlet using the medium Electricity." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMaxCount 1 ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:ElectricOutlet a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Electric outlet" ;
-    rdfs:comment "A device to which a piece of electrical equipment can be connected in order to provide it with electricity" ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "An ElectricOutlet shall have at least one outlet using the medium Electricity." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "An ElectricOutlet shall have exactly one inlet using the medium Electricity." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMaxCount 1 ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Electric transformer

-

URI: http://data.ashrae.org/standard223#ElectricTransformer

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:ElectricTransformer a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Electric transformer" ;
-    rdfs:comment "A piece of electrical equipment used to convert alternative current (AC) electric power from one voltage to another voltage." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "An ElectricTransformer shall have at least one inlet using the medium Electricity." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "An ElectricTransformer shall have at least one outlet using the medium Electricity." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:ElectricTransformer a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Electric transformer" ;
-    rdfs:comment "A piece of electrical equipment used to convert alternative current (AC) electric power from one voltage to another voltage." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "An ElectricTransformer shall have at least one inlet using the medium Electricity." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "An ElectricTransformer shall have at least one outlet using the medium Electricity." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Electric wire

-

URI: http://data.ashrae.org/standard223#ElectricWire

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:ElectricWire a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Electric wire" ;
-    rdfs:comment "An ElectricWire is a subclass of Connection, that represents one or more electrical conductors used to convey electricity." ;
-    rdfs:subClassOf s223:Connection ;
-    sh:property [ rdfs:comment "An ElectricWire must be associated with exactly one Medium-Electricity using the relation hasMedium." ;
-            sh:class s223:Medium-Electricity ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:path s223:hasMedium ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:ElectricWire a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Electric wire" ;
-    rdfs:comment "An ElectricWire is a subclass of Connection, that represents one or more electrical conductors used to convey electricity." ;
-    rdfs:subClassOf s223:Connection ;
-    sh:property [ rdfs:comment "An ElectricWire must be associated with exactly one Medium-Electricity using the relation hasMedium." ;
-            sh:class s223:Medium-Electricity ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:path s223:hasMedium ] .
-
-
-            
-
-
- -
-

Electricity AC

-

URI: http://data.ashrae.org/standard223#Electricity-AC

-

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Electricity-AC a s223:Class,
-        s223:Electricity-AC,
-        sh:NodeShape ;
-    rdfs:label "Electricity AC" ;
-    s223:hasFrequency s223:Dimensioned-Frequency ;
-    s223:hasNumberOfElectricalPhases s223:Dimensionless-NumberOfElectricalPhases ;
-    s223:hasVoltage s223:Dimensioned-Voltage ;
-    rdfs:subClassOf s223:Medium-Electricity ;
-    sh:property [ rdfs:comment "An electricity AC medium must have a frequency" ;
-            sh:class_ s223:Dimensioned-Frequency ;
-            sh:minCount 1 ;
-            sh:path s223:hasFrequency ],
-        [ rdfs:comment "An electricity AC medium must have a number of electrical phases." ;
-            sh:class s223:Dimensionless-NumberOfElectricalPhases ;
-            sh:minCount 1 ;
-            sh:path s223:hasNumberOfElectricalPhases ],
-        [ rdfs:comment "An electricity AC medium must have a voltage." ;
-            sh:minCount 1 ;
-            sh:or ( [ sh:class s223:Dimensioned-LineLineVoltage ] [ sh:class s223:Dimensioned-LineNeutralVoltage ] [ sh:class s223:Dimensioned-Voltage ] ) ;
-            sh:path s223:hasVoltage ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Electricity-AC a s223:Class,
-        s223:Electricity-AC,
-        sh:NodeShape ;
-    rdfs:label "Electricity AC" ;
-    s223:hasFrequency s223:Dimensioned-Frequency ;
-    s223:hasNumberOfElectricalPhases s223:Dimensionless-NumberOfElectricalPhases ;
-    s223:hasVoltage s223:Dimensioned-Voltage ;
-    rdfs:subClassOf s223:Medium-Electricity ;
-    sh:property [ rdfs:comment "An electricity AC medium must have a frequency" ;
-            sh:class_ s223:Dimensioned-Frequency ;
-            sh:minCount 1 ;
-            sh:path s223:hasFrequency ],
-        [ rdfs:comment "An electricity AC medium must have a number of electrical phases." ;
-            sh:class s223:Dimensionless-NumberOfElectricalPhases ;
-            sh:minCount 1 ;
-            sh:path s223:hasNumberOfElectricalPhases ],
-        [ rdfs:comment "An electricity AC medium must have a voltage." ;
-            sh:minCount 1 ;
-            sh:or [ rdf:first [ ] ;
-                    rdf:rest [ ] ] ;
-            sh:path s223:hasVoltage ] .
-
-
-            
-
-
- -
-

Electricity DC

-

URI: http://data.ashrae.org/standard223#Electricity-DC

-

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Electricity-DC a s223:Class,
-        s223:Electricity-DC,
-        sh:NodeShape ;
-    rdfs:label "Electricity DC" ;
-    s223:hasVoltage s223:Dimensioned-Voltage ;
-    rdfs:subClassOf s223:Medium-Electricity ;
-    sh:property [ rdfs:comment "An electricity DC medium must have two reference voltages." ;
-            sh:minCount 1 ;
-            sh:or ( [ sh:class s223:Dimensioned-PositiveVoltage ] [ sh:class s223:Dimensioned-NegativeVoltage ] [ sh:class s223:Dimensioned-Voltage ] ) ;
-            sh:path s223:hasVoltage ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Electricity-DC a s223:Class,
-        s223:Electricity-DC,
-        sh:NodeShape ;
-    rdfs:label "Electricity DC" ;
-    s223:hasVoltage s223:Dimensioned-Voltage ;
-    rdfs:subClassOf s223:Medium-Electricity ;
-    sh:property [ rdfs:comment "An electricity DC medium must have two reference voltages." ;
-            sh:minCount 1 ;
-            sh:or [ rdf:first [ ] ;
-                    rdf:rest [ ] ] ;
-            sh:path s223:hasVoltage ] .
-
-
-            
-
-
- -
-

Electricity Signal

-

URI: http://data.ashrae.org/standard223#Electricity-Signal

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Electricity-Signal a s223:Class,
-        s223:Electricity-Signal,
-        sh:NodeShape ;
-    rdfs:label "Electricity Signal" ;
-    rdfs:comment "This class has enumerated instances of common communication protocols, mostly at the physical OSI layer." ;
-    rdfs:subClassOf s223:Medium-Electricity .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Electricity-Signal a s223:Class,
-        s223:Electricity-Signal,
-        sh:NodeShape ;
-    rdfs:label "Electricity Signal" ;
-    rdfs:comment "This class has enumerated instances of common communication protocols, mostly at the physical OSI layer." ;
-    rdfs:subClassOf s223:Medium-Electricity .
-
-
-            
-
-
- -
-

Enumerable Property

-

URI: http://data.ashrae.org/standard223#EnumerableProperty

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:EnumerableProperty a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Enumerable Property" ;
-    rdfs:comment "An EnumerableProperty is a property with an enumerated (fixed) set of possible values." ;
-    rdfs:subClassOf s223:Property ;
-    sh:property [ rdfs:comment "Checks for valid enumeration value consistent with the stated EnumerationKind." ;
-            sh:path s223:hasValue ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Checks for valid enumeration value consistent with the stated EnumerationKind." ;
-                    sh:message "{$this} has an enumeration value of {?value} which is not a valid {?kind}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT $this ?value ?kind
-WHERE {
-$this s223:hasValue ?value .
-$this s223:hasEnumerationKind ?kind .
-FILTER (NOT EXISTS {?value a/rdfs:subClassOf* ?kind}) .
-}
-""" ] ],
-        [ rdfs:comment "An EnumerableProperty must be associated with exactly one EnumerationKind using the relation hasEnumerationKind." ;
-            sh:class s223:EnumerationKind ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:path s223:hasEnumerationKind ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:EnumerableProperty a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Enumerable Property" ;
-    rdfs:comment "An EnumerableProperty is a property with an enumerated (fixed) set of possible values." ;
-    rdfs:subClassOf s223:Property ;
-    sh:property [ rdfs:comment "Checks for valid enumeration value consistent with the stated EnumerationKind." ;
-            sh:path s223:hasValue ;
-            sh:sparql [ ] ],
-        [ rdfs:comment "An EnumerableProperty must be associated with exactly one EnumerationKind using the relation hasEnumerationKind." ;
-            sh:class s223:EnumerationKind ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:path s223:hasEnumerationKind ] .
-
-
-            
-
-
- -
-

Enumerated actuatable property

-

URI: http://data.ashrae.org/standard223#EnumeratedActuatableProperty

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumeratedActuatableProperty a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Enumerated actuatable property" ;
-    rdfs:comment "An EnumeratedActuatableProperty is a property with an enumerated (fixed) set of possible values that can be changed (actuated)" ;
-    rdfs:subClassOf s223:ActuatableProperty,
-        s223:EnumerableProperty .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumeratedActuatableProperty a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Enumerated actuatable property" ;
-    rdfs:comment "An EnumeratedActuatableProperty is a property with an enumerated (fixed) set of possible values that can be changed (actuated)" ;
-    rdfs:subClassOf s223:ActuatableProperty,
-        s223:EnumerableProperty .
-
-
-            
-
-
- -
-

Enumerated observable property

-

URI: http://data.ashrae.org/standard223#EnumeratedObservableProperty

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumeratedObservableProperty a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Enumerated observable property" ;
-    rdfs:comment "An EnumeratedActuatableProperty is a property with an enumerated (fixed) set of possible values that can only be observed (not changed)" ;
-    rdfs:subClassOf s223:EnumerableProperty,
-        s223:ObservableProperty .
-
-
-        
- -

See Also

- - -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:EnumeratedObservableProperty a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Enumerated observable property" ;
-    rdfs:comment "An EnumeratedActuatableProperty is a property with an enumerated (fixed) set of possible values that can only be observed (not changed)" ;
-    rdfs:subClassOf s223:EnumerableProperty,
-        s223:ObservableProperty .
-
-s223:Sensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Sensor" ;
-    rdfs:comment "A Sensor observes an ObservableProperty (see `s223:ObservableProperty`) which may be quantifiable (see `s223:QuantifiableObservableProperty`), such as a temperature, flowrate, or concentration, or Enumerable (see `s223:EnumeratedObservableProperty)`, such as an alarm state or occupancy state." ;
-    rdfs:subClassOf s223:AbstractSensor ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the hasObservationLocation relationship for a Sensor from the Property that it is observing, only if that property is associated with a single entity." ;
-            sh:construct """
-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}
-}
-""" ;
-            sh:name "InferredMeasurementLocation" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ] ;
-    sh:xone ( [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation." ;
-                        sh:class s223:Connectable ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocation ] ] [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation." ;
-                        sh:class s223:Connection ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocation ] ] [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation." ;
-                        sh:class s223:ConnectionPoint ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocation ] ] ),
-        ( [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes." ;
-                        sh:class s223:QuantifiableObservableProperty ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:observes ] ] [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes." ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:observes ] ] ) .
-
-
-            
-
-
- -
-

Enumeration kind

-

URI: http://data.ashrae.org/standard223#EnumerationKind

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:EnumerationKind a s223:Class,
-        s223:EnumerationKind,
-        sh:NodeShape ;
-    rdfs:label "Enumeration kind" ;
-    rdfs:comment """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.
-  
-EnumeratinKinds are arranged in a tree hierarchy. 
-As you navigate down the tree each branch or leaf value is a more specific instance of the EnumerationKind. 
-Certain validation constraints exist in the standard that evaluate compatibility of EnumerationKinds. 
-Two values are deemed compatible if they are the same or if one is a direct ancestor (or descendant) of the other.""" ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "An EnumerationKind must not use the generalized hasProperty relation. Some EnumerationKinds have specifically-defined relations to Property." ;
-            sh:maxCount 0 ;
-            sh:path s223:hasProperty ] .
-
-
-        
- -

See Also

- - -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:HeatExchanger a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Heat exchanger" ;
-    rdfs:comment "A component intended to transfer heat from one medium to another while keeping the two media separate" ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A heat exchanger shall have at least 4 connection points." ;
-            sh:minCount 4 ;
-            sh:path s223:hasConnectionPoint ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the HeatExchanger with a EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ],
-        [ rdfs:comment "Heat Exchangers should have the same number of non-electrical inlet and outlet connection points." ;
-            sh:path s223:hasConnectionPoint ;
-            sh:severity sh:Warning ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Heat Exchangers should have the same number of non-electrical inlet and outlet connection points." ;
-                    sh:message "Number of inlets {?incount} are not equivalent with number of outlets {?outcount}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT DISTINCT $this ?incount ?outcount
-WHERE {
-{
-SELECT $this (COUNT (?cpin) AS ?incount)
-WHERE {
-?cpin a/rdfs:subClassOf* s223:InletConnectionPoint .
-$this s223:hasConnectionPoint ?cpin .
-?cpin s223:hasMedium ?inmedium .
-FILTER NOT EXISTS {
-    ?inmedium a/rdfs:subClassOf* s223:Medium-Electricity .
-  }
-}
-GROUP BY $this
-}
-{
-SELECT $this (COUNT (?cpout) AS ?outcount)
-WHERE {
-?cpout a/rdfs:subClassOf* s223:OutletConnectionPoint .
-$this s223:hasConnectionPoint ?cpout .
-?cpout s223:hasMedium ?outmedium .
-FILTER NOT EXISTS {
-    ?outmedium a/rdfs:subClassOf* s223:Medium-Electricity .
-  }
-}
-GROUP BY $this
-}
-FILTER (?incount != ?outcount)
-}
-""" ] ] .
-
-s223:Zone a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Zone" ;
-    rdfs:comment "A Zone is a logical grouping (collection) of domain spaces for some functional or system reason, to identify a domain of control, such as a Lighting Zone, or a heating zone" ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "The associated Domain of a Zone and the Domain of the DomainSpaces it contains must be the same." ;
-            sh:path s223:hasDomain ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "The associated Domain of a Zone and the Domain of the DomainSpaces it contains must be the same." ;
-                    sh:message "Zone {$this} has a Domain of {?domain}, but it contains a DomainSpace {?ds} which has a Domain of {?dsdomain}. These should be the same." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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)
-}
-""" ] ],
-        [ rdfs:comment "A Zone must be associated with exactly one EnumerationKind-Domain using the relation hasDomain." ;
-            sh:class s223:EnumerationKind-Domain ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:path s223:hasDomain ],
-        [ rdfs:comment "A Zone must be associated with at least one DomainSpace using the relation hasDomainSpace." ;
-            sh:class s223:DomainSpace ;
-            sh:minCount 1 ;
-            sh:path s223:hasDomainSpace ] ;
-    sh:rule [ a sh:TripleRule ;
-            rdfs:comment "Infer a hasDomain relation by checking any enclosed DomainSpaces to determine the domain." ;
-            sh:object [ sh:path ( s223:hasDomainSpace s223:hasDomain ) ] ;
-            sh:predicate s223:hasDomain ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer a hasDomain relation by checking any enclosing ZoneGroup to determine the domain." ;
-            sh:object [ sh:path ( [ sh:inversePath s223:hasZone ] s223:hasDomain ) ] ;
-            sh:predicate s223:hasDomain ;
-            sh:subject sh:this ] .
-
-s223:Context-Attribute a s223:Class,
-        s223:Context-Attribute,
-        sh:NodeShape ;
-    rdfs:label "Context-Attribute" ;
-    rdfs:comment "This class has enumerated instances to specify contexts used with the s223:hasAspect relation for a s223:Property with a non-numerical value." ;
-    rdfs:subClassOf s223:EnumerationKind-Context .
-
-s223:Context-Dimensioned a s223:Class,
-        s223:Context-Dimensioned,
-        sh:NodeShape ;
-    rdfs:label "Context-Dimensioned" ;
-    rdfs:comment "This class has enumerated instances of contexts often used with the s223:hasAspect relation for a s223:Property with a numerical value, unit and quantitykind." ;
-    rdfs:subClassOf s223:EnumerationKind-Context .
-
-s223:Context-Dimensionless a s223:Class,
-        s223:Context-Dimensionless,
-        sh:NodeShape ;
-    rdfs:label "Context-Dimensionless" ;
-    rdfs:comment "This class has enumerated instances of contexts often used with the s223:hasAspect relation for a s223:Property with a dimensionless numerical value." ;
-    rdfs:subClassOf s223:EnumerationKind-Context .
-
-s223:DomainSpace a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Domain Space" ;
-    rdfs:comment "A DomainSpace is a member (or component) of a Zone and is associated with a Domain such as Lighting, HVAC, PhysicalSecurity, etc. Physical spaces enclose Domain spaces." ;
-    rdfs:subClassOf s223:Connectable ;
-    sh:property [ rdfs:comment "A DomainSpace must be enclosed by a PhysicalSpace." ;
-            sh:message "A DomainSpace must be enclosed by a PhysicalSpace." ;
-            sh:minCount 1 ;
-            sh:path [ sh:inversePath s223:encloses ] ;
-            sh:severity sh:Info ],
-        [ rdfs:comment "A DomainSpace must be associated with exactly one EnumerationKind-Domain using the relation hasDomain." ;
-            sh:class s223:EnumerationKind-Domain ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:path s223:hasDomain ] ;
-    sh:rule [ a sh:TripleRule ;
-            rdfs:comment "Infer a hasDomain relation by checking any enclosing Zone to determine the domain." ;
-            sh:object [ sh:path ( [ sh:inversePath s223:hasDomainSpace ] s223:hasDomain ) ] ;
-            sh:predicate s223:hasDomain ;
-            sh:subject sh:this ] .
-
-s223:EnumerationKind a s223:Class,
-        s223:EnumerationKind,
-        sh:NodeShape ;
-    rdfs:label "Enumeration kind" ;
-    rdfs:comment """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.
-  
-EnumeratinKinds are arranged in a tree hierarchy. 
-As you navigate down the tree each branch or leaf value is a more specific instance of the EnumerationKind. 
-Certain validation constraints exist in the standard that evaluate compatibility of EnumerationKinds. 
-Two values are deemed compatible if they are the same or if one is a direct ancestor (or descendant) of the other.""" ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "An EnumerationKind must not use the generalized hasProperty relation. Some EnumerationKinds have specifically-defined relations to Property." ;
-            sh:maxCount 0 ;
-            sh:path s223:hasProperty ] .
-
-s223:EnumerationKind-Binary a s223:Class,
-        s223:EnumerationKind-Binary,
-        sh:NodeShape ;
-    rdfs:label "EnumerationKind Binary" ;
-    rdfs:comment "This class has enumerated instances of True, False and Unknown used to describe the possible values of a binary property" .
-
-s223:EnumerationKind-Direction a s223:Class,
-        s223:EnumerationKind-Direction,
-        sh:NodeShape ;
-    rdfs:label "Direction" ;
-    rdfs:comment "This class has enumerated instances of Bidirectional, Inlet and Outlet used to qualify ConnectionPoints." .
-
-s223:EnumerationKind-HVACOperatingMode a s223:Class,
-        s223:EnumerationKind-HVACOperatingMode,
-        sh:NodeShape ;
-    rdfs:label "HVAC operating mode" ;
-    rdfs:comment "HVACOperatingMode has enumerated instances of the policy under which the HVAC system or equipment is operating." .
-
-s223:EnumerationKind-HVACOperatingStatus a s223:Class,
-        s223:EnumerationKind-HVACOperatingStatus,
-        sh:NodeShape ;
-    rdfs:label "HVAC operating status" ;
-    rdfs:comment "HVACOperatingStatus has enumerated instances of the HVAC system/equipment operating status." .
-
-s223:EnumerationKind-OnOff a s223:Class,
-        s223:EnumerationKind-OnOff,
-        sh:NodeShape ;
-    rdfs:label "OnOff enumeration" ;
-    rdfs:comment "This class has enumerated instances of states of either on or off." .
-
-s223:EnumerationKind-PositionStatus a s223:Class,
-        s223:EnumerationKind-PositionStatus,
-        sh:NodeShape ;
-    rdfs:label "Position status" ;
-    rdfs:comment "This class has enumerated instances of position status such as closed or open." .
-
-s223:EnumerationKind-RunStatus a s223:Class,
-        s223:EnumerationKind-RunStatus,
-        sh:NodeShape ;
-    rdfs:label "Run status" ;
-    rdfs:comment "This class is a more general form of EnumerationKind-OnOff, allowing for additional status values beyond on or off." .
-
-s223:EnumerationKind-ThreeSpeedSetting a s223:Class,
-        s223:EnumerationKind-ThreeSpeedSetting,
-        sh:NodeShape ;
-    rdfs:label "Three speed setting" ;
-    rdfs:comment "This class has enumerated instances of speed settings of High, Medium, Low (plus Off)." .
-
-s223:Occupancy-Motion a s223:Class,
-        s223:Occupancy-Motion,
-        sh:NodeShape ;
-    rdfs:label "Occupancy Motion" ;
-    rdfs:comment "This class has enumerated instances indicating whether motion is detected or not." ;
-    rdfs:subClassOf s223:EnumerationKind-Occupancy .
-
-s223:Occupancy-Presence a s223:Class,
-        s223:Occupancy-Presence,
-        sh:NodeShape ;
-    rdfs:label "Occupancy Presence" ;
-    rdfs:comment "This class has enumerated instances indicating whether physical presence is detected or not." ;
-    rdfs:subClassOf s223:EnumerationKind-Occupancy .
-
-s223:Phase-Gas a s223:Class,
-        s223:Phase-Gas,
-        sh:NodeShape ;
-    rdfs:label "Phase-Gas" ;
-    rdfs:comment "This class has enumerated instances of gas in various thermodynamic states." ;
-    rdfs:subClassOf s223:EnumerationKind-Phase .
-
-s223:Phase-Liquid a s223:Class,
-        s223:Phase-Liquid,
-        sh:NodeShape ;
-    rdfs:label "Phase-Liquid" ;
-    rdfs:comment "This class has enumerated instances of liquid in various thermodynamic states." ;
-    rdfs:subClassOf s223:EnumerationKind-Phase .
-
-s223:Property a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Property" ;
-    rdfs:comment """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 - parent of subclass of properties that can be modified by user or machine outside of the model (typically command)
-ObservableProperty - parent of subclass of properties that can not be modified by user or machine outside of the model (typically measures)
-EnumerableProperty - parent of subclass of properties defined by EnumerationKind
-QuantifiableProperty - parent of subclass of properties defined by numerical values
-
-And their different associations :
-QuantifiableActuatableProperty
-QuantifiableObservableProperty
-EnumeratedObservableProperty
-EnumeratedActuatableProperty
-
-A QuantifiableProperty (or subClass thereof) must 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 the QuantityKind (the most general version).
-
-Enumerable properties must be associated with an EnumerationKind.
-""" ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "If the relation hasAspect is present it must associate the Property with an EnumerationKind." ;
-            sh:path s223:hasAspect ],
-        [ rdfs:comment "If the relation hasExternalReference is present it must associate the Property with an ExternalReference." ;
-            sh:class s223:ExternalReference ;
-            sh:path s223:hasExternalReference ],
-        [ rdfs:comment "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)" ;
-            sh:maxCount 1 ;
-            sh:path s223:hasValue ],
-        [ rdfs:comment "A Property can be associated with at most one EnumerationKind-Medium using the relation ofMedium" ;
-            sh:class s223:Substance-Medium ;
-            sh:maxCount 1 ;
-            sh:path s223:ofMedium ],
-        [ rdfs:comment "A Property can be associated with at most one EnumerationKind-Substance using the relation ofSubstance" ;
-            sh:class s223:EnumerationKind-Substance ;
-            sh:maxCount 1 ;
-            sh:path s223:ofSubstance ],
-        [ rdfs:comment "A Property can be associated with at most one FunctionBlock using the inverse relation hasOutput." ;
-            sh:class s223:FunctionBlock ;
-            sh:maxCount 1 ;
-            sh:message "A Property can be associated with at most one FunctionBlock using the inverse relation hasOutput." ;
-            sh:path [ sh:inversePath s223:hasOutput ] ] ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "A Property instance cannot be declared an instance of both an ActuatableProperty and an ObservableProperty." ;
-            sh:message "{$this} cannot be declared an instance of both an ActuatableProperty and an ObservableProperty." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-SELECT $this
-WHERE {
-$this a/rdfs:subClassOf* s223:ActuatableProperty .
-$this a/rdfs:subClassOf* s223:ObservableProperty .
-}
-""" ] .
-
-s223:Substance-Particulate a s223:Class,
-        s223:Substance-Particulate,
-        sh:NodeShape ;
-    rdfs:label "Particulate" ;
-    rdfs:comment "This class has enumerated instances of particulates in various size ranges." ;
-    rdfs:subClassOf s223:EnumerationKind-Substance .
-
-s223:System a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "System" ;
-    rdfs:comment "A System is a logical grouping (collection) of Equipment for some functional or system reason, such as a chilled water system, or HVAC system. A System does not participate in Connections." ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ a sh:PropertyShape ;
-            rdfs:comment "A System can be associated with zero or any number of other instances of Equipment or System using the relation hasMember" ;
-            sh:minCount 2 ;
-            sh:or ( [ sh:class s223:Equipment ] [ sh:class s223:System ] ) ;
-            sh:path s223:hasMember ;
-            sh:severity sh:Warning ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the System with an EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ] .
-
-s223:hasConstituent a rdf:Property ;
-    rdfs:label "has constituent" ;
-    rdfs:comment "The relation hasConstituent is used to indicate what substances constitute a material. The possible values are defined in EnumerationKind-Substance (see `s223:EnumerationKind-Substance`)." .
-
-s223:Connection a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Connection" ;
-    rdfs:comment """A Connection is the modeling construct used to represent a physical thing (e.g., pipe, duct, or wire) that is used to convey some Medium (e.g., water, air, or electricity) between two connectable things. All Connections have two or more ConnectionPoints bound to either Equipment (see `s223:Equipment`), DomainSpace (see `s223:DomainSpace`), or Junction (see `s223:Junction`) See Figure . If the direction of flow is constrained, that constraint is indicated by using one or more InletConnectionPoints (see `s223:InletConnectionPoint`) to represent the inflow points and OutletConnectionPoints (see `s223:OutletConnectionPoint`) to represent the outflow points.
-  
-A Connection may contain branches or intersections. These may be modeled using Junctions if it is necessary to identify a specific intersection. (see `s223:Junction`).
-![Graphical Depiction of Connection.](figures/Figure_5-3_Connection.svg)
-""" ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "A Connection must only have a cnx relation with a ConnectionPoint" ;
-            sh:path s223:cnx ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "A Connection must only have a cnx relation with a ConnectionPoint" ;
-                    sh:message "{$this} cannot have a s223:cnx relation to {?something}, because {?something} is not a ConnectionPoint." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """SELECT $this ?something
-WHERE {
-$this s223:cnx ?something .
-FILTER NOT EXISTS {?something a/rdfs:subClassOf* s223:ConnectionPoint} .
-}""" ] ],
-        [ rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Connection." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Connection." ;
-                    sh:message "{$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ] ],
-        [ rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-                    sh:message "{?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ] ],
-        [ rdfs:comment "If the relation connectsAt is present it must associate the Connection with a ConnectionPoint." ;
-            sh:class s223:ConnectionPoint ;
-            sh:path s223:connectsAt ],
-        [ rdfs:comment "If the relation connectsFrom is present it must associate the Connection with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "ConnectionToUpstreamConnectableShape" ;
-            sh:path s223:connectsFrom ],
-        [ rdfs:comment "If the relation connectsTo is present it must associate the Connection with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "ConnectionToDownstreamConnectableShape" ;
-            sh:path s223:connectsTo ],
-        [ rdfs:comment "A Connection must be associated with exactly one EnumerationKind-Medium using the relation hasMedium." ;
-            sh:class s223:Substance-Medium ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:name "Connection medium" ;
-            sh:path s223:hasMedium ],
-        [ rdfs:comment "A Connection can be associated with an EnumerationKind-Phase using the relation hasPhase." ;
-            sh:class s223:EnumerationKind-Phase ;
-            sh:maxCount 1 ;
-            sh:path s223:hasPhase ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the Connection with an EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ],
-        [ rdfs:comment "A Connection must have two or more cnx relations to ConnectionPoints" ;
-            sh:class s223:ConnectionPoint ;
-            sh:message "A Connection must have two or more cnx relations to ConnectionPoints" ;
-            sh:minCount 2 ;
-            sh:path s223:cnx ;
-            sh:severity sh:Info ] ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectsFrom relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectsFrom ?equipment .}
-WHERE {
-$this s223:connectsAt ?cp .
-?cp a s223:OutletConnectionPoint .
-?cp s223:isConnectionPointOf ?equipment .
-}
-""" ;
-            sh:name "InferredConnectionToUpstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectsTo relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectsTo ?equipment .}
-WHERE {
-$this s223:connectsAt ?cp .
-?cp a s223:InletConnectionPoint .
-?cp s223:isConnectionPointOf ?equipment .
-}
-""" ;
-            sh:name "InferredConnectionToDownstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer cnx relationship from connectsAt",
-                "InferredConnectionToConnectionPointBaseProperty" ;
-            sh:object [ sh:path s223:connectsAt ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer cnx relationship from connectsThrough",
-                "InferredConnectionToConnectionPointBasePropertyFromInverse" ;
-            sh:object [ sh:path [ sh:inversePath s223:connectsThrough ] ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the connectsAt relationship from cnx",
-                "InferredConnectionToConnectionPointProperty" ;
-            sh:object [ sh:path s223:cnx ] ;
-            sh:predicate s223:connectsAt ;
-            sh:subject sh:this ] .
-
-s223:EnumerationKind-Domain a s223:Class,
-        s223:EnumerationKind-Domain,
-        sh:NodeShape ;
-    rdfs:label "EnumerationKind Domain" ;
-    rdfs:comment "A Domain represents a categorization of building services or specialization used to characterize equipment or spaces in a building. Example domains include HVAC, Lighting, and Plumbing." .
-
-s223:EnumerationKind-Occupancy a s223:Class,
-        s223:EnumerationKind-Occupancy,
-        sh:NodeShape ;
-    rdfs:label "Occupancy status" ;
-    rdfs:comment "This class has enumerated instances of occupancy status, i.e. the state of being used or occupied." .
-
-s223:Equipment a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Equipment" ;
-    rdfs:comment """An Equipment is the modeling construct used to represent a mechanical device designed to accomplish a specific task that one might buy from a vendor. Examples of possible equipment include a pump, fan, heat exchanger, luminaire, temperature sensor, or flow meter.
-  The Graphical depiction of Equipment used in this standard is a rounded cornered rectangle as show in Figure 5-1.
-  ![Graphical Depiction of Equipment.](figures/Figure_5-1Graphical_Depiciton_of_Equipment.svg)""" ;
-    rdfs:subClassOf s223:Connectable ;
-    sh:property [ a sh:PropertyShape ;
-            rdfs:comment "If the relation contains is present it must associate the Equipment with either Equipment or Junction." ;
-            sh:name "device contains shape" ;
-            sh:or ( [ sh:class s223:Equipment ] [ sh:class s223:Junction ] ) ;
-            sh:path s223:contains ],
-        [ rdfs:comment "If the relation commandedByProperty is present it must associate the Equipment with a ActuatableProperty." ;
-            sh:class s223:ActuatableProperty ;
-            sh:path s223:commandedByProperty ],
-        [ rdfs:comment "If the relation executes is present it must associate the Equipment with a FunctionBlock." ;
-            sh:class s223:FunctionBlock ;
-            sh:path s223:executes ],
-        [ rdfs:comment "If the relation hasPhysicalLocation is present it must associate the Equipment with a PhysicalSpace." ;
-            sh:class s223:PhysicalSpace ;
-            sh:path s223:hasPhysicalLocation ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the Equipment with a EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ],
-        [ rdfs:comment "If a contained equipment has external connections, make sure that the containing equipment has the same external connections." ;
-            sh:path s223:connectedFrom ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "If a contained equipment has external connections, make sure that the containing equipment has the same external connections." ;
-                    sh:message "{?container} does not have a connectedFrom relation to {?otherDev} even though {?container} contains {$this} which does." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 .}
-FILTER NOT EXISTS {?container s223:connectedFrom ?otherDev .}
-}
-""" ] ],
-        [ rdfs:comment "Make sure that a containing Equipment inherits the outgoing connectedTo relations of contained Equipment if they are not internal connections." ;
-            sh:path s223:connectedTo ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Make sure that a containing Equipment inherits the outgoing connectedTo relations of contained Equipment if they are not internal connections." ;
-                    sh:message "{?container} does not have a connectedTo relation to {?otherDev} even though {?container} contains {$this} which does." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 .}
-FILTER NOT EXISTS {?container s223:connectedTo ?otherDev .}
-}
-""" ] ],
-        [ rdfs:comment "Warning about a subClass of Equipment of type A containing something that is in the same subClass branch." ;
-            sh:path s223:contains ;
-            sh:severity sh:Warning ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Warning about a subClass of Equipment of type A containing something that is in the same subClass branch." ;
-                    sh:message "{$this}, of type {?type1}, contains {?subEquip} of type {?type2}, that could result in double-counting items in the class hierarchy of {?type1}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 .
-}
-}
-""" ] ] ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "For equipment contained within another piece of equipment use the mapsTo relation to infer a Medium from the containing equipment." ;
-            sh:construct """
-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} .
-}
-""" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:SPARQLRule ;
-            rdfs:comment "For equipment containing another piece of equipment, use the mapsTo relation to infer a Medium from the contained equipment." ;
-            sh:construct """
-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} .
-}
-""" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ] .
-
-s223:ConnectionPoint a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "ConnectionPoint" ;
-    s223:abstract true ;
-    rdfs:comment """
-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 and DomainSpaces can have one or more ConnectionPoints (see `s223:Connectable` and `s223:Connection`).
-
-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.
-
-ConnectionPoints 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 connection as shown in Figure 6-1. 
-
-![Graphical Representation of a ConnectionPoint.](figures/Figure_5-2_Graphical_Depiciton_of_Connection_Points.svg)
-
- """ ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "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." ;
-            sh:path s223:connectsThrough ;
-            sh:severity sh:Info ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "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." ;
-                    sh:message "ConnectionPoint {$this} probably needs an association with a Connection." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-    SELECT $this 
-    WHERE {
-        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} .
-        }
-        """ ] ],
-        [ rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the entity identified by the mapsTo+ relation." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the entity identified by the mapsTo+ relation." ;
-                    sh:message "{$this} declares a Medium of {?a}, but the Medium of {?b} is declared by {?target} pointed to by the mapsTo+ relation." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT DISTINCT $this ?a ?b ?target
-WHERE {
-$this s223:hasMedium ?a .
-$this s223:mapsTo+ ?target .
-?target s223:hasMedium ?b .
-?a a/rdfs:subClassOf* s223:EnumerationKind-Medium .
-?b a/rdfs:subClassOf* s223:EnumerationKind-Medium .
-FILTER (?a != ?b ) .
-FILTER (NOT EXISTS {?b a/rdfs:subClassOf* ?a}) .
-FILTER (NOT EXISTS {?a a/rdfs:subClassOf* ?b}) .
-}
-""" ] ],
-        [ rdfs:comment "A ConnectionPoint must not have both a mapsTo and a connectsThrough relation." ;
-            sh:path s223:mapsTo ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "A ConnectionPoint must not have both a mapsTo and a connectsThrough relation." ;
-                    sh:message "{$this} cannot have both a mapsTo {?uppercp} and a connectsThrough {?connection}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT $this ?uppercp ?connection
-WHERE {
-$this s223:mapsTo ?uppercp .
-$this s223:connectsThrough ?connection .
-?connection a/rdfs:subClassOf* s223:Connection .
-}
-""" ] ],
-        [ rdfs:comment "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." ;
-            sh:path s223:mapsTo ;
-            sh:severity sh:Info ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "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." ;
-                    sh:message "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}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-    SELECT $this ?containerEquipment
-    WHERE {
-        FILTER NOT EXISTS {$this s223:connectsThrough ?anything1} .
-        FILTER NOT EXISTS {$this s223:mapsTo ?anything2} .
-        $this s223:isConnectionPointOf ?equipment .
-        ?containerEquipment s223:contains ?equipment .
-        }
-        """ ] ],
-        [ rdfs:comment "If a ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment should have a contains relation." ;
-            sh:path s223:mapsTo ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "If a ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment should have a contains relation." ;
-                    sh:message "{?otherEquipment} should contain {?equipment} because ConnectionPoint {$this} has a mapsTo relation." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT $this ?equipment ?otherEquipment
-WHERE {
-$this s223:mapsTo ?otherCP .
-?equipment s223:hasConnectionPoint $this .
-?otherEquipment s223:hasConnectionPoint ?otherCP .
-FILTER NOT EXISTS {?otherEquipment s223:contains ?equipment}
-}
-""" ] ],
-        [ rdfs:comment "A ConnectionPoint must be associated with at most one Connectable using the cnx relation." ;
-            sh:message "A ConnectionPoint must be associated with at most one Connectable using the cnx relation." ;
-            sh:path s223:cnx ;
-            sh:qualifiedMaxCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:Connectable ] ;
-            sh:qualifiedValueShapesDisjoint true ],
-        [ rdfs:comment "A ConnectionPoint must be associated with at most one Connection using the cnx relation" ;
-            sh:message "A ConnectionPoint must be associated with at most one Connection using the cnx relation" ;
-            sh:path s223:cnx ;
-            sh:qualifiedMaxCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:Connection ] ;
-            sh:qualifiedValueShapesDisjoint true ],
-        [ rdfs:comment "A ConnectionPoint must be associated with at most one Connection using the relation connectsThrough." ;
-            sh:class s223:Connection ;
-            sh:maxCount 1 ;
-            sh:message "This ConnectionPoint must be associated with at most one Connection." ;
-            sh:name "ConnectionPointToConnectionShape" ;
-            sh:path s223:connectsThrough ;
-            sh:severity sh:Info ],
-        [ rdfs:comment "A ConnectionPoint must be associated with exactly one EnumerationKind-Medium using the relation hasMedium." ;
-            sh:class s223:Substance-Medium ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:name "ConnectionPoint medium" ;
-            sh:path s223:hasMedium ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the ConnectionPoint with an EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ],
-        [ rdfs:comment "A ConnectionPoint must be associated with exactly one Connectable using the relation isConnectionPointOf." ;
-            sh:class s223:Connectable ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:name "ConnectionPointToEquipmentShape" ;
-            sh:path s223:isConnectionPointOf ],
-        [ rdfs:comment "A ConnectionPoint can be associated with at most one other ConnectionPoint using the relation mapsTo" ;
-            sh:class s223:ConnectionPoint ;
-            sh:maxCount 1 ;
-            sh:path s223:mapsTo ],
-        [ rdfs:comment "A ConnectionPoint can be associated with at most one other ConnectionPoint using the inverse of relation mapsTo" ;
-            sh:class s223:ConnectionPoint ;
-            sh:maxCount 1 ;
-            sh:path [ sh:inversePath s223:mapsTo ] ] .
-
-s223:EnumerationKind-Context a s223:Class,
-        s223:EnumerationKind-Context,
-        sh:NodeShape ;
-    rdfs:label "EnumerationKind-Context" ;
-    rdfs:comment "This class has enumerated instances to specify contexts used with the s223:hasAspect relation for a s223:Property." .
-
-s223:EnumerationKind-Phase a s223:Class,
-        s223:EnumerationKind-Phase,
-        sh:NodeShape ;
-    rdfs:label "EnumerationKind-Phase" ;
-    rdfs:comment "This class has enumerated instances of thermodynamic phase, i.e. states of matter." .
-
-s223:EnumerationKind-Substance a s223:Class,
-        s223:EnumerationKind-Substance,
-        sh:NodeShape ;
-    rdfs:label "Substance" ;
-    rdfs:comment "This class has enumerated instances of the substances that are consumed, produced, transported, sensed, controlled or otherwise interacted with (e.g. water, air, etc.)." ;
-    sh:property [ rdfs:comment "If the relation hasConstituent is present, it must associate an EnumerationKind-Substance with one or more Properties that identify and characterize those constituents." ;
-            sh:class s223:Property ;
-            sh:path s223:hasConstituent ] .
-
-s223:Substance-Medium a s223:Class,
-        s223:Substance-Medium,
-        sh:NodeShape ;
-    rdfs:label "Medium" ;
-    rdfs:comment "This class has enumerated instances of a physical substance or anything that allows for the transfer of energy or information." ;
-    rdfs:subClassOf s223:EnumerationKind-Substance .
-
-s223:hasMedium a rdf:Property ;
-    rdfs:label "has Medium" ;
-    rdfs:comment "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 EnumerationKind-Medium (see `s223:EnumerationKind-Medium`)." .
-
-s223:hasRole a rdf:Property ;
-    rdfs:label "hasRole" ;
-    rdfs:comment "The relation hasRole is used to indicate the role of an Equipment, Connection, ConnectionPoint, or System within a building (e.g., a heating coil will be associated with Role-Heating). Possible values are defined in EnumerationKind-Role (see `s223:EnumerationKind-Role`)." .
-
-s223:mapsTo a rdf:Property ;
-    rdfs:label "mapsTo" ;
-    rdfs:comment "The relation mapsTo is used to associate a ConnectionPoint of an Equipment to a corresponding ConnectionPoint of the Equipment containing it. The associated ConnectionPoints must have the same direction (see `s223:EnumerationKind-Direction`)." .
-
-s223:EnumerationKind-Role a s223:Class,
-        s223:EnumerationKind-Role,
-        sh:NodeShape ;
-    rdfs:label "Role" ;
-    rdfs:comment "This class has enumerated instances of roles played by entities, such as cooling, generator, relief, return." .
-
-s223:hasDomain a rdf:Property ;
-    rdfs:label "has domain" ;
-    rdfs:comment "The relation hasDomain is used to indicate what domain a Zone or DomainSpace pertains to (e.g. HVAC, lighting, electrical, etc.). Possible values are defined in EnumerationKind-Domain (see `s223:EnumerationKind-Domain`)." .
-
-
-            
-
-
- -
-

EnumerationKind Binary

-

URI: http://data.ashrae.org/standard223#EnumerationKind-Binary

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumerationKind-Binary a s223:Class,
-        s223:EnumerationKind-Binary,
-        sh:NodeShape ;
-    rdfs:label "EnumerationKind Binary" ;
-    rdfs:comment "This class has enumerated instances of True, False and Unknown used to describe the possible values of a binary property" ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumerationKind-Binary a s223:Class,
-        s223:EnumerationKind-Binary,
-        sh:NodeShape ;
-    rdfs:label "EnumerationKind Binary" ;
-    rdfs:comment "This class has enumerated instances of True, False and Unknown used to describe the possible values of a binary property" ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-            
-
-
- -
-

EnumerationKind-Context

-

URI: http://data.ashrae.org/standard223#EnumerationKind-Context

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumerationKind-Context a s223:Class,
-        s223:EnumerationKind-Context,
-        sh:NodeShape ;
-    rdfs:label "EnumerationKind-Context" ;
-    rdfs:comment "This class has enumerated instances to specify contexts used with the s223:hasAspect relation for a s223:Property." ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumerationKind-Context a s223:Class,
-        s223:EnumerationKind-Context,
-        sh:NodeShape ;
-    rdfs:label "EnumerationKind-Context" ;
-    rdfs:comment "This class has enumerated instances to specify contexts used with the s223:hasAspect relation for a s223:Property." ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-            
-
-
- -
-

Direction

-

URI: http://data.ashrae.org/standard223#EnumerationKind-Direction

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumerationKind-Direction a s223:Class,
-        s223:EnumerationKind-Direction,
-        sh:NodeShape ;
-    rdfs:label "Direction" ;
-    rdfs:comment "This class has enumerated instances of Bidirectional, Inlet and Outlet used to qualify ConnectionPoints." ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:mapsTo a rdf:Property ;
-    rdfs:label "mapsTo" ;
-    rdfs:comment "The relation mapsTo is used to associate a ConnectionPoint of an Equipment to a corresponding ConnectionPoint of the Equipment containing it. The associated ConnectionPoints must have the same direction (see `s223:EnumerationKind-Direction`)." .
-
-s223:EnumerationKind-Direction a s223:Class,
-        s223:EnumerationKind-Direction,
-        sh:NodeShape ;
-    rdfs:label "Direction" ;
-    rdfs:comment "This class has enumerated instances of Bidirectional, Inlet and Outlet used to qualify ConnectionPoints." ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-            
-
-
- -
-

EnumerationKind Domain

-

URI: http://data.ashrae.org/standard223#EnumerationKind-Domain

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumerationKind-Domain a s223:Class,
-        s223:EnumerationKind-Domain,
-        sh:NodeShape ;
-    rdfs:label "EnumerationKind Domain" ;
-    rdfs:comment "A Domain represents a categorization of building services or specialization used to characterize equipment or spaces in a building. Example domains include HVAC, Lighting, and Plumbing." ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:hasDomain a rdf:Property ;
-    rdfs:label "has domain" ;
-    rdfs:comment "The relation hasDomain is used to indicate what domain a Zone or DomainSpace pertains to (e.g. HVAC, lighting, electrical, etc.). Possible values are defined in EnumerationKind-Domain (see `s223:EnumerationKind-Domain`)." .
-
-s223:EnumerationKind-Domain a s223:Class,
-        s223:EnumerationKind-Domain,
-        sh:NodeShape ;
-    rdfs:label "EnumerationKind Domain" ;
-    rdfs:comment "A Domain represents a categorization of building services or specialization used to characterize equipment or spaces in a building. Example domains include HVAC, Lighting, and Plumbing." ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-            
-
-
- -
-

HVAC operating mode

-

URI: http://data.ashrae.org/standard223#EnumerationKind-HVACOperatingMode

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumerationKind-HVACOperatingMode a s223:Class,
-        s223:EnumerationKind-HVACOperatingMode,
-        sh:NodeShape ;
-    rdfs:label "HVAC operating mode" ;
-    rdfs:comment "HVACOperatingMode has enumerated instances of the policy under which the HVAC system or equipment is operating." ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumerationKind-HVACOperatingMode a s223:Class,
-        s223:EnumerationKind-HVACOperatingMode,
-        sh:NodeShape ;
-    rdfs:label "HVAC operating mode" ;
-    rdfs:comment "HVACOperatingMode has enumerated instances of the policy under which the HVAC system or equipment is operating." ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-            
-
-
- -
-

HVAC operating status

-

URI: http://data.ashrae.org/standard223#EnumerationKind-HVACOperatingStatus

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumerationKind-HVACOperatingStatus a s223:Class,
-        s223:EnumerationKind-HVACOperatingStatus,
-        sh:NodeShape ;
-    rdfs:label "HVAC operating status" ;
-    rdfs:comment "HVACOperatingStatus has enumerated instances of the HVAC system/equipment operating status." ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumerationKind-HVACOperatingStatus a s223:Class,
-        s223:EnumerationKind-HVACOperatingStatus,
-        sh:NodeShape ;
-    rdfs:label "HVAC operating status" ;
-    rdfs:comment "HVACOperatingStatus has enumerated instances of the HVAC system/equipment operating status." ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-            
-
-
- -
-

Occupancy status

-

URI: http://data.ashrae.org/standard223#EnumerationKind-Occupancy

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumerationKind-Occupancy a s223:Class,
-        s223:EnumerationKind-Occupancy,
-        sh:NodeShape ;
-    rdfs:label "Occupancy status" ;
-    rdfs:comment "This class has enumerated instances of occupancy status, i.e. the state of being used or occupied." ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumerationKind-Occupancy a s223:Class,
-        s223:EnumerationKind-Occupancy,
-        sh:NodeShape ;
-    rdfs:label "Occupancy status" ;
-    rdfs:comment "This class has enumerated instances of occupancy status, i.e. the state of being used or occupied." ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-            
-
-
- -
-

OnOff enumeration

-

URI: http://data.ashrae.org/standard223#EnumerationKind-OnOff

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumerationKind-OnOff a s223:Class,
-        s223:EnumerationKind-OnOff,
-        sh:NodeShape ;
-    rdfs:label "OnOff enumeration" ;
-    rdfs:comment "This class has enumerated instances of states of either on or off." ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumerationKind-OnOff a s223:Class,
-        s223:EnumerationKind-OnOff,
-        sh:NodeShape ;
-    rdfs:label "OnOff enumeration" ;
-    rdfs:comment "This class has enumerated instances of states of either on or off." ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-            
-
-
- -
-

EnumerationKind-Phase

-

URI: http://data.ashrae.org/standard223#EnumerationKind-Phase

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumerationKind-Phase a s223:Class,
-        s223:EnumerationKind-Phase,
-        sh:NodeShape ;
-    rdfs:label "EnumerationKind-Phase" ;
-    rdfs:comment "This class has enumerated instances of thermodynamic phase, i.e. states of matter." ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumerationKind-Phase a s223:Class,
-        s223:EnumerationKind-Phase,
-        sh:NodeShape ;
-    rdfs:label "EnumerationKind-Phase" ;
-    rdfs:comment "This class has enumerated instances of thermodynamic phase, i.e. states of matter." ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-            
-
-
- -
-

Position status

-

URI: http://data.ashrae.org/standard223#EnumerationKind-PositionStatus

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumerationKind-PositionStatus a s223:Class,
-        s223:EnumerationKind-PositionStatus,
-        sh:NodeShape ;
-    rdfs:label "Position status" ;
-    rdfs:comment "This class has enumerated instances of position status such as closed or open." ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumerationKind-PositionStatus a s223:Class,
-        s223:EnumerationKind-PositionStatus,
-        sh:NodeShape ;
-    rdfs:label "Position status" ;
-    rdfs:comment "This class has enumerated instances of position status such as closed or open." ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-            
-
-
- -
-

Role

-

URI: http://data.ashrae.org/standard223#EnumerationKind-Role

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumerationKind-Role a s223:Class,
-        s223:EnumerationKind-Role,
-        sh:NodeShape ;
-    rdfs:label "Role" ;
-    rdfs:comment "This class has enumerated instances of roles played by entities, such as cooling, generator, relief, return." ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:hasRole a rdf:Property ;
-    rdfs:label "hasRole" ;
-    rdfs:comment "The relation hasRole is used to indicate the role of an Equipment, Connection, ConnectionPoint, or System within a building (e.g., a heating coil will be associated with Role-Heating). Possible values are defined in EnumerationKind-Role (see `s223:EnumerationKind-Role`)." .
-
-s223:EnumerationKind-Role a s223:Class,
-        s223:EnumerationKind-Role,
-        sh:NodeShape ;
-    rdfs:label "Role" ;
-    rdfs:comment "This class has enumerated instances of roles played by entities, such as cooling, generator, relief, return." ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-            
-
-
- -
-

Run status

-

URI: http://data.ashrae.org/standard223#EnumerationKind-RunStatus

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumerationKind-RunStatus a s223:Class,
-        s223:EnumerationKind-RunStatus,
-        sh:NodeShape ;
-    rdfs:label "Run status" ;
-    rdfs:comment "This class is a more general form of EnumerationKind-OnOff, allowing for additional status values beyond on or off." ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumerationKind-RunStatus a s223:Class,
-        s223:EnumerationKind-RunStatus,
-        sh:NodeShape ;
-    rdfs:label "Run status" ;
-    rdfs:comment "This class is a more general form of EnumerationKind-OnOff, allowing for additional status values beyond on or off." ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-            
-
-
- -
-

Substance

-

URI: http://data.ashrae.org/standard223#EnumerationKind-Substance

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumerationKind-Substance a s223:Class,
-        s223:EnumerationKind-Substance,
-        sh:NodeShape ;
-    rdfs:label "Substance" ;
-    rdfs:comment "This class has enumerated instances of the substances that are consumed, produced, transported, sensed, controlled or otherwise interacted with (e.g. water, air, etc.)." ;
-    rdfs:subClassOf s223:EnumerationKind ;
-    sh:property [ rdfs:comment "If the relation hasConstituent is present, it must associate an EnumerationKind-Substance with one or more Properties that identify and characterize those constituents." ;
-            sh:class s223:Property ;
-            sh:path s223:hasConstituent ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumerationKind-Substance a s223:Class,
-        s223:EnumerationKind-Substance,
-        sh:NodeShape ;
-    rdfs:label "Substance" ;
-    rdfs:comment "This class has enumerated instances of the substances that are consumed, produced, transported, sensed, controlled or otherwise interacted with (e.g. water, air, etc.)." ;
-    rdfs:subClassOf s223:EnumerationKind ;
-    sh:property [ rdfs:comment "If the relation hasConstituent is present, it must associate an EnumerationKind-Substance with one or more Properties that identify and characterize those constituents." ;
-            sh:class s223:Property ;
-            sh:path s223:hasConstituent ] .
-
-s223:hasConstituent a rdf:Property ;
-    rdfs:label "has constituent" ;
-    rdfs:comment "The relation hasConstituent is used to indicate what substances constitute a material. The possible values are defined in EnumerationKind-Substance (see `s223:EnumerationKind-Substance`)." .
-
-
-            
-
-
- -
-

Three speed setting

-

URI: http://data.ashrae.org/standard223#EnumerationKind-ThreeSpeedSetting

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumerationKind-ThreeSpeedSetting a s223:Class,
-        s223:EnumerationKind-ThreeSpeedSetting,
-        sh:NodeShape ;
-    rdfs:label "Three speed setting" ;
-    rdfs:comment "This class has enumerated instances of speed settings of High, Medium, Low (plus Off)." ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:EnumerationKind-ThreeSpeedSetting a s223:Class,
-        s223:EnumerationKind-ThreeSpeedSetting,
-        sh:NodeShape ;
-    rdfs:label "Three speed setting" ;
-    rdfs:comment "This class has enumerated instances of speed settings of High, Medium, Low (plus Off)." ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-            
-
-
- -
-

Equipment

-

URI: http://data.ashrae.org/standard223#Equipment

-

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Equipment a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Equipment" ;
-    rdfs:comment """An Equipment is the modeling construct used to represent a mechanical device designed to accomplish a specific task that one might buy from a vendor. Examples of possible equipment include a pump, fan, heat exchanger, luminaire, temperature sensor, or flow meter.
-  The Graphical depiction of Equipment used in this standard is a rounded cornered rectangle as show in Figure 5-1.
-  ![Graphical Depiction of Equipment.](figures/Figure_5-1Graphical_Depiciton_of_Equipment.svg)""" ;
-    rdfs:subClassOf s223:Connectable ;
-    sh:property [ a sh:PropertyShape ;
-            rdfs:comment "If the relation contains is present it must associate the Equipment with either Equipment or Junction." ;
-            sh:name "device contains shape" ;
-            sh:or ( [ sh:class s223:Equipment ] [ sh:class s223:Junction ] ) ;
-            sh:path s223:contains ],
-        [ rdfs:comment "If the relation commandedByProperty is present it must associate the Equipment with a ActuatableProperty." ;
-            sh:class s223:ActuatableProperty ;
-            sh:path s223:commandedByProperty ],
-        [ rdfs:comment "If the relation executes is present it must associate the Equipment with a FunctionBlock." ;
-            sh:class s223:FunctionBlock ;
-            sh:path s223:executes ],
-        [ rdfs:comment "If the relation hasPhysicalLocation is present it must associate the Equipment with a PhysicalSpace." ;
-            sh:class s223:PhysicalSpace ;
-            sh:path s223:hasPhysicalLocation ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the Equipment with a EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ],
-        [ rdfs:comment "If a contained equipment has external connections, make sure that the containing equipment has the same external connections." ;
-            sh:path s223:connectedFrom ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "If a contained equipment has external connections, make sure that the containing equipment has the same external connections." ;
-                    sh:message "{?container} does not have a connectedFrom relation to {?otherDev} even though {?container} contains {$this} which does." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 .}
-FILTER NOT EXISTS {?container s223:connectedFrom ?otherDev .}
-}
-""" ] ],
-        [ rdfs:comment "Make sure that a containing Equipment inherits the outgoing connectedTo relations of contained Equipment if they are not internal connections." ;
-            sh:path s223:connectedTo ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Make sure that a containing Equipment inherits the outgoing connectedTo relations of contained Equipment if they are not internal connections." ;
-                    sh:message "{?container} does not have a connectedTo relation to {?otherDev} even though {?container} contains {$this} which does." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 .}
-FILTER NOT EXISTS {?container s223:connectedTo ?otherDev .}
-}
-""" ] ],
-        [ rdfs:comment "Warning about a subClass of Equipment of type A containing something that is in the same subClass branch." ;
-            sh:path s223:contains ;
-            sh:severity sh:Warning ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Warning about a subClass of Equipment of type A containing something that is in the same subClass branch." ;
-                    sh:message "{$this}, of type {?type1}, contains {?subEquip} of type {?type2}, that could result in double-counting items in the class hierarchy of {?type1}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 .
-}
-}
-""" ] ] ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "For equipment contained within another piece of equipment use the mapsTo relation to infer a Medium from the containing equipment." ;
-            sh:construct """
-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} .
-}
-""" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:SPARQLRule ;
-            rdfs:comment "For equipment containing another piece of equipment, use the mapsTo relation to infer a Medium from the contained equipment." ;
-            sh:construct """
-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} .
-}
-""" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ] .
-
-
-        
- -

See Also

- - -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Connection a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Connection" ;
-    rdfs:comment """A Connection is the modeling construct used to represent a physical thing (e.g., pipe, duct, or wire) that is used to convey some Medium (e.g., water, air, or electricity) between two connectable things. All Connections have two or more ConnectionPoints bound to either Equipment (see `s223:Equipment`), DomainSpace (see `s223:DomainSpace`), or Junction (see `s223:Junction`) See Figure . If the direction of flow is constrained, that constraint is indicated by using one or more InletConnectionPoints (see `s223:InletConnectionPoint`) to represent the inflow points and OutletConnectionPoints (see `s223:OutletConnectionPoint`) to represent the outflow points.
-  
-A Connection may contain branches or intersections. These may be modeled using Junctions if it is necessary to identify a specific intersection. (see `s223:Junction`).
-![Graphical Depiction of Connection.](figures/Figure_5-3_Connection.svg)
-""" ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "A Connection must only have a cnx relation with a ConnectionPoint" ;
-            sh:path s223:cnx ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "A Connection must only have a cnx relation with a ConnectionPoint" ;
-                    sh:message "{$this} cannot have a s223:cnx relation to {?something}, because {?something} is not a ConnectionPoint." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """SELECT $this ?something
-WHERE {
-$this s223:cnx ?something .
-FILTER NOT EXISTS {?something a/rdfs:subClassOf* s223:ConnectionPoint} .
-}""" ] ],
-        [ rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Connection." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Connection." ;
-                    sh:message "{$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ] ],
-        [ rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-                    sh:message "{?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ] ],
-        [ rdfs:comment "If the relation connectsAt is present it must associate the Connection with a ConnectionPoint." ;
-            sh:class s223:ConnectionPoint ;
-            sh:path s223:connectsAt ],
-        [ rdfs:comment "If the relation connectsFrom is present it must associate the Connection with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "ConnectionToUpstreamConnectableShape" ;
-            sh:path s223:connectsFrom ],
-        [ rdfs:comment "If the relation connectsTo is present it must associate the Connection with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "ConnectionToDownstreamConnectableShape" ;
-            sh:path s223:connectsTo ],
-        [ rdfs:comment "A Connection must be associated with exactly one EnumerationKind-Medium using the relation hasMedium." ;
-            sh:class s223:Substance-Medium ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:name "Connection medium" ;
-            sh:path s223:hasMedium ],
-        [ rdfs:comment "A Connection can be associated with an EnumerationKind-Phase using the relation hasPhase." ;
-            sh:class s223:EnumerationKind-Phase ;
-            sh:maxCount 1 ;
-            sh:path s223:hasPhase ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the Connection with an EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ],
-        [ rdfs:comment "A Connection must have two or more cnx relations to ConnectionPoints" ;
-            sh:class s223:ConnectionPoint ;
-            sh:message "A Connection must have two or more cnx relations to ConnectionPoints" ;
-            sh:minCount 2 ;
-            sh:path s223:cnx ;
-            sh:severity sh:Info ] ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectsFrom relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectsFrom ?equipment .}
-WHERE {
-$this s223:connectsAt ?cp .
-?cp a s223:OutletConnectionPoint .
-?cp s223:isConnectionPointOf ?equipment .
-}
-""" ;
-            sh:name "InferredConnectionToUpstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectsTo relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectsTo ?equipment .}
-WHERE {
-$this s223:connectsAt ?cp .
-?cp a s223:InletConnectionPoint .
-?cp s223:isConnectionPointOf ?equipment .
-}
-""" ;
-            sh:name "InferredConnectionToDownstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer cnx relationship from connectsAt",
-                "InferredConnectionToConnectionPointBaseProperty" ;
-            sh:object [ sh:path s223:connectsAt ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer cnx relationship from connectsThrough",
-                "InferredConnectionToConnectionPointBasePropertyFromInverse" ;
-            sh:object [ sh:path [ sh:inversePath s223:connectsThrough ] ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the connectsAt relationship from cnx",
-                "InferredConnectionToConnectionPointProperty" ;
-            sh:object [ sh:path s223:cnx ] ;
-            sh:predicate s223:connectsAt ;
-            sh:subject sh:this ] .
-
-s223:InletConnectionPoint a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Inlet Connection Point" ;
-    rdfs:comment "An InletConnectionPoint indicates that a substance must flow into the equipment or domain space at this connection point and cannot flow the other direction. An IntletConnectionPoint is a subclass of ConnectionPoint." ;
-    rdfs:subClassOf s223:ConnectionPoint ;
-    sh:property [ rdfs:comment "Ensure an InletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection" ;
-            sh:path s223:mapsTo ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure an InletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection" ;
-                    sh:message "{$this} must have a mapsTo an InletConnectionPoint of {?parentEquipment} because {$this} has an external Connection from {?sourceEquipment}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT $this ?parentEquipment ?sourceEquipment
-WHERE {
-?equipment s223:hasConnectionPoint $this .
-?equipment a/rdfs:subClassOf* s223:Equipment .
-?parentEquipment s223:contains ?equipment .
-$this s223:connectsThrough/s223:connectsFrom ?sourceEquipment .
-FILTER NOT EXISTS {?parentEquipment s223:contains ?sourceEquipment} .
-FILTER NOT EXISTS {$this s223:mapsTo ?anything} .
-}
-""" ] ],
-        [ rdfs:comment "If the relation mapsTo is present it must associate the InletConnectionPoint with an InletConnectionPoint." ;
-            sh:class s223:InletConnectionPoint ;
-            sh:path s223:mapsTo ] .
-
-s223:OutletConnectionPoint a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Outlet Connection Point" ;
-    rdfs:comment "An OutletConnectionPoint indicates that a substance must flow out of the domain space at this connection point and cannot flow in the other direction. An OutletConnectionPoint is a predefined subclass of ConnectionPoint." ;
-    rdfs:subClassOf s223:ConnectionPoint ;
-    sh:property [ rdfs:comment "Ensure an OutletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection" ;
-            sh:path s223:mapsTo ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure an OutletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection" ;
-                    sh:message "{$this} must have a mapsTo an OutletConnectionPoint of {?parentEquipment} because {$this} has an external Connection to {?destinationEquipment}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT $this ?parentEquipment ?destinationEquipment
-WHERE {
-?equipment s223:hasConnectionPoint $this .
-?equipment a/rdfs:subClassOf* s223:Equipment .
-?parentEquipment s223:contains ?equipment .
-$this s223:connectsThrough/s223:connectsTo ?destinationEquipment .
-FILTER NOT EXISTS {?parentEquipment s223:contains ?destinationEquipment} .
-FILTER NOT EXISTS {$this s223:mapsTo ?anything} .
-}
-""" ] ],
-        [ rdfs:comment "If the relation mapsTo is present it must associate the OutletConnectionPoint with an OutletConnectionPoint." ;
-            sh:class s223:OutletConnectionPoint ;
-            sh:path s223:mapsTo ] .
-
-s223:hasPhysicalLocation a rdf:Property ;
-    rdfs:label "has Physical Location" ;
-    rdfs:comment "The relation hasPhysicalLocation is used to indicate the physical space (see `s223:PhysicalSpace`) where a piece of equipment (see `s223:Equipment`) is located." .
-
-s223:Equipment a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Equipment" ;
-    rdfs:comment """An Equipment is the modeling construct used to represent a mechanical device designed to accomplish a specific task that one might buy from a vendor. Examples of possible equipment include a pump, fan, heat exchanger, luminaire, temperature sensor, or flow meter.
-  The Graphical depiction of Equipment used in this standard is a rounded cornered rectangle as show in Figure 5-1.
-  ![Graphical Depiction of Equipment.](figures/Figure_5-1Graphical_Depiciton_of_Equipment.svg)""" ;
-    rdfs:subClassOf s223:Connectable ;
-    sh:property [ a sh:PropertyShape ;
-            rdfs:comment "If the relation contains is present it must associate the Equipment with either Equipment or Junction." ;
-            sh:name "device contains shape" ;
-            sh:or [ rdf:first [ ] ;
-                    rdf:rest [ ] ] ;
-            sh:path s223:contains ],
-        [ rdfs:comment "If the relation commandedByProperty is present it must associate the Equipment with a ActuatableProperty." ;
-            sh:class s223:ActuatableProperty ;
-            sh:path s223:commandedByProperty ],
-        [ rdfs:comment "If the relation executes is present it must associate the Equipment with a FunctionBlock." ;
-            sh:class s223:FunctionBlock ;
-            sh:path s223:executes ],
-        [ rdfs:comment "If the relation hasPhysicalLocation is present it must associate the Equipment with a PhysicalSpace." ;
-            sh:class s223:PhysicalSpace ;
-            sh:path s223:hasPhysicalLocation ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the Equipment with a EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ],
-        [ rdfs:comment "If a contained equipment has external connections, make sure that the containing equipment has the same external connections." ;
-            sh:path s223:connectedFrom ;
-            sh:sparql [ ] ],
-        [ rdfs:comment "Make sure that a containing Equipment inherits the outgoing connectedTo relations of contained Equipment if they are not internal connections." ;
-            sh:path s223:connectedTo ;
-            sh:sparql [ ] ],
-        [ rdfs:comment "Warning about a subClass of Equipment of type A containing something that is in the same subClass branch." ;
-            sh:path s223:contains ;
-            sh:severity sh:Warning ;
-            sh:sparql [ ] ] ;
-    sh:rule [ ],
-        [ ] .
-
-s223:connectedFrom a rdf:Property ;
-    rdfs:label "connected from" ;
-    s223:inverseOf s223:connectedTo ;
-    rdfs:comment "The relation connectedFrom means that connectable things are connected with a specific flow direction. B is connectedFrom A, means a directionality beginning at A and ending at B.  The inverse direction is indicated by connectedTo (see `s223:connectedTo`)." ;
-    rdfs:domain s223:Equipment .
-
-s223:connectedTo a rdf:Property ;
-    rdfs:label "connected to" ;
-    s223:inverseOf s223:connectedFrom ;
-    rdfs:comment "The relation connectedTo indicates that connectable things are connected with a specific flow direction. A is connectedTo B, means a directionality beginning at A and ending at B.  The inverse direction is indicated by connectedFrom (see `s223:connectedFrom`)." ;
-    rdfs:domain s223:Equipment .
-
-
-            
-
-
- -
-

Ethernet switch

-

URI: http://data.ashrae.org/standard223#EthernetSwitch

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:EthernetSwitch a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Ethernet switch" ;
-    rdfs:comment "A device that connects wired devices such as computers, laptops, routers, servers, and printers to one another." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "An EthernetSwitch shall have at least one BidirectionalConnectionPoint using the medium Electricity." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:EthernetSwitch a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Ethernet switch" ;
-    rdfs:comment "A device that connects wired devices such as computers, laptops, routers, servers, and printers to one another." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "An EthernetSwitch shall have at least one BidirectionalConnectionPoint using the medium Electricity." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

ExternalReference

-

URI: http://data.ashrae.org/standard223#ExternalReference

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:ExternalReference a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "ExternalReference" ;
-    s223:abstract true ;
-    rdfs:comment "ExternalReference is an abstract class that represents a thing that contains API or protocol parameter values necessary to associate a property with a value." ;
-    rdfs:subClassOf s223:Concept .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:ExternalReference a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "ExternalReference" ;
-    s223:abstract true ;
-    rdfs:comment "ExternalReference is an abstract class that represents a thing that contains API or protocol parameter values necessary to associate a property with a value." ;
-    rdfs:subClassOf s223:Concept .
-
-
-            
-
-
- -
-

Fan

-

URI: http://data.ashrae.org/standard223#Fan

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Fan a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Fan" ;
-    rdfs:comment "A machine used to create flow within a gas such as air. " ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Fan shall have at least one inlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "A Fan shall have at least one outlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-
-        
- -

See Also

- - -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Fan a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Fan" ;
-    rdfs:comment "A machine used to create flow within a gas such as air. " ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Fan shall have at least one inlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A Fan shall have at least one outlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-s223:FanCoilUnit a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Fan coil unit" ;
-    rdfs:comment "A device consisting of a heat exchanger (coil) and a fan to regulate the temperature of one or more spaces." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A FanCoilUnit must be associated with at least 1 Coil using the relation contains." ;
-            sh:minCount 1 ;
-            sh:path s223:contains ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:Coil ] ],
-        [ rdfs:comment "A FanCoilUnit must be associated with at least 1 Fan using the relation contains." ;
-            sh:minCount 1 ;
-            sh:path s223:contains ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A FanCoilUnit shall have at least one inlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "A FanCoilUnit shall have at least one outlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "A FanCoilUnit must at least have the role Role-Heating or Role-Cooling." ;
-            sh:minCount 1 ;
-            sh:path s223:hasRole ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:in ( s223:Role-Heating s223:Role-Cooling ) ] ] .
-
-s223:FanPoweredTerminal a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Fan Powered Air Terminal" ;
-    rdfs:comment "An air terminal containing a fan. Airflow may pass through or be parallel to the fan. These units may also have supplemental heating or cooling." ;
-    rdfs:subClassOf s223:TerminalUnit ;
-    sh:property [ rdfs:comment "A FanPoweredTerminal must be associated with at least 1 Fan by contains" ;
-            sh:minCount 1 ;
-            sh:path s223:contains ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Fan coil unit

-

URI: http://data.ashrae.org/standard223#FanCoilUnit

-

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:FanCoilUnit a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Fan coil unit" ;
-    rdfs:comment "A device consisting of a heat exchanger (coil) and a fan to regulate the temperature of one or more spaces." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A FanCoilUnit must be associated with at least 1 Coil using the relation contains." ;
-            sh:minCount 1 ;
-            sh:path s223:contains ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:Coil ] ],
-        [ rdfs:comment "A FanCoilUnit must be associated with at least 1 Fan using the relation contains." ;
-            sh:minCount 1 ;
-            sh:path s223:contains ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:Fan ] ],
-        [ rdfs:comment "A FanCoilUnit shall have at least one inlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "A FanCoilUnit shall have at least one outlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "A FanCoilUnit must at least have the role Role-Heating or Role-Cooling." ;
-            sh:minCount 1 ;
-            sh:path s223:hasRole ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:in ( s223:Role-Heating s223:Role-Cooling ) ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:FanCoilUnit a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Fan coil unit" ;
-    rdfs:comment "A device consisting of a heat exchanger (coil) and a fan to regulate the temperature of one or more spaces." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A FanCoilUnit must be associated with at least 1 Coil using the relation contains." ;
-            sh:minCount 1 ;
-            sh:path s223:contains ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A FanCoilUnit must be associated with at least 1 Fan using the relation contains." ;
-            sh:minCount 1 ;
-            sh:path s223:contains ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A FanCoilUnit shall have at least one inlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A FanCoilUnit shall have at least one outlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A FanCoilUnit must at least have the role Role-Heating or Role-Cooling." ;
-            sh:minCount 1 ;
-            sh:path s223:hasRole ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Fan Powered Air Terminal

-

URI: http://data.ashrae.org/standard223#FanPoweredTerminal

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:FanPoweredTerminal a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Fan Powered Air Terminal" ;
-    rdfs:comment "An air terminal containing a fan. Airflow may pass through or be parallel to the fan. These units may also have supplemental heating or cooling." ;
-    rdfs:subClassOf s223:TerminalUnit ;
-    sh:property [ rdfs:comment "A FanPoweredTerminal must be associated with at least 1 Fan by contains" ;
-            sh:minCount 1 ;
-            sh:path s223:contains ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:Fan ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:FanPoweredTerminal a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Fan Powered Air Terminal" ;
-    rdfs:comment "An air terminal containing a fan. Airflow may pass through or be parallel to the fan. These units may also have supplemental heating or cooling." ;
-    rdfs:subClassOf s223:TerminalUnit ;
-    sh:property [ rdfs:comment "A FanPoweredTerminal must be associated with at least 1 Fan by contains" ;
-            sh:minCount 1 ;
-            sh:path s223:contains ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Filter

-

URI: http://data.ashrae.org/standard223#Filter

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Filter a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Filter" ;
-    rdfs:comment "A device that removes contaminates from gases or liquids." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Filter shall have at least one inlet." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ] ],
-        [ rdfs:comment "A Filter shall have at least one outlet." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Filter a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Filter" ;
-    rdfs:comment "A device that removes contaminates from gases or liquids." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Filter shall have at least one inlet." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A Filter shall have at least one outlet." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Flow sensor

-

URI: http://data.ashrae.org/standard223#FlowSensor

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:FlowSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Flow sensor" ;
-    rdfs:comment "A FlowSensor is a specialization of a Sensor that produces an ObservableProperty that is quantifiable and represents a flow measurement." ;
-    rdfs:subClassOf s223:Sensor .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:FlowSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Flow sensor" ;
-    rdfs:comment "A FlowSensor is a specialization of a Sensor that produces an ObservableProperty that is quantifiable and represents a flow measurement." ;
-    rdfs:subClassOf s223:Sensor .
-
-
-            
-
-
- -
-

Fume hood

-

URI: http://data.ashrae.org/standard223#FumeHood

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:FumeHood a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Fume hood" ;
-    rdfs:comment "A fume-collection device mounted over a work space, table, or shelf and serving to conduct unwanted gases away from an area." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A FumeHood shall have at least one inlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "A FumeHood shall have at least one outlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:FumeHood a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Fume hood" ;
-    rdfs:comment "A fume-collection device mounted over a work space, table, or shelf and serving to conduct unwanted gases away from an area." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A FumeHood shall have at least one inlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A FumeHood shall have at least one outlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Function block

-

URI: http://data.ashrae.org/standard223#FunctionBlock

-

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:FunctionBlock a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Function block" ;
-    rdfs:comment "A FunctionBlock 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." ;
-    rdfs:subClassOf s223:Concept ;
-    sh:or ( [ sh:property [ rdfs:comment "A Function block must be associated with at least one Property using the relation hasInput." ;
-                        sh:class s223:Property ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasInput ] ] [ sh:property [ rdfs:comment "A Function block must be associated with at least one Property using the relation hasOutput." ;
-                        sh:class s223:Property ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasOutput ] ] ) .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:FunctionBlock a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Function block" ;
-    rdfs:comment "A FunctionBlock 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." ;
-    rdfs:subClassOf s223:Concept ;
-    sh:or [ rdf:first [ ] ;
-            rdf:rest [ ] ] .
-
-s223:executes a rdf:Property ;
-    rdfs:label "executes" ;
-    rdfs:comment "The relation executes is used to specify that a controller (see `s223:Controller`) is responsible for the execution of a function block (see `s223:FunctionBlock`). " .
-
-s223:hasInput a rdf:Property ;
-    rdfs:label "has function input" ;
-    rdfs:comment "The relation hasInput is used to relate a function input (see `s223:FunctionInput`) to a function block (see `s223:FunctionBlock`). " .
-
-s223:hasOutput a rdf:Property ;
-    rdfs:label "has function output" ;
-    rdfs:comment "The relation hasOutput is used to relate a function output (see `s223:FunctionOutput`) to a function block (see `s223:FunctionBlock`). " .
-
-
-            
-
-
- -
-

Furnace

-

URI: http://data.ashrae.org/standard223#Furnace

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Furnace a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Furnace" ;
-    rdfs:comment "An enclosed chamber or structure in which heat is produced, as by burning fuel or by converting electrical energy. " ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Furnace shall have at least one inlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "A Furnace shall have at least one outlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Furnace a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Furnace" ;
-    rdfs:comment "An enclosed chamber or structure in which heat is produced, as by burning fuel or by converting electrical energy. " ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Furnace shall have at least one inlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A Furnace shall have at least one outlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Generator

-

URI: http://data.ashrae.org/standard223#Generator

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Generator a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Generator" ;
-    rdfs:comment "An energy transducer that transforms non-electric energy into electric energy." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Generator shall have at least one outlet using the medium Electricity." ;
-            sh:class s223:OutletConnectionPoint ;
-            sh:minCount 1 ;
-            sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                            sh:path s223:hasMedium ] ] ;
-            sh:path s223:hasConnectionPoint ],
-        [ rdfs:comment "A Generator must be associated with at least one ConnectionPoint using the relation hasConnectionPoint." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Generator a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Generator" ;
-    rdfs:comment "An energy transducer that transforms non-electric energy into electric energy." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Generator shall have at least one outlet using the medium Electricity." ;
-            sh:class s223:OutletConnectionPoint ;
-            sh:minCount 1 ;
-            sh:node [ ] ;
-            sh:path s223:hasConnectionPoint ],
-        [ rdfs:comment "A Generator must be associated with at least one ConnectionPoint using the relation hasConnectionPoint." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ] .
-
-
-            
-
-
- -
-

Heat exchanger

-

URI: http://data.ashrae.org/standard223#HeatExchanger

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:HeatExchanger a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Heat exchanger" ;
-    rdfs:comment "A component intended to transfer heat from one medium to another while keeping the two media separate" ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A heat exchanger shall have at least 4 connection points." ;
-            sh:minCount 4 ;
-            sh:path s223:hasConnectionPoint ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the HeatExchanger with a EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ],
-        [ rdfs:comment "Heat Exchangers should have the same number of non-electrical inlet and outlet connection points." ;
-            sh:path s223:hasConnectionPoint ;
-            sh:severity sh:Warning ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Heat Exchangers should have the same number of non-electrical inlet and outlet connection points." ;
-                    sh:message "Number of inlets {?incount} are not equivalent with number of outlets {?outcount}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT DISTINCT $this ?incount ?outcount
-WHERE {
-{
-SELECT $this (COUNT (?cpin) AS ?incount)
-WHERE {
-?cpin a/rdfs:subClassOf* s223:InletConnectionPoint .
-$this s223:hasConnectionPoint ?cpin .
-?cpin s223:hasMedium ?inmedium .
-FILTER NOT EXISTS {
-    ?inmedium a/rdfs:subClassOf* s223:Medium-Electricity .
-  }
-}
-GROUP BY $this
-}
-{
-SELECT $this (COUNT (?cpout) AS ?outcount)
-WHERE {
-?cpout a/rdfs:subClassOf* s223:OutletConnectionPoint .
-$this s223:hasConnectionPoint ?cpout .
-?cpout s223:hasMedium ?outmedium .
-FILTER NOT EXISTS {
-    ?outmedium a/rdfs:subClassOf* s223:Medium-Electricity .
-  }
-}
-GROUP BY $this
-}
-FILTER (?incount != ?outcount)
-}
-""" ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:HeatExchanger a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Heat exchanger" ;
-    rdfs:comment "A component intended to transfer heat from one medium to another while keeping the two media separate" ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A heat exchanger shall have at least 4 connection points." ;
-            sh:minCount 4 ;
-            sh:path s223:hasConnectionPoint ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the HeatExchanger with a EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ],
-        [ rdfs:comment "Heat Exchangers should have the same number of non-electrical inlet and outlet connection points." ;
-            sh:path s223:hasConnectionPoint ;
-            sh:severity sh:Warning ;
-            sh:sparql [ ] ] .
-
-
-            
-
-
- -
-

HeatPump

-

URI: http://data.ashrae.org/standard223#HeatPump

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:HeatPump a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "HeatPump" ;
-    rdfs:comment "A device that can heat or cool by transferring thermal energy using a reversible refrigeration cycle." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A HeatPump shall have at least one inlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "A HeatPump shall have at least one outlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:HeatPump a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "HeatPump" ;
-    rdfs:comment "A device that can heat or cool by transferring thermal energy using a reversible refrigeration cycle." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A HeatPump shall have at least one inlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A HeatPump shall have at least one outlet using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Heating coil

-

URI: http://data.ashrae.org/standard223#HeatingCoil

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:HeatingCoil a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Heating coil" ;
-    rdfs:comment "A coil that provides heating." ;
-    rdfs:subClassOf s223:Coil ;
-    sh:property [ rdfs:comment "A heating coil must be related to the role 'Role-Heating' using the relation 'hasRole'." ;
-            sh:hasValue s223:Role-Heating ;
-            sh:minCount 1 ;
-            sh:path s223:hasRole ] ;
-    sh:rule [ a sh:TripleRule ;
-            rdfs:comment "Heating coils will always have the role Role-Heating" ;
-            sh:object s223:Role-Heating ;
-            sh:predicate s223:hasRole ;
-            sh:subject sh:this ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:HeatingCoil a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Heating coil" ;
-    rdfs:comment "A coil that provides heating." ;
-    rdfs:subClassOf s223:Coil ;
-    sh:property [ rdfs:comment "A heating coil must be related to the role 'Role-Heating' using the relation 'hasRole'." ;
-            sh:hasValue s223:Role-Heating ;
-            sh:minCount 1 ;
-            sh:path s223:hasRole ] ;
-    sh:rule [ ] .
-
-
-            
-
-
- -
-

Humidifier

-

URI: http://data.ashrae.org/standard223#Humidifier

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Humidifier a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Humidifier" ;
-    rdfs:comment "A piece of equipment to add moisture to a gas such as air." ;
-    rdfs:subClassOf s223:Equipment .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Humidifier a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Humidifier" ;
-    rdfs:comment "A piece of equipment to add moisture to a gas such as air." ;
-    rdfs:subClassOf s223:Equipment .
-
-
-            
-
-
- -
-

Humidistat

-

URI: http://data.ashrae.org/standard223#Humidistat

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Humidistat a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Humidistat" ;
-    rdfs:comment "An automatic control device used to maintain humidity at a fixed or adjustable setpoint." ;
-    rdfs:subClassOf s223:Equipment .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Humidistat a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Humidistat" ;
-    rdfs:comment "An automatic control device used to maintain humidity at a fixed or adjustable setpoint." ;
-    rdfs:subClassOf s223:Equipment .
-
-
-            
-
-
- -
-

Humidity sensor

-

URI: http://data.ashrae.org/standard223#HumiditySensor

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:HumiditySensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Humidity sensor" ;
-    rdfs:comment "A HumiditySensor is a specialization of a Sensor that observes a QuantifiableObservableProperty that represents a humidity measurement. " ;
-    rdfs:subClassOf s223:Sensor ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "A HumiditySensor must always observe a Property that has a QuantityKind of RelativeHumidity." ;
-            sh:construct """
-CONSTRUCT {?prop qudt:hasQuantityKind qudtqk:RelativeHumidity .}
-WHERE {
-  $this s223:observes ?prop .
-}
-""" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:HumiditySensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Humidity sensor" ;
-    rdfs:comment "A HumiditySensor is a specialization of a Sensor that observes a QuantifiableObservableProperty that represents a humidity measurement. " ;
-    rdfs:subClassOf s223:Sensor ;
-    sh:rule [ ] .
-
-
-            
-
-
- -
-

Illuminance sensor

-

URI: http://data.ashrae.org/standard223#IlluminanceSensor

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:IlluminanceSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Illuminance sensor" ;
-    rdfs:comment "A subclass of LightSensor that observes the level of illuminance." ;
-    rdfs:subClassOf s223:LightSensor ;
-    sh:property [ rdfs:comment "An IlluminanceSensor will always observe a Property that has a QuantityKind of Illuminance." ;
-            sh:path s223:observes ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:Property ;
-                    sh:node [ sh:property [ sh:hasValue <http://qudt.org/vocab/quantitykind/Illuminance> ;
-                                    sh:path <http://qudt.org/schema/qudt/hasQuantityKind> ] ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:IlluminanceSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Illuminance sensor" ;
-    rdfs:comment "A subclass of LightSensor that observes the level of illuminance." ;
-    rdfs:subClassOf s223:LightSensor ;
-    sh:property [ rdfs:comment "An IlluminanceSensor will always observe a Property that has a QuantityKind of Illuminance." ;
-            sh:path s223:observes ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Inlet Connection Point

-

URI: http://data.ashrae.org/standard223#InletConnectionPoint

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:InletConnectionPoint a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Inlet Connection Point" ;
-    rdfs:comment "An InletConnectionPoint indicates that a substance must flow into the equipment or domain space at this connection point and cannot flow the other direction. An IntletConnectionPoint is a subclass of ConnectionPoint." ;
-    rdfs:subClassOf s223:ConnectionPoint ;
-    sh:property [ rdfs:comment "Ensure an InletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection" ;
-            sh:path s223:mapsTo ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure an InletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection" ;
-                    sh:message "{$this} must have a mapsTo an InletConnectionPoint of {?parentEquipment} because {$this} has an external Connection from {?sourceEquipment}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT $this ?parentEquipment ?sourceEquipment
-WHERE {
-?equipment s223:hasConnectionPoint $this .
-?equipment a/rdfs:subClassOf* s223:Equipment .
-?parentEquipment s223:contains ?equipment .
-$this s223:connectsThrough/s223:connectsFrom ?sourceEquipment .
-FILTER NOT EXISTS {?parentEquipment s223:contains ?sourceEquipment} .
-FILTER NOT EXISTS {$this s223:mapsTo ?anything} .
-}
-""" ] ],
-        [ rdfs:comment "If the relation mapsTo is present it must associate the InletConnectionPoint with an InletConnectionPoint." ;
-            sh:class s223:InletConnectionPoint ;
-            sh:path s223:mapsTo ] .
-
-
-        
- -

See Also

- - -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:HeatExchanger a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Heat exchanger" ;
-    rdfs:comment "A component intended to transfer heat from one medium to another while keeping the two media separate" ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A heat exchanger shall have at least 4 connection points." ;
-            sh:minCount 4 ;
-            sh:path s223:hasConnectionPoint ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the HeatExchanger with a EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ],
-        [ rdfs:comment "Heat Exchangers should have the same number of non-electrical inlet and outlet connection points." ;
-            sh:path s223:hasConnectionPoint ;
-            sh:severity sh:Warning ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Heat Exchangers should have the same number of non-electrical inlet and outlet connection points." ;
-                    sh:message "Number of inlets {?incount} are not equivalent with number of outlets {?outcount}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT DISTINCT $this ?incount ?outcount
-WHERE {
-{
-SELECT $this (COUNT (?cpin) AS ?incount)
-WHERE {
-?cpin a/rdfs:subClassOf* s223:InletConnectionPoint .
-$this s223:hasConnectionPoint ?cpin .
-?cpin s223:hasMedium ?inmedium .
-FILTER NOT EXISTS {
-    ?inmedium a/rdfs:subClassOf* s223:Medium-Electricity .
-  }
-}
-GROUP BY $this
-}
-{
-SELECT $this (COUNT (?cpout) AS ?outcount)
-WHERE {
-?cpout a/rdfs:subClassOf* s223:OutletConnectionPoint .
-$this s223:hasConnectionPoint ?cpout .
-?cpout s223:hasMedium ?outmedium .
-FILTER NOT EXISTS {
-    ?outmedium a/rdfs:subClassOf* s223:Medium-Electricity .
-  }
-}
-GROUP BY $this
-}
-FILTER (?incount != ?outcount)
-}
-""" ] ] .
-
-s223:Connection a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Connection" ;
-    rdfs:comment """A Connection is the modeling construct used to represent a physical thing (e.g., pipe, duct, or wire) that is used to convey some Medium (e.g., water, air, or electricity) between two connectable things. All Connections have two or more ConnectionPoints bound to either Equipment (see `s223:Equipment`), DomainSpace (see `s223:DomainSpace`), or Junction (see `s223:Junction`) See Figure . If the direction of flow is constrained, that constraint is indicated by using one or more InletConnectionPoints (see `s223:InletConnectionPoint`) to represent the inflow points and OutletConnectionPoints (see `s223:OutletConnectionPoint`) to represent the outflow points.
-  
-A Connection may contain branches or intersections. These may be modeled using Junctions if it is necessary to identify a specific intersection. (see `s223:Junction`).
-![Graphical Depiction of Connection.](figures/Figure_5-3_Connection.svg)
-""" ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "A Connection must only have a cnx relation with a ConnectionPoint" ;
-            sh:path s223:cnx ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "A Connection must only have a cnx relation with a ConnectionPoint" ;
-                    sh:message "{$this} cannot have a s223:cnx relation to {?something}, because {?something} is not a ConnectionPoint." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """SELECT $this ?something
-WHERE {
-$this s223:cnx ?something .
-FILTER NOT EXISTS {?something a/rdfs:subClassOf* s223:ConnectionPoint} .
-}""" ] ],
-        [ rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Connection." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Connection." ;
-                    sh:message "{$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ] ],
-        [ rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-                    sh:message "{?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ] ],
-        [ rdfs:comment "If the relation connectsAt is present it must associate the Connection with a ConnectionPoint." ;
-            sh:class s223:ConnectionPoint ;
-            sh:path s223:connectsAt ],
-        [ rdfs:comment "If the relation connectsFrom is present it must associate the Connection with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "ConnectionToUpstreamConnectableShape" ;
-            sh:path s223:connectsFrom ],
-        [ rdfs:comment "If the relation connectsTo is present it must associate the Connection with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "ConnectionToDownstreamConnectableShape" ;
-            sh:path s223:connectsTo ],
-        [ rdfs:comment "A Connection must be associated with exactly one EnumerationKind-Medium using the relation hasMedium." ;
-            sh:class s223:Substance-Medium ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:name "Connection medium" ;
-            sh:path s223:hasMedium ],
-        [ rdfs:comment "A Connection can be associated with an EnumerationKind-Phase using the relation hasPhase." ;
-            sh:class s223:EnumerationKind-Phase ;
-            sh:maxCount 1 ;
-            sh:path s223:hasPhase ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the Connection with an EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ],
-        [ rdfs:comment "A Connection must have two or more cnx relations to ConnectionPoints" ;
-            sh:class s223:ConnectionPoint ;
-            sh:message "A Connection must have two or more cnx relations to ConnectionPoints" ;
-            sh:minCount 2 ;
-            sh:path s223:cnx ;
-            sh:severity sh:Info ] ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectsFrom relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectsFrom ?equipment .}
-WHERE {
-$this s223:connectsAt ?cp .
-?cp a s223:OutletConnectionPoint .
-?cp s223:isConnectionPointOf ?equipment .
-}
-""" ;
-            sh:name "InferredConnectionToUpstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectsTo relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectsTo ?equipment .}
-WHERE {
-$this s223:connectsAt ?cp .
-?cp a s223:InletConnectionPoint .
-?cp s223:isConnectionPointOf ?equipment .
-}
-""" ;
-            sh:name "InferredConnectionToDownstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer cnx relationship from connectsAt",
-                "InferredConnectionToConnectionPointBaseProperty" ;
-            sh:object [ sh:path s223:connectsAt ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer cnx relationship from connectsThrough",
-                "InferredConnectionToConnectionPointBasePropertyFromInverse" ;
-            sh:object [ sh:path [ sh:inversePath s223:connectsThrough ] ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the connectsAt relationship from cnx",
-                "InferredConnectionToConnectionPointProperty" ;
-            sh:object [ sh:path s223:cnx ] ;
-            sh:predicate s223:connectsAt ;
-            sh:subject sh:this ] .
-
-s223:InletConnectionPoint a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Inlet Connection Point" ;
-    rdfs:comment "An InletConnectionPoint indicates that a substance must flow into the equipment or domain space at this connection point and cannot flow the other direction. An IntletConnectionPoint is a subclass of ConnectionPoint." ;
-    rdfs:subClassOf s223:ConnectionPoint ;
-    sh:property [ rdfs:comment "Ensure an InletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection" ;
-            sh:path s223:mapsTo ;
-            sh:sparql [ ] ],
-        [ rdfs:comment "If the relation mapsTo is present it must associate the InletConnectionPoint with an InletConnectionPoint." ;
-            sh:class s223:InletConnectionPoint ;
-            sh:path s223:mapsTo ] .
-
-s223:Connectable a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Connectable" ;
-    s223:abstract true ;
-    rdfs:comment "Connectable is an abstract class representing a thing (Equipment or DomainSpace) that can be connected via ConnectionPoints and Connections." ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "For a Connectable, cnx relation must associate the Connectable to a ConnectionPoint" ;
-            sh:path s223:cnx ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "A Connectable should only have a s223:cnx relation with a ConnectionPoint" ;
-                    sh:message "{$this} cannot have a s223:cnx relation to {?something}, because {?something} is not a ConnectionPoint." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """SELECT $this ?something
-WHERE {
-$this s223:cnx ?something .
-FILTER NOT EXISTS {?something a/rdfs:subClassOf* s223:ConnectionPoint} .
-}""" ] ],
-        [ rdfs:comment "If one ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment shall have a contains relation." ;
-            sh:path s223:mapsTo ;
-            sh:severity sh:Warning ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "If a Connectable is s223:connected (high-level), it must eventually have the underlying cnx relations." ;
-                    sh:message "{$this} is s223:connected (high-level) to {?otherC} but not yet connected at the cnx-level." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT $this ?otherC
-WHERE {
-$this s223:connected ?otherC .
-FILTER NOT EXISTS {$this s223:cnx+ ?otherC}
-}
-""" ] ],
-        [ rdfs:comment "If the relation cnx is present it must associate the Connectable with a ConnectionPoint." ;
-            sh:class s223:ConnectionPoint ;
-            sh:path s223:cnx ],
-        [ rdfs:comment "If the relation connected is present it must associate the Connectable with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "SymmetricConnectableToConnectableShape" ;
-            sh:path s223:connected ],
-        [ rdfs:comment "If the relation connectedFrom is present it must associate the Connectable with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:path s223:connectedFrom ],
-        [ rdfs:comment "If the relation connectedThrough is present it must associate the Connectable with a Connection." ;
-            sh:class s223:Connection ;
-            sh:name "EquipmentToConnectionShape" ;
-            sh:path s223:connectedThrough ],
-        [ rdfs:comment "If the relation connectedTo is present it must associate the Connectable with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "ConnectableToConnectableShape" ;
-            sh:path s223:connectedTo ],
-        [ rdfs:comment "If the relation hasConnectionPoint is present it must associate the Connectable with a ConnectionPoint." ;
-            sh:class s223:ConnectionPoint ;
-            sh:name "EquipmentToConnectionPointShape" ;
-            sh:path s223:hasConnectionPoint ] ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connected relationship for BiDirectional connections" ;
-            sh:construct """
-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} .
-}
-""" ;
-            sh:name "InferredEquipmentToDownstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the connected relationship using connectedTo" ;
-            sh:name "InferredEquipmentToEquipmentPropertyfromconnectedTo" ;
-            sh:object [ sh:path s223:connectedTo ] ;
-            sh:predicate s223:connected ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the connectedThrough relationship using hasConnectionPoint and connectsThrough" ;
-            sh:name "InferredEquipmentToConnectionProperty" ;
-            sh:object [ sh:path ( s223:hasConnectionPoint s223:connectsThrough ) ] ;
-            sh:predicate s223:connectedThrough ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the hasConnectionPoint relationship from cnx" ;
-            sh:name "InferredEquipmentToConnectionPointProperty" ;
-            sh:object [ sh:path s223:cnx ] ;
-            sh:predicate s223:hasConnectionPoint ;
-            sh:subject sh:this ],
-        [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectedFrom relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectedFrom ?equipment .}
-WHERE {
-$this s223:hasConnectionPoint ?cp .
-?cp a s223:InletConnectionPoint .
-?cp s223:connectsThrough/s223:connectsFrom ?equipment .
-}
-""" ;
-            sh:name "InferredEquipmentToUpstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectedTo relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectedTo ?equipment .}
-WHERE {
-$this s223:hasConnectionPoint ?cp .
-?cp a s223:OutletConnectionPoint .
-?cp s223:connectsThrough/s223:connectsTo ?equipment .
-}
-""" ;
-            sh:name "InferredEquipmentToDownstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the cnx relationship from hasConnectionPoint" ;
-            sh:name "InferredEquipmentToConnectionPointCnxProperty" ;
-            sh:object [ sh:path s223:hasConnectionPoint ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the cnx relationship from isConnectionPointOf" ;
-            sh:name "InferredEquipmentToConnectionPointCnxPropertyFromInverse" ;
-            sh:object [ sh:path [ sh:inversePath s223:isConnectionPointOf ] ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the connected relationship using connectedFrom" ;
-            sh:name "InferredEquipmentToEquipmentPropertyfromconnectedFrom" ;
-            sh:object [ sh:path s223:connectedFrom ] ;
-            sh:predicate s223:connected ;
-            sh:subject sh:this ] .
-
-
-            
-
-
- -
-

Inverter

-

URI: http://data.ashrae.org/standard223#Inverter

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Inverter a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Inverter" ;
-    rdfs:comment "An electric energy converter that changes direct electric current to alternating current." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "An Inverter shall have at least one inlet using the medium Electricity-DC." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Electricity-DC ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "An Inverter shall have at least one outlet using the medium Electricity-AC." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Electricity-AC ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Inverter a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Inverter" ;
-    rdfs:comment "An electric energy converter that changes direct electric current to alternating current." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "An Inverter shall have at least one inlet using the medium Electricity-DC." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "An Inverter shall have at least one outlet using the medium Electricity-AC." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Junction

-

URI: http://data.ashrae.org/standard223#Junction

-

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Junction a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Junction" ;
-    rdfs:comment "A Junction is used to join three or more ConnectionPoints together." ;
-    rdfs:subClassOf s223:Connectable ;
-    sh:or ( [ sh:property [ rdfs:comment "A Junction shall have at least three ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point." ;
-                        sh:minCount 3 ;
-                        sh:path s223:hasConnectionPoint ;
-                        sh:qualifiedMinCount 1 ;
-                        sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ] ;
-                        sh:qualifiedValueShapesDisjoint true ],
-                    [ rdfs:comment "A Junction shall have at least three ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point." ;
-                        sh:minCount 3 ;
-                        sh:path s223:hasConnectionPoint ;
-                        sh:qualifiedMinCount 1 ;
-                        sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ] ;
-                        sh:qualifiedValueShapesDisjoint true ] ] [ sh:property [ rdfs:comment "A Junction shall have at least three ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point." ;
-                        sh:minCount 3 ;
-                        sh:path s223:hasConnectionPoint ;
-                        sh:qualifiedMinCount 1 ;
-                        sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ] ;
-                        sh:qualifiedValueShapesDisjoint true ] ] ) ;
-    sh:property [ rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Junction." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Junction." ;
-                    sh:message "{$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ] ],
-        [ rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-                    sh:message "{?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ] ],
-        [ rdfs:comment "A Junction must be associated with exactly one EnumerationKind-Medium using the relation hasMedium." ;
-            sh:class s223:Substance-Medium ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:path s223:hasMedium ] .
-
-
-        
- -

See Also

- - -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Connection a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Connection" ;
-    rdfs:comment """A Connection is the modeling construct used to represent a physical thing (e.g., pipe, duct, or wire) that is used to convey some Medium (e.g., water, air, or electricity) between two connectable things. All Connections have two or more ConnectionPoints bound to either Equipment (see `s223:Equipment`), DomainSpace (see `s223:DomainSpace`), or Junction (see `s223:Junction`) See Figure . If the direction of flow is constrained, that constraint is indicated by using one or more InletConnectionPoints (see `s223:InletConnectionPoint`) to represent the inflow points and OutletConnectionPoints (see `s223:OutletConnectionPoint`) to represent the outflow points.
-  
-A Connection may contain branches or intersections. These may be modeled using Junctions if it is necessary to identify a specific intersection. (see `s223:Junction`).
-![Graphical Depiction of Connection.](figures/Figure_5-3_Connection.svg)
-""" ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "A Connection must only have a cnx relation with a ConnectionPoint" ;
-            sh:path s223:cnx ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "A Connection must only have a cnx relation with a ConnectionPoint" ;
-                    sh:message "{$this} cannot have a s223:cnx relation to {?something}, because {?something} is not a ConnectionPoint." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """SELECT $this ?something
-WHERE {
-$this s223:cnx ?something .
-FILTER NOT EXISTS {?something a/rdfs:subClassOf* s223:ConnectionPoint} .
-}""" ] ],
-        [ rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Connection." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Connection." ;
-                    sh:message "{$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ] ],
-        [ rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-                    sh:message "{?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ] ],
-        [ rdfs:comment "If the relation connectsAt is present it must associate the Connection with a ConnectionPoint." ;
-            sh:class s223:ConnectionPoint ;
-            sh:path s223:connectsAt ],
-        [ rdfs:comment "If the relation connectsFrom is present it must associate the Connection with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "ConnectionToUpstreamConnectableShape" ;
-            sh:path s223:connectsFrom ],
-        [ rdfs:comment "If the relation connectsTo is present it must associate the Connection with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "ConnectionToDownstreamConnectableShape" ;
-            sh:path s223:connectsTo ],
-        [ rdfs:comment "A Connection must be associated with exactly one EnumerationKind-Medium using the relation hasMedium." ;
-            sh:class s223:Substance-Medium ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:name "Connection medium" ;
-            sh:path s223:hasMedium ],
-        [ rdfs:comment "A Connection can be associated with an EnumerationKind-Phase using the relation hasPhase." ;
-            sh:class s223:EnumerationKind-Phase ;
-            sh:maxCount 1 ;
-            sh:path s223:hasPhase ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the Connection with an EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ],
-        [ rdfs:comment "A Connection must have two or more cnx relations to ConnectionPoints" ;
-            sh:class s223:ConnectionPoint ;
-            sh:message "A Connection must have two or more cnx relations to ConnectionPoints" ;
-            sh:minCount 2 ;
-            sh:path s223:cnx ;
-            sh:severity sh:Info ] ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectsFrom relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectsFrom ?equipment .}
-WHERE {
-$this s223:connectsAt ?cp .
-?cp a s223:OutletConnectionPoint .
-?cp s223:isConnectionPointOf ?equipment .
-}
-""" ;
-            sh:name "InferredConnectionToUpstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectsTo relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectsTo ?equipment .}
-WHERE {
-$this s223:connectsAt ?cp .
-?cp a s223:InletConnectionPoint .
-?cp s223:isConnectionPointOf ?equipment .
-}
-""" ;
-            sh:name "InferredConnectionToDownstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer cnx relationship from connectsAt",
-                "InferredConnectionToConnectionPointBaseProperty" ;
-            sh:object [ sh:path s223:connectsAt ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer cnx relationship from connectsThrough",
-                "InferredConnectionToConnectionPointBasePropertyFromInverse" ;
-            sh:object [ sh:path [ sh:inversePath s223:connectsThrough ] ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the connectsAt relationship from cnx",
-                "InferredConnectionToConnectionPointProperty" ;
-            sh:object [ sh:path s223:cnx ] ;
-            sh:predicate s223:connectsAt ;
-            sh:subject sh:this ] .
-
-s223:Junction a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Junction" ;
-    rdfs:comment "A Junction is used to join three or more ConnectionPoints together." ;
-    rdfs:subClassOf s223:Connectable ;
-    sh:or [ rdf:first [ ] ;
-            rdf:rest [ ] ] ;
-    sh:property [ rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Junction." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ ] ],
-        [ rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ ] ],
-        [ rdfs:comment "A Junction must be associated with exactly one EnumerationKind-Medium using the relation hasMedium." ;
-            sh:class s223:Substance-Medium ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:path s223:hasMedium ] .
-
-
-            
-
-
- -
-

Light sensor

-

URI: http://data.ashrae.org/standard223#LightSensor

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:LightSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Light sensor" ;
-    rdfs:comment "A LightSensor is a specialization of a Sensor that observes a QuantifiableObservableProperty that represents a luminance measurement." ;
-    rdfs:subClassOf s223:Sensor .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:LightSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Light sensor" ;
-    rdfs:comment "A LightSensor is a specialization of a Sensor that observes a QuantifiableObservableProperty that represents a luminance measurement." ;
-    rdfs:subClassOf s223:Sensor .
-
-
-            
-
-
- -
-

Luminaire

-

URI: http://data.ashrae.org/standard223#Luminaire

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Luminaire a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Luminaire" ;
-    rdfs:comment "A complete lighting unit consisting of a lamp or lamps together with the housing designed to distribute the light, position and protect the lamps, and connect the lamps to the power supply." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Luminaire shall have at least one inlet using the medium Electricity." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "A Luminaire shall have at least one outlet using the medium EM-Light." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:EM-Light ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Luminaire a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Luminaire" ;
-    rdfs:comment "A complete lighting unit consisting of a lamp or lamps together with the housing designed to distribute the light, position and protect the lamps, and connect the lamps to the power supply." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Luminaire shall have at least one inlet using the medium Electricity." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A Luminaire shall have at least one outlet using the medium EM-Light." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Manual damper

-

URI: http://data.ashrae.org/standard223#ManualDamper

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:ManualDamper a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Manual damper" ;
-    rdfs:comment "A Damper that is operated manually." ;
-    rdfs:subClassOf s223:Damper .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:ManualDamper a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Manual damper" ;
-    rdfs:comment "A Damper that is operated manually." ;
-    rdfs:subClassOf s223:Damper .
-
-
-            
-
-
- -
-

Manual Valve

-

URI: http://data.ashrae.org/standard223#ManualValve

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:ManualValve a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Manual Valve" ;
-    rdfs:comment "A Valve that is operated manually." ;
-    rdfs:subClassOf s223:Valve .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:ManualValve a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Manual Valve" ;
-    rdfs:comment "A Valve that is operated manually." ;
-    rdfs:subClassOf s223:Valve .
-
-
-            
-
-
- -
-

Medium-Air

-

URI: http://data.ashrae.org/standard223#Medium-Air

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Medium-Air a s223:Class,
-        s223:Medium-Air,
-        sh:NodeShape ;
-    rdfs:label "Medium-Air" ;
-    rdfs:comment "This class has enumerated instances of Air in various states." ;
-    rdfs:subClassOf s223:Substance-Medium .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Medium-Air a s223:Class,
-        s223:Medium-Air,
-        sh:NodeShape ;
-    rdfs:label "Medium-Air" ;
-    rdfs:comment "This class has enumerated instances of Air in various states." ;
-    rdfs:subClassOf s223:Substance-Medium .
-
-
-            
-
-
- -
-

Electromagnetic Wave

-

URI: http://data.ashrae.org/standard223#Medium-EM

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Medium-EM a s223:Class,
-        s223:Medium-EM,
-        sh:NodeShape ;
-    rdfs:label "Electromagnetic Wave" ;
-    rdfs:comment "This class has enumerated instances of electromagnetic energy at any frequency range." ;
-    rdfs:subClassOf s223:Substance-Medium .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Medium-EM a s223:Class,
-        s223:Medium-EM,
-        sh:NodeShape ;
-    rdfs:label "Electromagnetic Wave" ;
-    rdfs:comment "This class has enumerated instances of electromagnetic energy at any frequency range." ;
-    rdfs:subClassOf s223:Substance-Medium .
-
-
-            
-
-
- -
-

Electricity

-

URI: http://data.ashrae.org/standard223#Medium-Electricity

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Medium-Electricity a s223:Class,
-        s223:Medium-Electricity,
-        sh:NodeShape ;
-    rdfs:label "Electricity" ;
-    rdfs:comment "This class has enumerated instances of all forms of electricity, including AC and DC." ;
-    rdfs:subClassOf s223:Substance-Medium .
-
-
-        
- -

See Also

- - -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:HeatExchanger a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Heat exchanger" ;
-    rdfs:comment "A component intended to transfer heat from one medium to another while keeping the two media separate" ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A heat exchanger shall have at least 4 connection points." ;
-            sh:minCount 4 ;
-            sh:path s223:hasConnectionPoint ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the HeatExchanger with a EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ],
-        [ rdfs:comment "Heat Exchangers should have the same number of non-electrical inlet and outlet connection points." ;
-            sh:path s223:hasConnectionPoint ;
-            sh:severity sh:Warning ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Heat Exchangers should have the same number of non-electrical inlet and outlet connection points." ;
-                    sh:message "Number of inlets {?incount} are not equivalent with number of outlets {?outcount}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT DISTINCT $this ?incount ?outcount
-WHERE {
-{
-SELECT $this (COUNT (?cpin) AS ?incount)
-WHERE {
-?cpin a/rdfs:subClassOf* s223:InletConnectionPoint .
-$this s223:hasConnectionPoint ?cpin .
-?cpin s223:hasMedium ?inmedium .
-FILTER NOT EXISTS {
-    ?inmedium a/rdfs:subClassOf* s223:Medium-Electricity .
-  }
-}
-GROUP BY $this
-}
-{
-SELECT $this (COUNT (?cpout) AS ?outcount)
-WHERE {
-?cpout a/rdfs:subClassOf* s223:OutletConnectionPoint .
-$this s223:hasConnectionPoint ?cpout .
-?cpout s223:hasMedium ?outmedium .
-FILTER NOT EXISTS {
-    ?outmedium a/rdfs:subClassOf* s223:Medium-Electricity .
-  }
-}
-GROUP BY $this
-}
-FILTER (?incount != ?outcount)
-}
-""" ] ] .
-
-s223:Pump a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Pump" ;
-    rdfs:comment "A machine for imparting energy to a fluid, drawing a fluid into itself through an entrance port, and forcing the fluid out through an exhaust port." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Pump shall have at least one inlet using the medium Water, Oil or Refrigerant." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:or ( [ sh:property [ sh:class s223:Medium-Water ;
-                                                sh:path s223:hasMedium ] ] [ sh:property [ sh:class s223:Medium-Refrigerant ;
-                                                sh:path s223:hasMedium ] ] [ sh:property [ sh:class s223:Medium-Oil ;
-                                                sh:path s223:hasMedium ] ] ) ] ] ],
-        [ rdfs:comment "A Pump shall have at least one outlet using the medium Water, Oil or Refrigerant." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:or ( [ sh:property [ sh:class s223:Medium-Water ;
-                                                sh:path s223:hasMedium ] ] [ sh:property [ sh:class s223:Medium-Refrigerant ;
-                                                sh:path s223:hasMedium ] ] [ sh:property [ sh:class s223:Medium-Oil ;
-                                                sh:path s223:hasMedium ] ] ) ] ] ],
-        [ rdfs:comment "The non-electrical ConnectionPoints of a Pump must have compatible Media." ;
-            sh:path s223:hasConnectionPoint ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "The non-electrical ConnectionPoints of a Pump must have compatible Media." ;
-                    sh:message "{?cpa} and {?cpb} on the Pump {$this} have incompatible Media {$mediuma} and {$mediumb}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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:Medium-Electricity}) .
-  ?cpb s223:hasMedium ?mediumb .
-  FILTER (NOT EXISTS {?mediumb a/rdfs:subClassOf* s223:Medium-Electricity}) .
-  FILTER (?mediuma != ?mediumb) .
-  FILTER (NOT EXISTS {?mediumb a/rdfs:subClassOf* ?mediuma}) .
-  FILTER (NOT EXISTS {?mediuma a/rdfs:subClassOf* ?mediumb}) .
-}
-""" ] ] .
-
-s223:Medium-Electricity a s223:Class,
-        s223:Medium-Electricity,
-        sh:NodeShape ;
-    rdfs:label "Electricity" ;
-    rdfs:comment "This class has enumerated instances of all forms of electricity, including AC and DC." ;
-    rdfs:subClassOf s223:Substance-Medium .
-
-
-            
-
-
- -
-

Medium-NaturalGas

-

URI: http://data.ashrae.org/standard223#Medium-NaturalGas

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Medium-NaturalGas a s223:Class,
-        s223:Medium-NaturalGas,
-        sh:NodeShape ;
-    rdfs:label "Medium-NaturalGas" ;
-    rdfs:comment "This class has enumerated instances of natural gas in various states." ;
-    rdfs:subClassOf s223:Substance-Medium .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Medium-NaturalGas a s223:Class,
-        s223:Medium-NaturalGas,
-        sh:NodeShape ;
-    rdfs:label "Medium-NaturalGas" ;
-    rdfs:comment "This class has enumerated instances of natural gas in various states." ;
-    rdfs:subClassOf s223:Substance-Medium .
-
-
-            
-
-
- -
-

Medium-Refrigerant

-

URI: http://data.ashrae.org/standard223#Medium-Refrigerant

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Medium-Refrigerant a s223:Class,
-        s223:Medium-Refrigerant,
-        sh:NodeShape ;
-    rdfs:label "Medium-Refrigerant" ;
-    rdfs:comment "This class has enumerated instances of commonly used refrigerants." ;
-    rdfs:subClassOf s223:Substance-Medium .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Medium-Refrigerant a s223:Class,
-        s223:Medium-Refrigerant,
-        sh:NodeShape ;
-    rdfs:label "Medium-Refrigerant" ;
-    rdfs:comment "This class has enumerated instances of commonly used refrigerants." ;
-    rdfs:subClassOf s223:Substance-Medium .
-
-
-            
-
-
- -
-

Medium-Water

-

URI: http://data.ashrae.org/standard223#Medium-Water

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Medium-Water a s223:Class,
-        s223:Medium-Water,
-        sh:NodeShape ;
-    rdfs:label "Medium-Water" ;
-    rdfs:comment "This class has enumerated instances of water and aqueous solutions in various states." ;
-    rdfs:subClassOf s223:Substance-Medium .
-
-
-        
- -

See Also

- - -

Details

-
- All related shapes and rules -

-@prefix ns1: <http://qudt.org/schema/qudt/> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Water-GlycolSolution a s223:Class,
-        s223:Water-GlycolSolution,
-        sh:NodeShape ;
-    rdfs:label "Water-GlycolSolution" ;
-    s223:hasConstituent [ a s223:QuantifiableProperty ;
-            rdfs:label "Unspecified" ;
-            s223:ofSubstance s223:Medium-Glycol ;
-            ns1:hasQuantityKind <http://qudt.org/vocab/quantitykind/VolumeFraction> ;
-            ns1:hasUnit <http://qudt.org/vocab/unit/PERCENT> ],
-        [ a s223:QuantifiableProperty ;
-            rdfs:label "Unspecified" ;
-            s223:ofSubstance s223:Medium-Water ;
-            ns1:hasQuantityKind <http://qudt.org/vocab/quantitykind/VolumeFraction> ;
-            ns1:hasUnit <http://qudt.org/vocab/unit/PERCENT> ] ;
-    rdfs:comment "This class has enumerated instances of water-glycol solutions in various concentrations." ;
-    sh:property [ rdfs:comment "One of the constituents of a Water-GlycolSolution must be Medium-Water." ;
-            sh:path s223:hasConstituent ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:QuantifiableProperty ;
-                    sh:property [ rdfs:comment "One of the constituents of a Water-GlycolSolution must be Medium-Water." ;
-                            sh:hasValue s223:Medium-Water ;
-                            sh:path s223:ofSubstance ],
-                        [ rdfs:comment "The quantity kind of the constituent must be VolumeFraction." ;
-                            sh:hasValue <http://qudt.org/vocab/quantitykind/VolumeFraction> ;
-                            sh:path ns1:hasQuantityKind ] ] ],
-        [ rdfs:comment "There must be two QuantifiableProperties that characterize the constituents of a Water-GlycolSolution." ;
-            sh:class s223:QuantifiableProperty ;
-            sh:minCount 2 ;
-            sh:path s223:hasConstituent ],
-        [ rdfs:comment "One of the constituents of a Water-GlycolSolution must be Medium-Glycol." ;
-            sh:path s223:hasConstituent ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:QuantifiableProperty ;
-                    sh:property [ rdfs:comment "One of the constituents of a Water-GlycolSolution must be Medium-Glycol." ;
-                            sh:hasValue s223:Medium-Glycol ;
-                            sh:path s223:ofSubstance ],
-                        [ rdfs:comment "The quantity kind of the constituent must be VolumeFraction." ;
-                            sh:hasValue <http://qudt.org/vocab/quantitykind/VolumeFraction> ;
-                            sh:path ns1:hasQuantityKind ] ] ] .
-
-s223:Medium-Water a s223:Class,
-        s223:Medium-Water,
-        sh:NodeShape ;
-    rdfs:label "Medium-Water" ;
-    rdfs:comment "This class has enumerated instances of water and aqueous solutions in various states." ;
-    rdfs:subClassOf s223:Substance-Medium .
-
-
-            
-
-
- -
-

Motor

-

URI: http://data.ashrae.org/standard223#Motor

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Motor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Motor" ;
-    rdfs:comment "A machine in which power is applied to do work by the conversion of various forms of energy into mechanical force and motion." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Motor shall have at least one inlet using the medium Electricity." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-
-        
- -

See Also

- - -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Motor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Motor" ;
-    rdfs:comment "A machine in which power is applied to do work by the conversion of various forms of energy into mechanical force and motion." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Motor shall have at least one inlet using the medium Electricity." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-s223:MotorizedDamper a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Motorized damper" ;
-    rdfs:comment "A Damper that is operated by a motor." ;
-    rdfs:subClassOf s223:Damper .
-
-s223:MotorizedThreeWayValve a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Motorized three way valve" ;
-    rdfs:comment "A ThreeWayValve that is operated by a motor." ;
-    rdfs:subClassOf s223:MotorizedValve .
-
-s223:MotorizedTwoWayValve a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Motorized two way valve" ;
-    rdfs:comment "A TwoWayValve that is operated by a motor." ;
-    rdfs:subClassOf s223:MotorizedValve .
-
-s223:MotorizedValve a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Motorized Valve" ;
-    rdfs:comment "A Valve that is operated by a motor." ;
-    rdfs:subClassOf s223:Valve .
-
-
-            
-
-
- -
-

Motorized damper

-

URI: http://data.ashrae.org/standard223#MotorizedDamper

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:MotorizedDamper a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Motorized damper" ;
-    rdfs:comment "A Damper that is operated by a motor." ;
-    rdfs:subClassOf s223:Damper .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:MotorizedDamper a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Motorized damper" ;
-    rdfs:comment "A Damper that is operated by a motor." ;
-    rdfs:subClassOf s223:Damper .
-
-
-            
-
-
- -
-

Motorized three way valve

-

URI: http://data.ashrae.org/standard223#MotorizedThreeWayValve

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:MotorizedThreeWayValve a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Motorized three way valve" ;
-    rdfs:comment "A ThreeWayValve that is operated by a motor." ;
-    rdfs:subClassOf s223:MotorizedValve .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:MotorizedThreeWayValve a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Motorized three way valve" ;
-    rdfs:comment "A ThreeWayValve that is operated by a motor." ;
-    rdfs:subClassOf s223:MotorizedValve .
-
-
-            
-
-
- -
-

Motorized two way valve

-

URI: http://data.ashrae.org/standard223#MotorizedTwoWayValve

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:MotorizedTwoWayValve a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Motorized two way valve" ;
-    rdfs:comment "A TwoWayValve that is operated by a motor." ;
-    rdfs:subClassOf s223:MotorizedValve .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:MotorizedTwoWayValve a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Motorized two way valve" ;
-    rdfs:comment "A TwoWayValve that is operated by a motor." ;
-    rdfs:subClassOf s223:MotorizedValve .
-
-
-            
-
-
- -
-

Motorized Valve

-

URI: http://data.ashrae.org/standard223#MotorizedValve

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:MotorizedValve a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Motorized Valve" ;
-    rdfs:comment "A Valve that is operated by a motor." ;
-    rdfs:subClassOf s223:Valve .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:MotorizedValve a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Motorized Valve" ;
-    rdfs:comment "A Valve that is operated by a motor." ;
-    rdfs:subClassOf s223:Valve .
-
-
-            
-
-
- -
-

Observable Property

-

URI: http://data.ashrae.org/standard223#ObservableProperty

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:ObservableProperty a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Observable Property" ;
-    rdfs:comment "This class describes non-numeric properties of which real-time value cannot be modified by a user or a machine outside of the model. Sensors reading are typically observable properties as their value naturally fluctuate, but is not meant to be modified by a user." ;
-    rdfs:subClassOf s223:Property .
-
-
-        
- -

See Also

- - -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:ObservableProperty a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Observable Property" ;
-    rdfs:comment "This class describes non-numeric properties of which real-time value cannot be modified by a user or a machine outside of the model. Sensors reading are typically observable properties as their value naturally fluctuate, but is not meant to be modified by a user." ;
-    rdfs:subClassOf s223:Property .
-
-s223:Sensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Sensor" ;
-    rdfs:comment "A Sensor observes an ObservableProperty (see `s223:ObservableProperty`) which may be quantifiable (see `s223:QuantifiableObservableProperty`), such as a temperature, flowrate, or concentration, or Enumerable (see `s223:EnumeratedObservableProperty)`, such as an alarm state or occupancy state." ;
-    rdfs:subClassOf s223:AbstractSensor ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the hasObservationLocation relationship for a Sensor from the Property that it is observing, only if that property is associated with a single entity." ;
-            sh:construct """
-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}
-}
-""" ;
-            sh:name "InferredMeasurementLocation" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ] ;
-    sh:xone ( [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation." ;
-                        sh:class s223:Connectable ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocation ] ] [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation." ;
-                        sh:class s223:Connection ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocation ] ] [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation." ;
-                        sh:class s223:ConnectionPoint ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocation ] ] ),
-        ( [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes." ;
-                        sh:class s223:QuantifiableObservableProperty ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:observes ] ] [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes." ;
-                        sh:class s223:EnumeratedObservableProperty ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:observes ] ] ) .
-
-s223:Property a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Property" ;
-    rdfs:comment """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 - parent of subclass of properties that can be modified by user or machine outside of the model (typically command)
-ObservableProperty - parent of subclass of properties that can not be modified by user or machine outside of the model (typically measures)
-EnumerableProperty - parent of subclass of properties defined by EnumerationKind
-QuantifiableProperty - parent of subclass of properties defined by numerical values
-
-And their different associations :
-QuantifiableActuatableProperty
-QuantifiableObservableProperty
-EnumeratedObservableProperty
-EnumeratedActuatableProperty
-
-A QuantifiableProperty (or subClass thereof) must 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 the QuantityKind (the most general version).
-
-Enumerable properties must be associated with an EnumerationKind.
-""" ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "If the relation hasAspect is present it must associate the Property with an EnumerationKind." ;
-            sh:class s223:EnumerationKind ;
-            sh:path s223:hasAspect ],
-        [ rdfs:comment "If the relation hasExternalReference is present it must associate the Property with an ExternalReference." ;
-            sh:class s223:ExternalReference ;
-            sh:path s223:hasExternalReference ],
-        [ rdfs:comment "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)" ;
-            sh:maxCount 1 ;
-            sh:path s223:hasValue ],
-        [ rdfs:comment "A Property can be associated with at most one EnumerationKind-Medium using the relation ofMedium" ;
-            sh:class s223:Substance-Medium ;
-            sh:maxCount 1 ;
-            sh:path s223:ofMedium ],
-        [ rdfs:comment "A Property can be associated with at most one EnumerationKind-Substance using the relation ofSubstance" ;
-            sh:class s223:EnumerationKind-Substance ;
-            sh:maxCount 1 ;
-            sh:path s223:ofSubstance ],
-        [ rdfs:comment "A Property can be associated with at most one FunctionBlock using the inverse relation hasOutput." ;
-            sh:class s223:FunctionBlock ;
-            sh:maxCount 1 ;
-            sh:message "A Property can be associated with at most one FunctionBlock using the inverse relation hasOutput." ;
-            sh:path [ sh:inversePath s223:hasOutput ] ] ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "A Property instance cannot be declared an instance of both an ActuatableProperty and an ObservableProperty." ;
-            sh:message "{$this} cannot be declared an instance of both an ActuatableProperty and an ObservableProperty." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-SELECT $this
-WHERE {
-$this a/rdfs:subClassOf* s223:ActuatableProperty .
-$this a/rdfs:subClassOf* s223:ObservableProperty .
-}
-""" ] .
-
-s223:observes a rdf:Property ;
-    rdfs:label "observes" ;
-    rdfs:comment "The relation observes binds a sensor to one `s223:ObservableProperty` which is used by the sensor to generate a measurement value (ex. a temperature) or a simple observation of a stimulus causing a reaction (a current binary switch that closes a dry contact when a fan is powered on)." .
-
-
-            
-
-
- -
-

Occupancy Motion

-

URI: http://data.ashrae.org/standard223#Occupancy-Motion

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Occupancy-Motion a s223:Class,
-        s223:Occupancy-Motion,
-        sh:NodeShape ;
-    rdfs:label "Occupancy Motion" ;
-    rdfs:comment "This class has enumerated instances indicating whether motion is detected or not." ;
-    rdfs:subClassOf s223:EnumerationKind-Occupancy .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Occupancy-Motion a s223:Class,
-        s223:Occupancy-Motion,
-        sh:NodeShape ;
-    rdfs:label "Occupancy Motion" ;
-    rdfs:comment "This class has enumerated instances indicating whether motion is detected or not." ;
-    rdfs:subClassOf s223:EnumerationKind-Occupancy .
-
-
-            
-
-
- -
-

Occupancy Presence

-

URI: http://data.ashrae.org/standard223#Occupancy-Presence

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Occupancy-Presence a s223:Class,
-        s223:Occupancy-Presence,
-        sh:NodeShape ;
-    rdfs:label "Occupancy Presence" ;
-    rdfs:comment "This class has enumerated instances indicating whether physical presence is detected or not." ;
-    rdfs:subClassOf s223:EnumerationKind-Occupancy .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Occupancy-Presence a s223:Class,
-        s223:Occupancy-Presence,
-        sh:NodeShape ;
-    rdfs:label "Occupancy Presence" ;
-    rdfs:comment "This class has enumerated instances indicating whether physical presence is detected or not." ;
-    rdfs:subClassOf s223:EnumerationKind-Occupancy .
-
-
-            
-
-
- -
-

Occupancy sensor

-

URI: http://data.ashrae.org/standard223#OccupancySensor

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:OccupancySensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Occupancy sensor" ;
-    rdfs:comment "An OccupancySensor is a subclass of a Sensor that observes a Property that represents measurement of occupancy in a space." ;
-    rdfs:subClassOf s223:Sensor .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:OccupancySensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Occupancy sensor" ;
-    rdfs:comment "An OccupancySensor is a subclass of a Sensor that observes a Property that represents measurement of occupancy in a space." ;
-    rdfs:subClassOf s223:Sensor .
-
-
-            
-
-
- -
-

Occupant counter

-

URI: http://data.ashrae.org/standard223#OccupantCounter

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:OccupantCounter a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Occupant counter" ;
-    rdfs:comment "A subclass of OccupancySensor that counts the population within its sensing region." ;
-    rdfs:subClassOf s223:OccupancySensor ;
-    sh:property [ rdfs:comment "An OccupantCounter must always observe a QuantifiableObservableProperty that has a QuantityKind of Population and a Unit of unit:NUM." ;
-            sh:class s223:QuantifiableObservableProperty ;
-            sh:minCount 1 ;
-            sh:node [ sh:property [ sh:hasValue <http://qudt.org/vocab/quantitykind/Population> ;
-                            sh:maxCount 1 ;
-                            sh:path <http://qudt.org/schema/qudt/hasQuantityKind> ],
-                        [ sh:hasValue <http://qudt.org/vocab/unit/NUM> ;
-                            sh:maxCount 1 ;
-                            sh:path <http://qudt.org/schema/qudt/hasUnit> ] ] ;
-            sh:path s223:observes ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:OccupantCounter a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Occupant counter" ;
-    rdfs:comment "A subclass of OccupancySensor that counts the population within its sensing region." ;
-    rdfs:subClassOf s223:OccupancySensor ;
-    sh:property [ rdfs:comment "An OccupantCounter must always observe a QuantifiableObservableProperty that has a QuantityKind of Population and a Unit of unit:NUM." ;
-            sh:class s223:QuantifiableObservableProperty ;
-            sh:minCount 1 ;
-            sh:node [ ] ;
-            sh:path s223:observes ] .
-
-
-            
-
-
- -
-

Occupant motion sensor

-

URI: http://data.ashrae.org/standard223#OccupantMotionSensor

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:OccupantMotionSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Occupant motion sensor" ;
-    rdfs:comment "A subclass of OccupancySensor that observes motion within its sensing region." ;
-    rdfs:subClassOf s223:OccupancySensor ;
-    sh:property [ rdfs:comment "An OccupantMotionSensor must always observe an EnumeratedObservableProperty that has an EnumerationKind of Occupancy-Motion." ;
-            sh:class s223:EnumeratedObservableProperty ;
-            sh:minCount 1 ;
-            sh:node [ sh:property [ sh:class s223:Occupancy-Motion ;
-                            sh:maxCount 1 ;
-                            sh:path s223:hasEnumerationKind ] ] ;
-            sh:path s223:observes ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:OccupantMotionSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Occupant motion sensor" ;
-    rdfs:comment "A subclass of OccupancySensor that observes motion within its sensing region." ;
-    rdfs:subClassOf s223:OccupancySensor ;
-    sh:property [ rdfs:comment "An OccupantMotionSensor must always observe an EnumeratedObservableProperty that has an EnumerationKind of Occupancy-Motion." ;
-            sh:class s223:EnumeratedObservableProperty ;
-            sh:minCount 1 ;
-            sh:node [ ] ;
-            sh:path s223:observes ] .
-
-
-            
-
-
- -
-

Occupant presence sensor

-

URI: http://data.ashrae.org/standard223#OccupantPresenceSensor

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:OccupantPresenceSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Occupant presence sensor" ;
-    rdfs:comment "A subclass of OccupancySensor that observes presence within its sensing region." ;
-    rdfs:subClassOf s223:OccupancySensor ;
-    sh:property [ rdfs:comment "An OccupantPresenceSensor will always observe an EnumeratedObservableProperty that has an EnumerationKind of Occupancy-Presence." ;
-            sh:class s223:EnumeratedObservableProperty ;
-            sh:minCount 1 ;
-            sh:node [ sh:property [ sh:class s223:Occupancy-Presence ;
-                            sh:maxCount 1 ;
-                            sh:path s223:hasEnumerationKind ] ] ;
-            sh:path s223:observes ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:OccupantPresenceSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Occupant presence sensor" ;
-    rdfs:comment "A subclass of OccupancySensor that observes presence within its sensing region." ;
-    rdfs:subClassOf s223:OccupancySensor ;
-    sh:property [ rdfs:comment "An OccupantPresenceSensor will always observe an EnumeratedObservableProperty that has an EnumerationKind of Occupancy-Presence." ;
-            sh:class s223:EnumeratedObservableProperty ;
-            sh:minCount 1 ;
-            sh:node [ ] ;
-            sh:path s223:observes ] .
-
-
-            
-
-
- -
-

Outlet Connection Point

-

URI: http://data.ashrae.org/standard223#OutletConnectionPoint

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:OutletConnectionPoint a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Outlet Connection Point" ;
-    rdfs:comment "An OutletConnectionPoint indicates that a substance must flow out of the domain space at this connection point and cannot flow in the other direction. An OutletConnectionPoint is a predefined subclass of ConnectionPoint." ;
-    rdfs:subClassOf s223:ConnectionPoint ;
-    sh:property [ rdfs:comment "Ensure an OutletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection" ;
-            sh:path s223:mapsTo ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure an OutletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection" ;
-                    sh:message "{$this} must have a mapsTo an OutletConnectionPoint of {?parentEquipment} because {$this} has an external Connection to {?destinationEquipment}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT $this ?parentEquipment ?destinationEquipment
-WHERE {
-?equipment s223:hasConnectionPoint $this .
-?equipment a/rdfs:subClassOf* s223:Equipment .
-?parentEquipment s223:contains ?equipment .
-$this s223:connectsThrough/s223:connectsTo ?destinationEquipment .
-FILTER NOT EXISTS {?parentEquipment s223:contains ?destinationEquipment} .
-FILTER NOT EXISTS {$this s223:mapsTo ?anything} .
-}
-""" ] ],
-        [ rdfs:comment "If the relation mapsTo is present it must associate the OutletConnectionPoint with an OutletConnectionPoint." ;
-            sh:class s223:OutletConnectionPoint ;
-            sh:path s223:mapsTo ] .
-
-
-        
- -

See Also

- - -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:HeatExchanger a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Heat exchanger" ;
-    rdfs:comment "A component intended to transfer heat from one medium to another while keeping the two media separate" ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A heat exchanger shall have at least 4 connection points." ;
-            sh:minCount 4 ;
-            sh:path s223:hasConnectionPoint ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the HeatExchanger with a EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ],
-        [ rdfs:comment "Heat Exchangers should have the same number of non-electrical inlet and outlet connection points." ;
-            sh:path s223:hasConnectionPoint ;
-            sh:severity sh:Warning ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Heat Exchangers should have the same number of non-electrical inlet and outlet connection points." ;
-                    sh:message "Number of inlets {?incount} are not equivalent with number of outlets {?outcount}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT DISTINCT $this ?incount ?outcount
-WHERE {
-{
-SELECT $this (COUNT (?cpin) AS ?incount)
-WHERE {
-?cpin a/rdfs:subClassOf* s223:InletConnectionPoint .
-$this s223:hasConnectionPoint ?cpin .
-?cpin s223:hasMedium ?inmedium .
-FILTER NOT EXISTS {
-    ?inmedium a/rdfs:subClassOf* s223:Medium-Electricity .
-  }
-}
-GROUP BY $this
-}
-{
-SELECT $this (COUNT (?cpout) AS ?outcount)
-WHERE {
-?cpout a/rdfs:subClassOf* s223:OutletConnectionPoint .
-$this s223:hasConnectionPoint ?cpout .
-?cpout s223:hasMedium ?outmedium .
-FILTER NOT EXISTS {
-    ?outmedium a/rdfs:subClassOf* s223:Medium-Electricity .
-  }
-}
-GROUP BY $this
-}
-FILTER (?incount != ?outcount)
-}
-""" ] ] .
-
-s223:Connection a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Connection" ;
-    rdfs:comment """A Connection is the modeling construct used to represent a physical thing (e.g., pipe, duct, or wire) that is used to convey some Medium (e.g., water, air, or electricity) between two connectable things. All Connections have two or more ConnectionPoints bound to either Equipment (see `s223:Equipment`), DomainSpace (see `s223:DomainSpace`), or Junction (see `s223:Junction`) See Figure . If the direction of flow is constrained, that constraint is indicated by using one or more InletConnectionPoints (see `s223:InletConnectionPoint`) to represent the inflow points and OutletConnectionPoints (see `s223:OutletConnectionPoint`) to represent the outflow points.
-  
-A Connection may contain branches or intersections. These may be modeled using Junctions if it is necessary to identify a specific intersection. (see `s223:Junction`).
-![Graphical Depiction of Connection.](figures/Figure_5-3_Connection.svg)
-""" ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "A Connection must only have a cnx relation with a ConnectionPoint" ;
-            sh:path s223:cnx ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "A Connection must only have a cnx relation with a ConnectionPoint" ;
-                    sh:message "{$this} cannot have a s223:cnx relation to {?something}, because {?something} is not a ConnectionPoint." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """SELECT $this ?something
-WHERE {
-$this s223:cnx ?something .
-FILTER NOT EXISTS {?something a/rdfs:subClassOf* s223:ConnectionPoint} .
-}""" ] ],
-        [ rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Connection." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Connection." ;
-                    sh:message "{$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ] ],
-        [ rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-            sh:name "Test for compatible declared Medium" ;
-            sh:path s223:hasMedium ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-                    sh:message "{?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ] ],
-        [ rdfs:comment "If the relation connectsAt is present it must associate the Connection with a ConnectionPoint." ;
-            sh:class s223:ConnectionPoint ;
-            sh:path s223:connectsAt ],
-        [ rdfs:comment "If the relation connectsFrom is present it must associate the Connection with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "ConnectionToUpstreamConnectableShape" ;
-            sh:path s223:connectsFrom ],
-        [ rdfs:comment "If the relation connectsTo is present it must associate the Connection with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "ConnectionToDownstreamConnectableShape" ;
-            sh:path s223:connectsTo ],
-        [ rdfs:comment "A Connection must be associated with exactly one EnumerationKind-Medium using the relation hasMedium." ;
-            sh:class s223:Substance-Medium ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:name "Connection medium" ;
-            sh:path s223:hasMedium ],
-        [ rdfs:comment "A Connection can be associated with an EnumerationKind-Phase using the relation hasPhase." ;
-            sh:class s223:EnumerationKind-Phase ;
-            sh:maxCount 1 ;
-            sh:path s223:hasPhase ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the Connection with an EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ],
-        [ rdfs:comment "A Connection must have two or more cnx relations to ConnectionPoints" ;
-            sh:class s223:ConnectionPoint ;
-            sh:message "A Connection must have two or more cnx relations to ConnectionPoints" ;
-            sh:minCount 2 ;
-            sh:path s223:cnx ;
-            sh:severity sh:Info ] ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectsFrom relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectsFrom ?equipment .}
-WHERE {
-$this s223:connectsAt ?cp .
-?cp a s223:OutletConnectionPoint .
-?cp s223:isConnectionPointOf ?equipment .
-}
-""" ;
-            sh:name "InferredConnectionToUpstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectsTo relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectsTo ?equipment .}
-WHERE {
-$this s223:connectsAt ?cp .
-?cp a s223:InletConnectionPoint .
-?cp s223:isConnectionPointOf ?equipment .
-}
-""" ;
-            sh:name "InferredConnectionToDownstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer cnx relationship from connectsAt",
-                "InferredConnectionToConnectionPointBaseProperty" ;
-            sh:object [ sh:path s223:connectsAt ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer cnx relationship from connectsThrough",
-                "InferredConnectionToConnectionPointBasePropertyFromInverse" ;
-            sh:object [ sh:path [ sh:inversePath s223:connectsThrough ] ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the connectsAt relationship from cnx",
-                "InferredConnectionToConnectionPointProperty" ;
-            sh:object [ sh:path s223:cnx ] ;
-            sh:predicate s223:connectsAt ;
-            sh:subject sh:this ] .
-
-s223:OutletConnectionPoint a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Outlet Connection Point" ;
-    rdfs:comment "An OutletConnectionPoint indicates that a substance must flow out of the domain space at this connection point and cannot flow in the other direction. An OutletConnectionPoint is a predefined subclass of ConnectionPoint." ;
-    rdfs:subClassOf s223:ConnectionPoint ;
-    sh:property [ rdfs:comment "Ensure an OutletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection" ;
-            sh:path s223:mapsTo ;
-            sh:sparql [ ] ],
-        [ rdfs:comment "If the relation mapsTo is present it must associate the OutletConnectionPoint with an OutletConnectionPoint." ;
-            sh:class s223:OutletConnectionPoint ;
-            sh:path s223:mapsTo ] .
-
-s223:Connectable a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Connectable" ;
-    s223:abstract true ;
-    rdfs:comment "Connectable is an abstract class representing a thing (Equipment or DomainSpace) that can be connected via ConnectionPoints and Connections." ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "For a Connectable, cnx relation must associate the Connectable to a ConnectionPoint" ;
-            sh:path s223:cnx ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "A Connectable should only have a s223:cnx relation with a ConnectionPoint" ;
-                    sh:message "{$this} cannot have a s223:cnx relation to {?something}, because {?something} is not a ConnectionPoint." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """SELECT $this ?something
-WHERE {
-$this s223:cnx ?something .
-FILTER NOT EXISTS {?something a/rdfs:subClassOf* s223:ConnectionPoint} .
-}""" ] ],
-        [ rdfs:comment "If one ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment shall have a contains relation." ;
-            sh:path s223:mapsTo ;
-            sh:severity sh:Warning ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "If a Connectable is s223:connected (high-level), it must eventually have the underlying cnx relations." ;
-                    sh:message "{$this} is s223:connected (high-level) to {?otherC} but not yet connected at the cnx-level." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-SELECT $this ?otherC
-WHERE {
-$this s223:connected ?otherC .
-FILTER NOT EXISTS {$this s223:cnx+ ?otherC}
-}
-""" ] ],
-        [ rdfs:comment "If the relation cnx is present it must associate the Connectable with a ConnectionPoint." ;
-            sh:class s223:ConnectionPoint ;
-            sh:path s223:cnx ],
-        [ rdfs:comment "If the relation connected is present it must associate the Connectable with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "SymmetricConnectableToConnectableShape" ;
-            sh:path s223:connected ],
-        [ rdfs:comment "If the relation connectedFrom is present it must associate the Connectable with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:path s223:connectedFrom ],
-        [ rdfs:comment "If the relation connectedThrough is present it must associate the Connectable with a Connection." ;
-            sh:class s223:Connection ;
-            sh:name "EquipmentToConnectionShape" ;
-            sh:path s223:connectedThrough ],
-        [ rdfs:comment "If the relation connectedTo is present it must associate the Connectable with a Connectable." ;
-            sh:class s223:Connectable ;
-            sh:name "ConnectableToConnectableShape" ;
-            sh:path s223:connectedTo ],
-        [ rdfs:comment "If the relation hasConnectionPoint is present it must associate the Connectable with a ConnectionPoint." ;
-            sh:class s223:ConnectionPoint ;
-            sh:name "EquipmentToConnectionPointShape" ;
-            sh:path s223:hasConnectionPoint ] ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connected relationship for BiDirectional connections" ;
-            sh:construct """
-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} .
-}
-""" ;
-            sh:name "InferredEquipmentToDownstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the connected relationship using connectedTo" ;
-            sh:name "InferredEquipmentToEquipmentPropertyfromconnectedTo" ;
-            sh:object [ sh:path s223:connectedTo ] ;
-            sh:predicate s223:connected ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the connectedThrough relationship using hasConnectionPoint and connectsThrough" ;
-            sh:name "InferredEquipmentToConnectionProperty" ;
-            sh:object [ sh:path ( s223:hasConnectionPoint s223:connectsThrough ) ] ;
-            sh:predicate s223:connectedThrough ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the hasConnectionPoint relationship from cnx" ;
-            sh:name "InferredEquipmentToConnectionPointProperty" ;
-            sh:object [ sh:path s223:cnx ] ;
-            sh:predicate s223:hasConnectionPoint ;
-            sh:subject sh:this ],
-        [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectedFrom relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectedFrom ?equipment .}
-WHERE {
-$this s223:hasConnectionPoint ?cp .
-?cp a s223:InletConnectionPoint .
-?cp s223:connectsThrough/s223:connectsFrom ?equipment .
-}
-""" ;
-            sh:name "InferredEquipmentToUpstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the connectedTo relationship" ;
-            sh:construct """
-CONSTRUCT {$this s223:connectedTo ?equipment .}
-WHERE {
-$this s223:hasConnectionPoint ?cp .
-?cp a s223:OutletConnectionPoint .
-?cp s223:connectsThrough/s223:connectsTo ?equipment .
-}
-""" ;
-            sh:name "InferredEquipmentToDownstreamEquipmentProperty" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the cnx relationship from hasConnectionPoint" ;
-            sh:name "InferredEquipmentToConnectionPointCnxProperty" ;
-            sh:object [ sh:path s223:hasConnectionPoint ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the cnx relationship from isConnectionPointOf" ;
-            sh:name "InferredEquipmentToConnectionPointCnxPropertyFromInverse" ;
-            sh:object [ sh:path [ sh:inversePath s223:isConnectionPointOf ] ] ;
-            sh:predicate s223:cnx ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer the connected relationship using connectedFrom" ;
-            sh:name "InferredEquipmentToEquipmentPropertyfromconnectedFrom" ;
-            sh:object [ sh:path s223:connectedFrom ] ;
-            sh:predicate s223:connected ;
-            sh:subject sh:this ] .
-
-
-            
-
-
- -
-

Particulate sensor

-

URI: http://data.ashrae.org/standard223#ParticulateSensor

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:ParticulateSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Particulate sensor" ;
-    rdfs:comment "A ParticulateSensor is a specialization of a Sensor that observes a QuantifiableObservableProperty that represents a particulate concentration measurement." ;
-    rdfs:subClassOf s223:Sensor ;
-    sh:property [ rdfs:comment "If the relation ofSubstance is present it must associate the ParticulateSensor with a Substance-Particulate." ;
-            sh:class s223:Substance-Particulate ;
-            sh:path s223:ofSubstance ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:ParticulateSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Particulate sensor" ;
-    rdfs:comment "A ParticulateSensor is a specialization of a Sensor that observes a QuantifiableObservableProperty that represents a particulate concentration measurement." ;
-    rdfs:subClassOf s223:Sensor ;
-    sh:property [ rdfs:comment "If the relation ofSubstance is present it must associate the ParticulateSensor with a Substance-Particulate." ;
-            sh:class s223:Substance-Particulate ;
-            sh:path s223:ofSubstance ] .
-
-
-            
-
-
- -
-

Phase-Gas

-

URI: http://data.ashrae.org/standard223#Phase-Gas

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Phase-Gas a s223:Class,
-        s223:Phase-Gas,
-        sh:NodeShape ;
-    rdfs:label "Phase-Gas" ;
-    rdfs:comment "This class has enumerated instances of gas in various thermodynamic states." ;
-    rdfs:subClassOf s223:EnumerationKind-Phase .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Phase-Gas a s223:Class,
-        s223:Phase-Gas,
-        sh:NodeShape ;
-    rdfs:label "Phase-Gas" ;
-    rdfs:comment "This class has enumerated instances of gas in various thermodynamic states." ;
-    rdfs:subClassOf s223:EnumerationKind-Phase .
-
-
-            
-
-
- -
-

Phase-Liquid

-

URI: http://data.ashrae.org/standard223#Phase-Liquid

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Phase-Liquid a s223:Class,
-        s223:Phase-Liquid,
-        sh:NodeShape ;
-    rdfs:label "Phase-Liquid" ;
-    rdfs:comment "This class has enumerated instances of liquid in various thermodynamic states." ;
-    rdfs:subClassOf s223:EnumerationKind-Phase .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Phase-Liquid a s223:Class,
-        s223:Phase-Liquid,
-        sh:NodeShape ;
-    rdfs:label "Phase-Liquid" ;
-    rdfs:comment "This class has enumerated instances of liquid in various thermodynamic states." ;
-    rdfs:subClassOf s223:EnumerationKind-Phase .
-
-
-            
-
-
- -
-

Photovoltaic module

-

URI: http://data.ashrae.org/standard223#PhotovoltaicModule

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:PhotovoltaicModule a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Photovoltaic module" ;
-    rdfs:comment "A piece of equipment that converts sunlight into electricity." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "An PhotovoltaicModule must have at least one inlet using the medium EM-Light." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:EM-Light ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "An PhotovoltaicModule shall have at least one outlet using the medium Electricity." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:PhotovoltaicModule a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Photovoltaic module" ;
-    rdfs:comment "A piece of equipment that converts sunlight into electricity." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "An PhotovoltaicModule must have at least one inlet using the medium EM-Light." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "An PhotovoltaicModule shall have at least one outlet using the medium Electricity." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Physical Space

-

URI: http://data.ashrae.org/standard223#PhysicalSpace

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:PhysicalSpace a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Physical Space" ;
-    rdfs:comment "A PhysicalSpace is an architectural concept representing a room, a collection of rooms such as a floor, a part of a room, or any physical space that might not even be thought of as a room, such as a patio space or a roof." ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "If the relation contains is present it must associate the PhysicalSpace with a PhysicalSpace." ;
-            sh:class s223:PhysicalSpace ;
-            sh:path s223:contains ],
-        [ rdfs:comment "If the relation encloses is present it must associate the PhysicalSpace with a DomainSpace." ;
-            sh:class s223:DomainSpace ;
-            sh:path s223:encloses ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:hasPhysicalLocation a rdf:Property ;
-    rdfs:label "has Physical Location" ;
-    rdfs:comment "The relation hasPhysicalLocation is used to indicate the physical space (see `s223:PhysicalSpace`) where a piece of equipment (see `s223:Equipment`) is located." .
-
-s223:PhysicalSpace a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Physical Space" ;
-    rdfs:comment "A PhysicalSpace is an architectural concept representing a room, a collection of rooms such as a floor, a part of a room, or any physical space that might not even be thought of as a room, such as a patio space or a roof." ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "If the relation contains is present it must associate the PhysicalSpace with a PhysicalSpace." ;
-            sh:class s223:PhysicalSpace ;
-            sh:path s223:contains ],
-        [ rdfs:comment "If the relation encloses is present it must associate the PhysicalSpace with a DomainSpace." ;
-            sh:class s223:DomainSpace ;
-            sh:path s223:encloses ] .
-
-s223:encloses a rdf:Property ;
-    rdfs:label "encloses" ;
-    rdfs:comment "The relation encloses is used to indicate that a domain space (see: `s223:DomainSpace`) can be found inside a physical space (see `s223:PhysicalSpace`). " .
-
-
-            
-
-
- -
-

Pipe

-

URI: http://data.ashrae.org/standard223#Pipe

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Pipe a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Pipe" ;
-    rdfs:comment "A Pipe is a subclass of Connection, that represents a hollow cylinder of metal or other material used to convey a Medium." ;
-    rdfs:subClassOf s223:Connection .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Pipe a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Pipe" ;
-    rdfs:comment "A Pipe is a subclass of Connection, that represents a hollow cylinder of metal or other material used to convey a Medium." ;
-    rdfs:subClassOf s223:Connection .
-
-
-            
-
-
- -
-

Pressure sensor

-

URI: http://data.ashrae.org/standard223#PressureSensor

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:PressureSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Pressure sensor" ;
-    rdfs:comment "A PressureSensor is a specialization of a Sensor that observes a QuantifiableObservableProperty that represents a pressure measurement." ;
-    rdfs:subClassOf s223:Sensor .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:PressureSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Pressure sensor" ;
-    rdfs:comment "A PressureSensor is a specialization of a Sensor that observes a QuantifiableObservableProperty that represents a pressure measurement." ;
-    rdfs:subClassOf s223:Sensor .
-
-
-            
-
-
- -
-

Property

-

URI: http://data.ashrae.org/standard223#Property

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Property a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Property" ;
-    rdfs:comment """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 - parent of subclass of properties that can be modified by user or machine outside of the model (typically command)
-ObservableProperty - parent of subclass of properties that can not be modified by user or machine outside of the model (typically measures)
-EnumerableProperty - parent of subclass of properties defined by EnumerationKind
-QuantifiableProperty - parent of subclass of properties defined by numerical values
-
-And their different associations :
-QuantifiableActuatableProperty
-QuantifiableObservableProperty
-EnumeratedObservableProperty
-EnumeratedActuatableProperty
-
-A QuantifiableProperty (or subClass thereof) must 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 the QuantityKind (the most general version).
-
-Enumerable properties must be associated with an EnumerationKind.
-""" ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "If the relation hasAspect is present it must associate the Property with an EnumerationKind." ;
-            sh:class s223:EnumerationKind ;
-            sh:path s223:hasAspect ],
-        [ rdfs:comment "If the relation hasExternalReference is present it must associate the Property with an ExternalReference." ;
-            sh:class s223:ExternalReference ;
-            sh:path s223:hasExternalReference ],
-        [ rdfs:comment "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)" ;
-            sh:maxCount 1 ;
-            sh:path s223:hasValue ],
-        [ rdfs:comment "A Property can be associated with at most one EnumerationKind-Medium using the relation ofMedium" ;
-            sh:class s223:Substance-Medium ;
-            sh:maxCount 1 ;
-            sh:path s223:ofMedium ],
-        [ rdfs:comment "A Property can be associated with at most one EnumerationKind-Substance using the relation ofSubstance" ;
-            sh:class s223:EnumerationKind-Substance ;
-            sh:maxCount 1 ;
-            sh:path s223:ofSubstance ],
-        [ rdfs:comment "A Property can be associated with at most one FunctionBlock using the inverse relation hasOutput." ;
-            sh:class s223:FunctionBlock ;
-            sh:maxCount 1 ;
-            sh:message "A Property can be associated with at most one FunctionBlock using the inverse relation hasOutput." ;
-            sh:path [ sh:inversePath s223:hasOutput ] ] ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "A Property instance cannot be declared an instance of both an ActuatableProperty and an ObservableProperty." ;
-            sh:message "{$this} cannot be declared an instance of both an ActuatableProperty and an ObservableProperty." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-SELECT $this
-WHERE {
-$this a/rdfs:subClassOf* s223:ActuatableProperty .
-$this a/rdfs:subClassOf* s223:ObservableProperty .
-}
-""" ] .
-
-
-        
- -

See Also

- - -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Property a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Property" ;
-    rdfs:comment """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 - parent of subclass of properties that can be modified by user or machine outside of the model (typically command)
-ObservableProperty - parent of subclass of properties that can not be modified by user or machine outside of the model (typically measures)
-EnumerableProperty - parent of subclass of properties defined by EnumerationKind
-QuantifiableProperty - parent of subclass of properties defined by numerical values
-
-And their different associations :
-QuantifiableActuatableProperty
-QuantifiableObservableProperty
-EnumeratedObservableProperty
-EnumeratedActuatableProperty
-
-A QuantifiableProperty (or subClass thereof) must 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 the QuantityKind (the most general version).
-
-Enumerable properties must be associated with an EnumerationKind.
-""" ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "If the relation hasAspect is present it must associate the Property with an EnumerationKind." ;
-            sh:class s223:EnumerationKind ;
-            sh:path s223:hasAspect ],
-        [ rdfs:comment "If the relation hasExternalReference is present it must associate the Property with an ExternalReference." ;
-            sh:class s223:ExternalReference ;
-            sh:path s223:hasExternalReference ],
-        [ rdfs:comment "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)" ;
-            sh:maxCount 1 ;
-            sh:path s223:hasValue ],
-        [ rdfs:comment "A Property can be associated with at most one EnumerationKind-Medium using the relation ofMedium" ;
-            sh:class s223:Substance-Medium ;
-            sh:maxCount 1 ;
-            sh:path s223:ofMedium ],
-        [ rdfs:comment "A Property can be associated with at most one EnumerationKind-Substance using the relation ofSubstance" ;
-            sh:class s223:EnumerationKind-Substance ;
-            sh:maxCount 1 ;
-            sh:path s223:ofSubstance ],
-        [ rdfs:comment "A Property can be associated with at most one FunctionBlock using the inverse relation hasOutput." ;
-            sh:class s223:FunctionBlock ;
-            sh:maxCount 1 ;
-            sh:message "A Property can be associated with at most one FunctionBlock using the inverse relation hasOutput." ;
-            sh:path [ ] ] ;
-    sh:sparql [ ] .
-
-s223:Concept a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Concept" ;
-    s223:abstract true ;
-    rdfs:comment "All classes defined in the 223 standard are subclasses of s223:Concept." ;
-    rdfs:subClassOf rdfs:Resource ;
-    sh:property [ rdfs:comment "If the relation hasProperty is present, it must associate the concept with a Property." ;
-            sh:path s223:hasProperty ],
-        [ rdfs:comment "A Concept must be associated with at least one label using the relation label." ;
-            sh:minCount 1 ;
-            sh:path rdfs:label ;
-            sh:severity sh:Warning ] ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "Flag entities that have a hasMedium value which is incompatible with the ofMedium value of an associated Property." ;
-            sh:message "{$this} hasMedium of {?m1}, but is associated with property {?prop} that has ofMedium of {?m2}." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ],
-        [ a sh:SPARQLConstraint ;
-            rdfs:comment "Ensure that any instance that is declared to be an instance of an abstract class must also be declared an instance of at least one subClass of that abstract class" ;
-            sh:message "{$this} cannot be declared an instance of only abstract class {?class}." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-SELECT DISTINCT $this ?class
-WHERE {
-?class s223:abstract true .
-$this a ?class .
-OPTIONAL {
-?otherClass rdfs:subClassOf+ ?class .
-$this a ?otherClass .
-FILTER (?class != ?otherClass) .
-}
-FILTER (!bound (?otherClass)) .
-}
-""" ] .
-
-s223:Context-Attribute a s223:Class,
-        s223:Context-Attribute,
-        sh:NodeShape ;
-    rdfs:label "Context-Attribute" ;
-    rdfs:comment "This class has enumerated instances to specify contexts used with the s223:hasAspect relation for a s223:Property with a non-numerical value." ;
-    rdfs:subClassOf s223:EnumerationKind-Context .
-
-s223:Context-Dimensioned a s223:Class,
-        s223:Context-Dimensioned,
-        sh:NodeShape ;
-    rdfs:label "Context-Dimensioned" ;
-    rdfs:comment "This class has enumerated instances of contexts often used with the s223:hasAspect relation for a s223:Property with a numerical value, unit and quantitykind." ;
-    rdfs:subClassOf s223:EnumerationKind-Context .
-
-s223:Context-Dimensionless a s223:Class,
-        s223:Context-Dimensionless,
-        sh:NodeShape ;
-    rdfs:label "Context-Dimensionless" ;
-    rdfs:comment "This class has enumerated instances of contexts often used with the s223:hasAspect relation for a s223:Property with a dimensionless numerical value." ;
-    rdfs:subClassOf s223:EnumerationKind-Context .
-
-s223:EnumerationKind-Context a s223:Class,
-        s223:EnumerationKind-Context,
-        sh:NodeShape ;
-    rdfs:label "EnumerationKind-Context" ;
-    rdfs:comment "This class has enumerated instances to specify contexts used with the s223:hasAspect relation for a s223:Property." ;
-    rdfs:subClassOf s223:EnumerationKind .
-
-
-            
-
-
- -
-

Pump

-

URI: http://data.ashrae.org/standard223#Pump

-

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Pump a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Pump" ;
-    rdfs:comment "A machine for imparting energy to a fluid, drawing a fluid into itself through an entrance port, and forcing the fluid out through an exhaust port." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Pump shall have at least one inlet using the medium Water, Oil or Refrigerant." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:or ( [ sh:property [ sh:class s223:Medium-Water ;
-                                                sh:path s223:hasMedium ] ] [ sh:property [ sh:class s223:Medium-Refrigerant ;
-                                                sh:path s223:hasMedium ] ] [ sh:property [ sh:class s223:Medium-Oil ;
-                                                sh:path s223:hasMedium ] ] ) ] ] ],
-        [ rdfs:comment "A Pump shall have at least one outlet using the medium Water, Oil or Refrigerant." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:or ( [ sh:property [ sh:class s223:Medium-Water ;
-                                                sh:path s223:hasMedium ] ] [ sh:property [ sh:class s223:Medium-Refrigerant ;
-                                                sh:path s223:hasMedium ] ] [ sh:property [ sh:class s223:Medium-Oil ;
-                                                sh:path s223:hasMedium ] ] ) ] ] ],
-        [ rdfs:comment "The non-electrical ConnectionPoints of a Pump must have compatible Media." ;
-            sh:path s223:hasConnectionPoint ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "The non-electrical ConnectionPoints of a Pump must have compatible Media." ;
-                    sh:message "{?cpa} and {?cpb} on the Pump {$this} have incompatible Media {$mediuma} and {$mediumb}." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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:Medium-Electricity}) .
-  ?cpb s223:hasMedium ?mediumb .
-  FILTER (NOT EXISTS {?mediumb a/rdfs:subClassOf* s223:Medium-Electricity}) .
-  FILTER (?mediuma != ?mediumb) .
-  FILTER (NOT EXISTS {?mediumb a/rdfs:subClassOf* ?mediuma}) .
-  FILTER (NOT EXISTS {?mediuma a/rdfs:subClassOf* ?mediumb}) .
-}
-""" ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Pump a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Pump" ;
-    rdfs:comment "A machine for imparting energy to a fluid, drawing a fluid into itself through an entrance port, and forcing the fluid out through an exhaust port." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Pump shall have at least one inlet using the medium Water, Oil or Refrigerant." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A Pump shall have at least one outlet using the medium Water, Oil or Refrigerant." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "The non-electrical ConnectionPoints of a Pump must have compatible Media." ;
-            sh:path s223:hasConnectionPoint ;
-            sh:sparql [ ] ] .
-
-
-            
-
-
- -
-

Quantifiable Actuatable Property

-

URI: http://data.ashrae.org/standard223#QuantifiableActuatableProperty

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:QuantifiableActuatableProperty a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Quantifiable Actuatable Property" ;
-    rdfs:comment "This class is for quantifiable properties of which numerical values are specified to be modifiable by a user or a machine outside of the model, like a setpoint." ;
-    rdfs:subClassOf s223:ActuatableProperty,
-        s223:QuantifiableProperty .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:QuantifiableActuatableProperty a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Quantifiable Actuatable Property" ;
-    rdfs:comment "This class is for quantifiable properties of which numerical values are specified to be modifiable by a user or a machine outside of the model, like a setpoint." ;
-    rdfs:subClassOf s223:ActuatableProperty,
-        s223:QuantifiableProperty .
-
-
-            
-
-
- -
-

Quantifiable Observable Property

-

URI: http://data.ashrae.org/standard223#QuantifiableObservableProperty

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:QuantifiableObservableProperty a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Quantifiable Observable Property" ;
-    rdfs:comment "This class is for quantifiable properties of which numerical values cannot be modified by a user or a machine outside of the model, but only observed, like a temperature reading or a voltage measure." ;
-    rdfs:subClassOf s223:ObservableProperty,
-        s223:QuantifiableProperty .
-
-
-        
- -

See Also

- - -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:QuantifiableObservableProperty a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Quantifiable Observable Property" ;
-    rdfs:comment "This class is for quantifiable properties of which numerical values cannot be modified by a user or a machine outside of the model, but only observed, like a temperature reading or a voltage measure." ;
-    rdfs:subClassOf s223:ObservableProperty,
-        s223:QuantifiableProperty .
-
-s223:Sensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Sensor" ;
-    rdfs:comment "A Sensor observes an ObservableProperty (see `s223:ObservableProperty`) which may be quantifiable (see `s223:QuantifiableObservableProperty`), such as a temperature, flowrate, or concentration, or Enumerable (see `s223:EnumeratedObservableProperty)`, such as an alarm state or occupancy state." ;
-    rdfs:subClassOf s223:AbstractSensor ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the hasObservationLocation relationship for a Sensor from the Property that it is observing, only if that property is associated with a single entity." ;
-            sh:construct """
-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}
-}
-""" ;
-            sh:name "InferredMeasurementLocation" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ] ;
-    sh:xone ( [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation." ;
-                        sh:class s223:Connectable ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocation ] ] [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation." ;
-                        sh:class s223:Connection ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocation ] ] [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation." ;
-                        sh:class s223:ConnectionPoint ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocation ] ] ),
-        ( [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes." ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:observes ] ] [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes." ;
-                        sh:class s223:EnumeratedObservableProperty ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:observes ] ] ) .
-
-
-            
-
-
- -
-

Quantifiable Property

-

URI: http://data.ashrae.org/standard223#QuantifiableProperty

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:QuantifiableProperty a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Quantifiable Property" ;
-    rdfs:comment "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." ;
-    rdfs:subClassOf s223:Property,
-        <http://qudt.org/schema/qudt/Quantity> ;
-    sh:property [ rdfs:comment "This QuantifiableProperty and the Setpoint associated with it have non-commensurate QuantityKinds" ;
-            sh:path <http://qudt.org/schema/qudt/hasQuantityKind> ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "This QuantifiableProperty and the Setpoint associated with it have non-commensurate QuantityKinds" ;
-                    sh:message "{$this} uses QuantityKind {?pqk} with DimensionVector {?pdv}, while Setpoint {?setpoint} uses QuantityKind {?sqk} with DimensionVector {?sdv}. These are non-commensurate" ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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) .
-}
-""" ] ],
-        [ rdfs:comment "This QuantifiableProperty and the associated Setpoint use non-commensurate Units" ;
-            sh:path <http://qudt.org/schema/qudt/hasUnit> ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "This QuantifiableProperty and the associated Setpoint use non-commensurate Units" ;
-                    sh:message "{$this} uses Unit {?punit}, while Setpoint {?setpoint} uses Unit {?sunit}. These are non-commensurate." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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) .
-}
-""" ] ],
-        [ rdfs:comment "This QuantifiableProperty uses a different Unit than the Setpoint associated with it" ;
-            sh:path <http://qudt.org/schema/qudt/hasUnit> ;
-            sh:severity sh:Info ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "This QuantifiableProperty uses a different Unit than the Setpoint associated with it" ;
-                    sh:message "{$this} uses Unit {?punit}, while Setpoint {?setpoint} uses Unit {?sunit}. Be careful." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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) .
-}
-""" ] ],
-        [ rdfs:comment "If the relation hasSetpoint is present it must associate the QuantifiableProperty with a Setpoint." ;
-            sh:class s223:Setpoint ;
-            sh:path s223:hasSetpoint ],
-        [ rdfs:comment "A QuantifiableProperty can be associated with a decimal value using the relation hasValue" ;
-            sh:datatype xsd:decimal ;
-            sh:path s223:hasValue ],
-        [ rdfs:comment "A QuantifiableProperty must be associated with at least one QuantityKind using the relation hasQuantityKind." ;
-            sh:class <http://qudt.org/schema/qudt/QuantityKind> ;
-            sh:minCount 1 ;
-            sh:path <http://qudt.org/schema/qudt/hasQuantityKind> ],
-        [ rdfs:comment "A QuantifiableProperty must be associated with at least one Unit using the relation hasUnit." ;
-            sh:class <http://qudt.org/schema/qudt/Unit> ;
-            sh:minCount 1 ;
-            sh:path <http://qudt.org/schema/qudt/hasUnit> ;
-            sh:severity sh:Info ] ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the hasQuantityKind relationship if it is unambiguous" ;
-            sh:construct """
-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 .
-}
-""" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ] ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "Checks for consistent dimension vectors for a QuantityKind and the Unit" ;
-            sh:message "Inconsistent dimensionalities among the Property's Unit and Property's Quantity Kind" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-SELECT $this ?count
-WHERE {  
-{ SELECT  $this (COUNT (DISTINCT ?qkdv) AS ?count)
-   WHERE 
-{
-      {
-      $this qudt:hasQuantityKind/qudt:hasDimensionVector ?qkdv .
-      }
-      UNION
-      {
-      $this qudt:hasUnit/qudt:hasDimensionVector ?qkdv .
-      }
-}
- GROUP BY $this 
-}
-FILTER (?count > 1) .
-}
-""" ] .
-
-
-        
- -

See Also

- - -

Details

-
- All related shapes and rules -

-@prefix ns1: <http://qudt.org/schema/qudt/> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Water-GlycolSolution a s223:Class,
-        s223:Water-GlycolSolution,
-        sh:NodeShape ;
-    rdfs:label "Water-GlycolSolution" ;
-    s223:hasConstituent [ a s223:QuantifiableProperty ;
-            rdfs:label "Unspecified" ;
-            s223:ofSubstance s223:Medium-Glycol ;
-            ns1:hasQuantityKind <http://qudt.org/vocab/quantitykind/VolumeFraction> ;
-            ns1:hasUnit <http://qudt.org/vocab/unit/PERCENT> ],
-        [ a s223:QuantifiableProperty ;
-            rdfs:label "Unspecified" ;
-            s223:ofSubstance s223:Medium-Water ;
-            ns1:hasQuantityKind <http://qudt.org/vocab/quantitykind/VolumeFraction> ;
-            ns1:hasUnit <http://qudt.org/vocab/unit/PERCENT> ] ;
-    rdfs:comment "This class has enumerated instances of water-glycol solutions in various concentrations." ;
-    rdfs:subClassOf s223:Medium-Water ;
-    sh:property [ rdfs:comment "One of the constituents of a Water-GlycolSolution must be Medium-Water." ;
-            sh:path s223:hasConstituent ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:property [ rdfs:comment "One of the constituents of a Water-GlycolSolution must be Medium-Water." ;
-                            sh:hasValue s223:Medium-Water ;
-                            sh:path s223:ofSubstance ],
-                        [ rdfs:comment "The quantity kind of the constituent must be VolumeFraction." ;
-                            sh:hasValue <http://qudt.org/vocab/quantitykind/VolumeFraction> ;
-                            sh:path ns1:hasQuantityKind ] ] ],
-        [ rdfs:comment "There must be two QuantifiableProperties that characterize the constituents of a Water-GlycolSolution." ;
-            sh:minCount 2 ;
-            sh:path s223:hasConstituent ],
-        [ rdfs:comment "One of the constituents of a Water-GlycolSolution must be Medium-Glycol." ;
-            sh:path s223:hasConstituent ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:property [ rdfs:comment "One of the constituents of a Water-GlycolSolution must be Medium-Glycol." ;
-                            sh:hasValue s223:Medium-Glycol ;
-                            sh:path s223:ofSubstance ],
-                        [ rdfs:comment "The quantity kind of the constituent must be VolumeFraction." ;
-                            sh:hasValue <http://qudt.org/vocab/quantitykind/VolumeFraction> ;
-                            sh:path ns1:hasQuantityKind ] ] ] .
-
-s223:QuantifiableProperty a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Quantifiable Property" ;
-    rdfs:comment "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." ;
-    rdfs:subClassOf s223:Property,
-        ns1:Quantity ;
-    sh:property [ rdfs:comment "This QuantifiableProperty and the Setpoint associated with it have non-commensurate QuantityKinds" ;
-            sh:path ns1:hasQuantityKind ;
-            sh:sparql [ ] ],
-        [ rdfs:comment "This QuantifiableProperty and the associated Setpoint use non-commensurate Units" ;
-            sh:path ns1:hasUnit ;
-            sh:sparql [ ] ],
-        [ rdfs:comment "This QuantifiableProperty uses a different Unit than the Setpoint associated with it" ;
-            sh:path ns1:hasUnit ;
-            sh:severity sh:Info ;
-            sh:sparql [ ] ],
-        [ rdfs:comment "If the relation hasSetpoint is present it must associate the QuantifiableProperty with a Setpoint." ;
-            sh:class s223:Setpoint ;
-            sh:path s223:hasSetpoint ],
-        [ rdfs:comment "A QuantifiableProperty can be associated with a decimal value using the relation hasValue" ;
-            sh:datatype xsd:decimal ;
-            sh:path s223:hasValue ],
-        [ rdfs:comment "A QuantifiableProperty must be associated with at least one QuantityKind using the relation hasQuantityKind." ;
-            sh:class ns1:QuantityKind ;
-            sh:minCount 1 ;
-            sh:path ns1:hasQuantityKind ],
-        [ rdfs:comment "A QuantifiableProperty must be associated with at least one Unit using the relation hasUnit." ;
-            sh:class ns1:Unit ;
-            sh:minCount 1 ;
-            sh:path ns1:hasUnit ;
-            sh:severity sh:Info ] ;
-    sh:rule [ ] ;
-    sh:sparql [ ] .
-
-
-            
-
-
- -
-

Radiant panel

-

URI: http://data.ashrae.org/standard223#RadiantPanel

-

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:RadiantPanel a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Radiant panel" ;
-    rdfs:comment "A heating or cooling surface that delivers 50% or more of its heat transfer by radiation." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:or ( [ sh:property [ rdfs:comment "A radiant panel shall have at least one inlet using the medium Electricity, NaturalGas, or Water." ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasConnectionPoint ;
-                        sh:qualifiedMinCount 1 ;
-                        sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                                sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                                                sh:path s223:hasMedium ] ] ] ] ] [ sh:property [ rdfs:comment "A radiant panel shall have at least one inlet using the medium Electricity, NaturalGas, or Water." ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasConnectionPoint ;
-                        sh:qualifiedMinCount 1 ;
-                        sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                                sh:node [ sh:property [ sh:class s223:Medium-NaturalGas ;
-                                                sh:path s223:hasMedium ] ] ] ] ] [ sh:property [ rdfs:comment "A radiant panel shall have at least one inlet using the medium Electricity, NaturalGas, or Water." ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasConnectionPoint ;
-                        sh:qualifiedMinCount 1 ;
-                        sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                                sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                                                sh:path s223:hasMedium ] ] ] ],
-                    [ rdfs:comment "A radiant panel shall have at least one outlet using the medium Water." ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasConnectionPoint ;
-                        sh:qualifiedMinCount 1 ;
-                        sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                                sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                                                sh:path s223:hasMedium ] ] ] ] ] ) ;
-    sh:property [ rdfs:comment "A radiant panel must hasRole Role-Heating." ;
-            sh:minCount 1 ;
-            sh:path s223:hasRole ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:Role-Heating ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:RadiantPanel a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Radiant panel" ;
-    rdfs:comment "A heating or cooling surface that delivers 50% or more of its heat transfer by radiation." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:or [ rdf:first [ ] ;
-            rdf:rest [ ] ] ;
-    sh:property [ rdfs:comment "A radiant panel must hasRole Role-Heating." ;
-            sh:minCount 1 ;
-            sh:path s223:hasRole ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Radiator

-

URI: http://data.ashrae.org/standard223#Radiator

-

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Radiator a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Radiator" ;
-    rdfs:comment "A radiator provides heating to a room using electricity, steam or water (e.g., electric baseboard heaters)." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:or ( [ sh:property [ rdfs:comment "A Radiator shall have at least one inlet using the medium Electricity or Water." ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasConnectionPoint ;
-                        sh:qualifiedMinCount 1 ;
-                        sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                                sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                                                sh:path s223:hasMedium ] ] ] ] ] [ sh:property [ rdfs:comment "A Radiator shall have at least one inlet using the medium Electricity or Water." ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasConnectionPoint ;
-                        sh:qualifiedMinCount 1 ;
-                        sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                                sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                                                sh:path s223:hasMedium ] ] ] ],
-                    [ rdfs:comment "A Radiator shall have at least one outlet using the medium Water." ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasConnectionPoint ;
-                        sh:qualifiedMinCount 1 ;
-                        sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                                sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                                                sh:path s223:hasMedium ] ] ] ] ] ) ;
-    sh:property [ rdfs:comment "Radiators must have the role Role-Heating." ;
-            sh:minCount 1 ;
-            sh:path s223:hasRole ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:Role-Heating ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Radiator a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Radiator" ;
-    rdfs:comment "A radiator provides heating to a room using electricity, steam or water (e.g., electric baseboard heaters)." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:or [ rdf:first [ ] ;
-            rdf:rest [ ] ] ;
-    sh:property [ rdfs:comment "Radiators must have the role Role-Heating." ;
-            sh:minCount 1 ;
-            sh:path s223:hasRole ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Electrical resistance heater

-

URI: http://data.ashrae.org/standard223#ResistanceHeater

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:ResistanceHeater a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Electrical resistance heater" ;
-    rdfs:comment "Resistance heaters provide electrical resistance heating, for example an electric heating coil within a Fan Coil Unit." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A ResistanceHeater shall have at least one inlet using the medium Electricity." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "ResistanceHeaters must have the role Role-Heating." ;
-            sh:minCount 1 ;
-            sh:path s223:hasRole ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:Role-Heating ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:ResistanceHeater a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Electrical resistance heater" ;
-    rdfs:comment "Resistance heaters provide electrical resistance heating, for example an electric heating coil within a Fan Coil Unit." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A ResistanceHeater shall have at least one inlet using the medium Electricity." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "ResistanceHeaters must have the role Role-Heating." ;
-            sh:minCount 1 ;
-            sh:path s223:hasRole ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Sensor

-

URI: http://data.ashrae.org/standard223#Sensor

-

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Sensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Sensor" ;
-    rdfs:comment "A Sensor observes an ObservableProperty (see `s223:ObservableProperty`) which may be quantifiable (see `s223:QuantifiableObservableProperty`), such as a temperature, flowrate, or concentration, or Enumerable (see `s223:EnumeratedObservableProperty)`, such as an alarm state or occupancy state." ;
-    rdfs:subClassOf s223:AbstractSensor ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the hasObservationLocation relationship for a Sensor from the Property that it is observing, only if that property is associated with a single entity." ;
-            sh:construct """
-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}
-}
-""" ;
-            sh:name "InferredMeasurementLocation" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ] ;
-    sh:xone ( [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation." ;
-                        sh:class s223:Connectable ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocation ] ] [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation." ;
-                        sh:class s223:Connection ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocation ] ] [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation." ;
-                        sh:class s223:ConnectionPoint ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasObservationLocation ] ] ),
-        ( [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes." ;
-                        sh:class s223:QuantifiableObservableProperty ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:observes ] ] [ sh:property [ rdfs:comment "A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes." ;
-                        sh:class s223:EnumeratedObservableProperty ;
-                        sh:maxCount 1 ;
-                        sh:minCount 1 ;
-                        sh:path s223:observes ] ] ) .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Sensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Sensor" ;
-    rdfs:comment "A Sensor observes an ObservableProperty (see `s223:ObservableProperty`) which may be quantifiable (see `s223:QuantifiableObservableProperty`), such as a temperature, flowrate, or concentration, or Enumerable (see `s223:EnumeratedObservableProperty)`, such as an alarm state or occupancy state." ;
-    rdfs:subClassOf s223:AbstractSensor ;
-    sh:rule [ ] ;
-    sh:xone [ ],
-        [ ] .
-
-
-            
-
-
- -
-

Setpoint

-

URI: http://data.ashrae.org/standard223#Setpoint

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Setpoint a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Setpoint" ;
-    rdfs:comment "A subclass of QuantifiableProperty that is the desired or target value for an essential system variable, such as temperature, pressure, flow rate, or humidity." ;
-    rdfs:subClassOf s223:QuantifiableProperty,
-        <http://qudt.org/schema/qudt/Quantity> ;
-    sh:property [ rdfs:comment "A Setpoint can be associated with a decimal value using the relation hasDeadband" ;
-            sh:datatype xsd:decimal ;
-            sh:path s223:hasDeadband ],
-        [ rdfs:comment "A Setpoint can be assicated with a decimal value using the relation hasValue" ;
-            sh:datatype xsd:decimal ;
-            sh:path s223:hasValue ] ;
-    sh:rule [ a sh:SPARQLRule ;
-            rdfs:comment "Infer the hasQuantityKind relationship for a Setpoint if it is unambiguous" ;
-            sh:construct """
-CONSTRUCT {$this qudt:hasQuantityKind ?qk .}
-WHERE {
-FILTER (NOT EXISTS {$this qudt:hasQuantityKind ?something}) .
-$this ^s223:hasSetpoint ?property .
-?property qudt:hasQuantityKind ?qk .
-}
-""" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Setpoint a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Setpoint" ;
-    rdfs:comment "A subclass of QuantifiableProperty that is the desired or target value for an essential system variable, such as temperature, pressure, flow rate, or humidity." ;
-    rdfs:subClassOf s223:QuantifiableProperty,
-        <http://qudt.org/schema/qudt/Quantity> ;
-    sh:property [ rdfs:comment "A Setpoint can be associated with a decimal value using the relation hasDeadband" ;
-            sh:datatype xsd:decimal ;
-            sh:path s223:hasDeadband ],
-        [ rdfs:comment "A Setpoint can be assicated with a decimal value using the relation hasValue" ;
-            sh:datatype xsd:decimal ;
-            sh:path s223:hasValue ] ;
-    sh:rule [ ] .
-
-
-            
-
-
- -
-

Signal-Modulated

-

URI: http://data.ashrae.org/standard223#Signal-Modulated

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Signal-Modulated a s223:Class,
-        s223:Signal-Modulated,
-        sh:NodeShape ;
-    rdfs:label "Signal-Modulated" ;
-    rdfs:comment "This class has enumerated instances of electric signals at various voltage ranges." ;
-    rdfs:subClassOf s223:Electricity-Signal .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Signal-Modulated a s223:Class,
-        s223:Signal-Modulated,
-        sh:NodeShape ;
-    rdfs:label "Signal-Modulated" ;
-    rdfs:comment "This class has enumerated instances of electric signals at various voltage ranges." ;
-    rdfs:subClassOf s223:Electricity-Signal .
-
-
-            
-
-
- -
-

Single Duct Terminal.

-

URI: http://data.ashrae.org/standard223#SingleDuctTerminal

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:SingleDuctTerminal a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Single Duct Terminal." ;
-    rdfs:comment "An air-terminal unit assembly having one ducted air inlet and a damper for regulating the airflow rate." ;
-    rdfs:subClassOf s223:TerminalUnit ;
-    sh:property [ rdfs:comment "A SingleDuctTerminal must be associated with at least 1 Damper by contains." ;
-            sh:minCount 1 ;
-            sh:path s223:contains ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:Damper ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:SingleDuctTerminal a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Single Duct Terminal." ;
-    rdfs:comment "An air-terminal unit assembly having one ducted air inlet and a damper for regulating the airflow rate." ;
-    rdfs:subClassOf s223:TerminalUnit ;
-    sh:property [ rdfs:comment "A SingleDuctTerminal must be associated with at least 1 Damper by contains." ;
-            sh:minCount 1 ;
-            sh:path s223:contains ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Solar thermal collector

-

URI: http://data.ashrae.org/standard223#SolarThermalCollector

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:SolarThermalCollector a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Solar thermal collector" ;
-    rdfs:comment "A device that converts sunlight into thermal energy." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A SolarThermalCollector shall have at least one inlet using the medium EM-Light." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:EM-Light ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "A SolarThermalCollector shall have at least one outlet using the medium Water." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:SolarThermalCollector a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Solar thermal collector" ;
-    rdfs:comment "A device that converts sunlight into thermal energy." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A SolarThermalCollector shall have at least one inlet using the medium EM-Light." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A SolarThermalCollector shall have at least one outlet using the medium Water." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Medium

-

URI: http://data.ashrae.org/standard223#Substance-Medium

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Substance-Medium a s223:Class,
-        s223:Substance-Medium,
-        sh:NodeShape ;
-    rdfs:label "Medium" ;
-    rdfs:comment "This class has enumerated instances of a physical substance or anything that allows for the transfer of energy or information." ;
-    rdfs:subClassOf s223:EnumerationKind-Substance .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Substance-Medium a s223:Class,
-        s223:Substance-Medium,
-        sh:NodeShape ;
-    rdfs:label "Medium" ;
-    rdfs:comment "This class has enumerated instances of a physical substance or anything that allows for the transfer of energy or information." ;
-    rdfs:subClassOf s223:EnumerationKind-Substance .
-
-
-            
-
-
- -
-

Particulate

-

URI: http://data.ashrae.org/standard223#Substance-Particulate

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Substance-Particulate a s223:Class,
-        s223:Substance-Particulate,
-        sh:NodeShape ;
-    rdfs:label "Particulate" ;
-    rdfs:comment "This class has enumerated instances of particulates in various size ranges." ;
-    rdfs:subClassOf s223:EnumerationKind-Substance .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Substance-Particulate a s223:Class,
-        s223:Substance-Particulate,
-        sh:NodeShape ;
-    rdfs:label "Particulate" ;
-    rdfs:comment "This class has enumerated instances of particulates in various size ranges." ;
-    rdfs:subClassOf s223:EnumerationKind-Substance .
-
-
-            
-
-
- -
-

System

-

URI: http://data.ashrae.org/standard223#System

-

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:System a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "System" ;
-    rdfs:comment "A System is a logical grouping (collection) of Equipment for some functional or system reason, such as a chilled water system, or HVAC system. A System does not participate in Connections." ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ a sh:PropertyShape ;
-            rdfs:comment "A System can be associated with zero or any number of other instances of Equipment or System using the relation hasMember" ;
-            sh:minCount 2 ;
-            sh:or ( [ sh:class s223:Equipment ] [ sh:class s223:System ] ) ;
-            sh:path s223:hasMember ;
-            sh:severity sh:Warning ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the System with an EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:System a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "System" ;
-    rdfs:comment "A System is a logical grouping (collection) of Equipment for some functional or system reason, such as a chilled water system, or HVAC system. A System does not participate in Connections." ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ a sh:PropertyShape ;
-            rdfs:comment "A System can be associated with zero or any number of other instances of Equipment or System using the relation hasMember" ;
-            sh:minCount 2 ;
-            sh:or [ rdf:first [ ] ;
-                    rdf:rest [ ] ] ;
-            sh:path s223:hasMember ;
-            sh:severity sh:Warning ],
-        [ rdfs:comment "If the relation hasRole is present it must associate the System with an EnumerationKind-Role." ;
-            sh:class s223:EnumerationKind-Role ;
-            sh:path s223:hasRole ] .
-
-
-            
-
-
- -
-

Temp sensor

-

URI: http://data.ashrae.org/standard223#TemperatureSensor

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:TemperatureSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Temp sensor" ;
-    rdfs:comment "A TemperatureSensor is a specialization of a Sensor that observes a QuantifiableObservableProperty that represents a temperature measurement." ;
-    rdfs:subClassOf s223:Sensor ;
-    sh:property [ rdfs:comment "A TemperatureSensor must always observe a Property that has a QuantityKind of Temperature." ;
-            sh:path s223:observes ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:Property ;
-                    sh:node [ sh:property [ sh:hasValue <http://qudt.org/vocab/quantitykind/Temperature> ;
-                                    sh:path <http://qudt.org/schema/qudt/hasQuantityKind> ] ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:TemperatureSensor a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Temp sensor" ;
-    rdfs:comment "A TemperatureSensor is a specialization of a Sensor that observes a QuantifiableObservableProperty that represents a temperature measurement." ;
-    rdfs:subClassOf s223:Sensor ;
-    sh:property [ rdfs:comment "A TemperatureSensor must always observe a Property that has a QuantityKind of Temperature." ;
-            sh:path s223:observes ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Terminal Unit

-

URI: http://data.ashrae.org/standard223#TerminalUnit

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:TerminalUnit a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Terminal Unit" ;
-    rdfs:comment "An air terminal that modulates the volume of air delivered to a space." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A TerminalUnit shall have at least one inlet ConnectionPoint using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "A TerminalUnit shall have at least one outlet ConnectionPoint using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-
-        
- -

See Also

- - -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:DualDuctTerminal a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Dual duct air terminal." ;
-    rdfs:comment "A dual duct air terminal mixes two independent sources of primary air." ;
-    rdfs:seeAlso s223:TerminalUnit ;
-    sh:property [ rdfs:comment "A DualDuctTerminal shall have at least two inlets using the medium Air." ;
-            sh:minCount 2 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 2 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-s223:TerminalUnit a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Terminal Unit" ;
-    rdfs:comment "An air terminal that modulates the volume of air delivered to a space." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A TerminalUnit shall have at least one inlet ConnectionPoint using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A TerminalUnit shall have at least one outlet ConnectionPoint using the medium Air." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Thermostat

-

URI: http://data.ashrae.org/standard223#Thermostat

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Thermostat a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Thermostat" ;
-    rdfs:comment "An automatic control device used to maintain temperature at a fixed or adjustable setpoint." ;
-    rdfs:subClassOf s223:Equipment .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Thermostat a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Thermostat" ;
-    rdfs:comment "An automatic control device used to maintain temperature at a fixed or adjustable setpoint." ;
-    rdfs:subClassOf s223:Equipment .
-
-
-            
-
-
- -
-

Three way valve

-

URI: http://data.ashrae.org/standard223#ThreeWayValve

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:ThreeWayValve a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Three way valve" ;
-    rdfs:comment "A Valve that can divert a fluid in one of three directions." ;
-    rdfs:subClassOf s223:Valve ;
-    sh:property [ rdfs:comment "A ThreeWayValve must have at least three ConnectionPoints using the relation hasConnectionPoint." ;
-            sh:minCount 3 ;
-            sh:path s223:hasConnectionPoint ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:ThreeWayValve a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Three way valve" ;
-    rdfs:comment "A Valve that can divert a fluid in one of three directions." ;
-    rdfs:subClassOf s223:Valve ;
-    sh:property [ rdfs:comment "A ThreeWayValve must have at least three ConnectionPoints using the relation hasConnectionPoint." ;
-            sh:minCount 3 ;
-            sh:path s223:hasConnectionPoint ] .
-
-
-            
-
-
- -
-

Turbine

-

URI: http://data.ashrae.org/standard223#Turbine

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Turbine a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Turbine" ;
-    rdfs:comment "An energy transducer that converts mechanical energy into electric energy." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Turbine shall have at least one outlet using the medium Electricity." ;
-            sh:class s223:OutletConnectionPoint ;
-            sh:minCount 1 ;
-            sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                            sh:path s223:hasMedium ] ] ;
-            sh:path s223:hasConnectionPoint ],
-        [ rdfs:comment "A Turbine must be associated with at least one ConnectionPoint using the relation hasConnectionPoint." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Turbine a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Turbine" ;
-    rdfs:comment "An energy transducer that converts mechanical energy into electric energy." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Turbine shall have at least one outlet using the medium Electricity." ;
-            sh:class s223:OutletConnectionPoint ;
-            sh:minCount 1 ;
-            sh:node [ ] ;
-            sh:path s223:hasConnectionPoint ],
-        [ rdfs:comment "A Turbine must be associated with at least one ConnectionPoint using the relation hasConnectionPoint." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ] .
-
-
-            
-
-
- -
-

Two way valve

-

URI: http://data.ashrae.org/standard223#TwoWayValve

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:TwoWayValve a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Two way valve" ;
-    rdfs:comment "A Valve that can divert a fluid in one of two directions." ;
-    rdfs:subClassOf s223:Valve ;
-    sh:property [ rdfs:comment "A TwoWayValve shall have at least one inlet." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ] ],
-        [ rdfs:comment "A TwoWayValve shall have at least one outlet." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:TwoWayValve a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Two way valve" ;
-    rdfs:comment "A Valve that can divert a fluid in one of two directions." ;
-    rdfs:subClassOf s223:Valve ;
-    sh:property [ rdfs:comment "A TwoWayValve shall have at least one inlet." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A TwoWayValve shall have at least one outlet." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Valve

-

URI: http://data.ashrae.org/standard223#Valve

-

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Valve a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Valve" ;
-    rdfs:comment "A device to regulate or stop the flow of fluid in a pipe or a duct by throttling." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:or ( [ sh:property [ rdfs:comment "A Valve shall have at least one inlet and one outlet or two bidirectional connection points." ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasConnectionPoint ;
-                        sh:qualifiedMinCount 1 ;
-                        sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ] ;
-                        sh:qualifiedValueShapesDisjoint true ],
-                    [ rdfs:comment "A Valve shall have at least one inlet and one outlet or two bidirectional connection points." ;
-                        sh:minCount 1 ;
-                        sh:path s223:hasConnectionPoint ;
-                        sh:qualifiedMinCount 1 ;
-                        sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ] ;
-                        sh:qualifiedValueShapesDisjoint true ] ] [ sh:property [ rdfs:comment "A Valve shall have at least one inlet and one outlet or two bidirectional connection points." ;
-                        sh:minCount 2 ;
-                        sh:path s223:hasConnectionPoint ;
-                        sh:qualifiedMinCount 2 ;
-                        sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ] ;
-                        sh:qualifiedValueShapesDisjoint true ] ] ) .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:Valve a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Valve" ;
-    rdfs:comment "A device to regulate or stop the flow of fluid in a pipe or a duct by throttling." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:or [ rdf:first [ ] ;
-            rdf:rest [ ] ] .
-
-
-            
-
-
- -
-

VariableFrequencyDrive

-

URI: http://data.ashrae.org/standard223#VariableFrequencyDrive

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:VariableFrequencyDrive a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "VariableFrequencyDrive" ;
-    rdfs:comment "An electronic device that varies its output frequency to vary the rotating speed 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." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "If the relation connectedTo is present it must associate the VariableFrequencyDrive with a Equipment." ;
-            sh:class s223:Equipment ;
-            sh:path s223:connectedTo ],
-        [ rdfs:comment "A VariableFrequencyDrive shall have at least one outlet using the medium Electricity." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "A VariableFrequencyDrive shall have at least one inlet using the medium Electricity." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                                    sh:path s223:hasMedium ] ] ] ;
-            sh:severity sh:Warning ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:VariableFrequencyDrive a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "VariableFrequencyDrive" ;
-    rdfs:comment "An electronic device that varies its output frequency to vary the rotating speed 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." ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "If the relation connectedTo is present it must associate the VariableFrequencyDrive with a Equipment." ;
-            sh:class s223:Equipment ;
-            sh:path s223:connectedTo ],
-        [ rdfs:comment "A VariableFrequencyDrive shall have at least one outlet using the medium Electricity." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A VariableFrequencyDrive shall have at least one inlet using the medium Electricity." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ;
-            sh:severity sh:Warning ] .
-
-
-            
-
-
- -
-

Water-GlycolSolution

-

URI: http://data.ashrae.org/standard223#Water-GlycolSolution

-

-@prefix ns1: <http://qudt.org/schema/qudt/> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Water-GlycolSolution a s223:Class,
-        s223:Water-GlycolSolution,
-        sh:NodeShape ;
-    rdfs:label "Water-GlycolSolution" ;
-    s223:hasConstituent [ a s223:QuantifiableProperty ;
-            rdfs:label "Unspecified" ;
-            s223:ofSubstance s223:Medium-Glycol ;
-            ns1:hasQuantityKind <http://qudt.org/vocab/quantitykind/VolumeFraction> ;
-            ns1:hasUnit <http://qudt.org/vocab/unit/PERCENT> ],
-        [ a s223:QuantifiableProperty ;
-            rdfs:label "Unspecified" ;
-            s223:ofSubstance s223:Medium-Water ;
-            ns1:hasQuantityKind <http://qudt.org/vocab/quantitykind/VolumeFraction> ;
-            ns1:hasUnit <http://qudt.org/vocab/unit/PERCENT> ] ;
-    rdfs:comment "This class has enumerated instances of water-glycol solutions in various concentrations." ;
-    rdfs:subClassOf s223:Medium-Water ;
-    sh:property [ rdfs:comment "One of the constituents of a Water-GlycolSolution must be Medium-Water." ;
-            sh:path s223:hasConstituent ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:QuantifiableProperty ;
-                    sh:property [ rdfs:comment "One of the constituents of a Water-GlycolSolution must be Medium-Water." ;
-                            sh:hasValue s223:Medium-Water ;
-                            sh:path s223:ofSubstance ],
-                        [ rdfs:comment "The quantity kind of the constituent must be VolumeFraction." ;
-                            sh:hasValue <http://qudt.org/vocab/quantitykind/VolumeFraction> ;
-                            sh:path ns1:hasQuantityKind ] ] ],
-        [ rdfs:comment "There must be two QuantifiableProperties that characterize the constituents of a Water-GlycolSolution." ;
-            sh:class s223:QuantifiableProperty ;
-            sh:minCount 2 ;
-            sh:path s223:hasConstituent ],
-        [ rdfs:comment "One of the constituents of a Water-GlycolSolution must be Medium-Glycol." ;
-            sh:path s223:hasConstituent ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:QuantifiableProperty ;
-                    sh:property [ rdfs:comment "One of the constituents of a Water-GlycolSolution must be Medium-Glycol." ;
-                            sh:hasValue s223:Medium-Glycol ;
-                            sh:path s223:ofSubstance ],
-                        [ rdfs:comment "The quantity kind of the constituent must be VolumeFraction." ;
-                            sh:hasValue <http://qudt.org/vocab/quantitykind/VolumeFraction> ;
-                            sh:path ns1:hasQuantityKind ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Water-GlycolSolution a s223:Class,
-        s223:Water-GlycolSolution,
-        sh:NodeShape ;
-    rdfs:label "Water-GlycolSolution" ;
-    s223:hasConstituent [ ],
-        [ ] ;
-    rdfs:comment "This class has enumerated instances of water-glycol solutions in various concentrations." ;
-    rdfs:subClassOf s223:Medium-Water ;
-    sh:property [ rdfs:comment "One of the constituents of a Water-GlycolSolution must be Medium-Water." ;
-            sh:path s223:hasConstituent ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "There must be two QuantifiableProperties that characterize the constituents of a Water-GlycolSolution." ;
-            sh:class s223:QuantifiableProperty ;
-            sh:minCount 2 ;
-            sh:path s223:hasConstituent ],
-        [ rdfs:comment "One of the constituents of a Water-GlycolSolution must be Medium-Glycol." ;
-            sh:path s223:hasConstituent ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Water filter

-

URI: http://data.ashrae.org/standard223#WaterFilter

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:WaterFilter a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Water filter" ;
-    rdfs:comment "A device that removes particulates from water." ;
-    rdfs:subClassOf s223:Filter ;
-    sh:property [ rdfs:comment "A WaterFilter shall have at least one inlet using the medium Water." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "A WaterFilter shall have at least one outlet using the medium Water." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:WaterFilter a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Water filter" ;
-    rdfs:comment "A device that removes particulates from water." ;
-    rdfs:subClassOf s223:Filter ;
-    sh:property [ rdfs:comment "A WaterFilter shall have at least one inlet using the medium Water." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A WaterFilter shall have at least one outlet using the medium Water." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-
-            
-
-
- -
-

Window

-

URI: http://data.ashrae.org/standard223#Window

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Window a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Window" ;
-    rdfs:comment "A daylight opening on a vertical or nearly vertical area of a room envelope" ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Window shall have at least one inlet using the medium Light." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:EM-Light ;
-                                    sh:path s223:hasMedium ] ] ] ],
-        [ rdfs:comment "A Window shall have at least one outlet using the medium Light." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-                    sh:node [ sh:property [ sh:class s223:EM-Light ;
-                                    sh:path s223:hasMedium ] ] ] ] .
-
-
-        
- -

See Also

- - -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Window a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Window" ;
-    rdfs:comment "A daylight opening on a vertical or nearly vertical area of a room envelope" ;
-    rdfs:subClassOf s223:Equipment ;
-    sh:property [ rdfs:comment "A Window shall have at least one inlet using the medium Light." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ],
-        [ rdfs:comment "A Window shall have at least one outlet using the medium Light." ;
-            sh:minCount 1 ;
-            sh:path s223:hasConnectionPoint ;
-            sh:qualifiedMinCount 1 ;
-            sh:qualifiedValueShape [ ] ] .
-
-s223:WindowShade a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Window shade" ;
-    rdfs:comment "A window covering that can be moved to block out or allow in light. " ;
-    rdfs:subClassOf s223:Equipment .
-
-
-            
-
-
- -
-

Window shade

-

URI: http://data.ashrae.org/standard223#WindowShade

-

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:WindowShade a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Window shade" ;
-    rdfs:comment "A window covering that can be moved to block out or allow in light. " ;
-    rdfs:subClassOf s223:Equipment .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-s223:WindowShade a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Window shade" ;
-    rdfs:comment "A window covering that can be moved to block out or allow in light. " ;
-    rdfs:subClassOf s223:Equipment .
-
-
-            
-
-
- -
-

Zone

-

URI: http://data.ashrae.org/standard223#Zone

-

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Zone a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Zone" ;
-    rdfs:comment "A Zone is a logical grouping (collection) of domain spaces for some functional or system reason, to identify a domain of control, such as a Lighting Zone, or a heating zone" ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "The associated Domain of a Zone and the Domain of the DomainSpaces it contains must be the same." ;
-            sh:path s223:hasDomain ;
-            sh:sparql [ a sh:SPARQLConstraint ;
-                    rdfs:comment "The associated Domain of a Zone and the Domain of the DomainSpaces it contains must be the same." ;
-                    sh:message "Zone {$this} has a Domain of {?domain}, but it contains a DomainSpace {?ds} which has a Domain of {?dsdomain}. These should be the same." ;
-                    sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-                    sh:select """
-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)
-}
-""" ] ],
-        [ rdfs:comment "A Zone must be associated with exactly one EnumerationKind-Domain using the relation hasDomain." ;
-            sh:class s223:EnumerationKind-Domain ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:path s223:hasDomain ],
-        [ rdfs:comment "A Zone must be associated with at least one DomainSpace using the relation hasDomainSpace." ;
-            sh:class s223:DomainSpace ;
-            sh:minCount 1 ;
-            sh:path s223:hasDomainSpace ] ;
-    sh:rule [ a sh:TripleRule ;
-            rdfs:comment "Infer a hasDomain relation by checking any enclosed DomainSpaces to determine the domain." ;
-            sh:object [ sh:path ( s223:hasDomainSpace s223:hasDomain ) ] ;
-            sh:predicate s223:hasDomain ;
-            sh:subject sh:this ],
-        [ a sh:TripleRule ;
-            rdfs:comment "Infer a hasDomain relation by checking any enclosing ZoneGroup to determine the domain." ;
-            sh:object [ sh:path ( [ sh:inversePath s223:hasZone ] s223:hasDomain ) ] ;
-            sh:predicate s223:hasDomain ;
-            sh:subject sh:this ] .
-
-
-        
- -

See Also

- - -

Details

-
- All related shapes and rules -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:Zone a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Zone" ;
-    rdfs:comment "A Zone is a logical grouping (collection) of domain spaces for some functional or system reason, to identify a domain of control, such as a Lighting Zone, or a heating zone" ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "The associated Domain of a Zone and the Domain of the DomainSpaces it contains must be the same." ;
-            sh:path s223:hasDomain ;
-            sh:sparql [ ] ],
-        [ rdfs:comment "A Zone must be associated with exactly one EnumerationKind-Domain using the relation hasDomain." ;
-            sh:class s223:EnumerationKind-Domain ;
-            sh:maxCount 1 ;
-            sh:minCount 1 ;
-            sh:path s223:hasDomain ],
-        [ rdfs:comment "A Zone must be associated with at least one DomainSpace using the relation hasDomainSpace." ;
-            sh:class s223:DomainSpace ;
-            sh:minCount 1 ;
-            sh:path s223:hasDomainSpace ] ;
-    sh:rule [ ],
-        [ ] .
-
-s223:ZoneGroup a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Zone group" ;
-    rdfs:comment "A ZoneGroup is a logical grouping (collection) of Zones for some functional or system reason, to identify a domain of control, such as a Lighting Zone, or a heating zone." ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "A ZoneGroup must be associated with at least one Zone using the relation hasZone." ;
-            sh:minCount 1 ;
-            sh:path s223:hasZone ] ;
-    sh:rule [ a sh:TripleRule ;
-            rdfs:comment "Infer a hasDomain relation by checking any enclosed Zones to determine the domain." ;
-            sh:object [ sh:path ( s223:hasZone s223:hasDomain ) ] ;
-            sh:predicate s223:hasDomain ;
-            sh:subject sh:this ] .
-
-
-            
-
-
- -
-

Zone group

-

URI: http://data.ashrae.org/standard223#ZoneGroup

-

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:ZoneGroup a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Zone group" ;
-    rdfs:comment "A ZoneGroup is a logical grouping (collection) of Zones for some functional or system reason, to identify a domain of control, such as a Lighting Zone, or a heating zone." ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "A ZoneGroup must be associated with at least one Zone using the relation hasZone." ;
-            sh:class s223:Zone ;
-            sh:minCount 1 ;
-            sh:path s223:hasZone ] ;
-    sh:rule [ a sh:TripleRule ;
-            rdfs:comment "Infer a hasDomain relation by checking any enclosed Zones to determine the domain." ;
-            sh:object [ sh:path ( s223:hasZone s223:hasDomain ) ] ;
-            sh:predicate s223:hasDomain ;
-            sh:subject sh:this ] .
-
-
-        
- -

Details

-
- All related shapes and rules -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-s223:ZoneGroup a s223:Class,
-        sh:NodeShape ;
-    rdfs:label "Zone group" ;
-    rdfs:comment "A ZoneGroup is a logical grouping (collection) of Zones for some functional or system reason, to identify a domain of control, such as a Lighting Zone, or a heating zone." ;
-    rdfs:subClassOf s223:Concept ;
-    sh:property [ rdfs:comment "A ZoneGroup must be associated with at least one Zone using the relation hasZone." ;
-            sh:class s223:Zone ;
-            sh:minCount 1 ;
-            sh:path s223:hasZone ] ;
-    sh:rule [ ] .
-
-
-            
-
-
- - -
-

If the relation connectedFrom is present it must associate the Connectable with a Connectable.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation connectedFrom is present it must associate the Connectable with a Connectable." ;
-    sh:class s223:Connectable ;
-    sh:path s223:connectedFrom .
-
-
-        
-
- -
-

A CorrelatedColorTemperatureSensor must always observe a Property that has a QuantityKind of ThermodynamicTemperature.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A CorrelatedColorTemperatureSensor must always observe a Property that has a QuantityKind of ThermodynamicTemperature." ;
-    sh:path s223:observes ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:Property ;
-            sh:node [ sh:property [ sh:hasValue <http://qudt.org/vocab/quantitykind/ThermodynamicTemperature> ;
-                            sh:path <http://qudt.org/schema/qudt/hasQuantityKind> ] ] ] .
-
-
-        
-
- -
-

InferredMeasurementLocation

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:SPARQLRule ;
-    rdfs:comment "Infer the hasObservationLocation relationship for a Sensor from the Property that it is observing, only if that property is associated with a single entity." ;
-    sh:construct """
-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}
-}
-""" ;
-    sh:name "InferredMeasurementLocation" ;
-    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> .
-
-
-        
-
- -
-

A DuvSensor must always observe a Property that has a QuantityKind of Duv.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A DuvSensor must always observe a Property that has a QuantityKind of Duv." ;
-    sh:path s223:observes ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:Property ;
-            sh:node [ sh:property [ sh:hasValue <http://qudt.org/vocab/quantitykind/Duv> ;
-                            sh:path <http://qudt.org/schema/qudt/hasQuantityKind> ] ] ] .
-
-
-        
-
- -
-

A TwoWayValve shall have at least one outlet.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A TwoWayValve shall have at least one outlet." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ] .
-
-
-        
-
- -
-

Property Shape

- - -

-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] sh:class s223:Medium-Electricity ;
-    sh:path s223:hasMedium .
-
-
-        
-
- -
-

If the relation mapsTo is present it must associate the InletConnectionPoint with an InletConnectionPoint.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation mapsTo is present it must associate the InletConnectionPoint with an InletConnectionPoint." ;
-    sh:class s223:InletConnectionPoint ;
-    sh:path s223:mapsTo .
-
-
-        
-
- -
-

A Fan shall have at least one inlet using the medium Air.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Fan shall have at least one inlet using the medium Air." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

Radiators must have the role Role-Heating.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "Radiators must have the role Role-Heating." ;
-    sh:minCount 1 ;
-    sh:path s223:hasRole ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:Role-Heating ] .
-
-
-        
-
- -
-

One of the constituents of a Water-GlycolSolution must be Medium-Water.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "One of the constituents of a Water-GlycolSolution must be Medium-Water." ;
-    sh:path s223:hasConstituent ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:QuantifiableProperty ;
-            sh:property [ rdfs:comment "One of the constituents of a Water-GlycolSolution must be Medium-Water." ;
-                    sh:hasValue s223:Medium-Water ;
-                    sh:path s223:ofSubstance ],
-                [ rdfs:comment "The quantity kind of the constituent must be VolumeFraction." ;
-                    sh:hasValue <http://qudt.org/vocab/quantitykind/VolumeFraction> ;
-                    sh:path <http://qudt.org/schema/qudt/hasQuantityKind> ] ] .
-
-
-        
-
- -
-

If the relation cnx is present it must associate the Connectable with a ConnectionPoint.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation cnx is present it must associate the Connectable with a ConnectionPoint." ;
-    sh:class s223:ConnectionPoint ;
-    sh:path s223:cnx .
-
-
-        
-
- -
-

A Pump shall have at least one outlet using the medium Water, Oil or Refrigerant.

- - -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Pump shall have at least one outlet using the medium Water, Oil or Refrigerant." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:or ( [ sh:property [ sh:class s223:Medium-Water ;
-                                        sh:path s223:hasMedium ] ] [ sh:property [ sh:class s223:Medium-Refrigerant ;
-                                        sh:path s223:hasMedium ] ] [ sh:property [ sh:class s223:Medium-Oil ;
-                                        sh:path s223:hasMedium ] ] ) ] ] .
-
-
-        
-
- -
-

An ElectricWire must be associated with exactly one Medium-Electricity using the relation hasMedium.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An ElectricWire must be associated with exactly one Medium-Electricity using the relation hasMedium." ;
-    sh:class s223:Medium-Electricity ;
-    sh:maxCount 1 ;
-    sh:minCount 1 ;
-    sh:path s223:hasMedium .
-
-
-        
-
- -
-

An electricity AC medium must have a voltage.

- - -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An electricity AC medium must have a voltage." ;
-    sh:minCount 1 ;
-    sh:or ( [ sh:class s223:Dimensioned-LineLineVoltage ] [ sh:class s223:Dimensioned-LineNeutralVoltage ] [ sh:class s223:Dimensioned-Voltage ] ) ;
-    sh:path s223:hasVoltage .
-
-
-        
-
- -
-

If the relation hasRole is present it must associate the ConnectionPoint with an EnumerationKind-Role.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation hasRole is present it must associate the ConnectionPoint with an EnumerationKind-Role." ;
-    sh:class s223:EnumerationKind-Role ;
-    sh:path s223:hasRole .
-
-
-        
-
- -
-

ConnectionPointToEquipmentShape

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A ConnectionPoint must be associated with exactly one Connectable using the relation isConnectionPointOf." ;
-    sh:class s223:Connectable ;
-    sh:maxCount 1 ;
-    sh:minCount 1 ;
-    sh:name "ConnectionPointToEquipmentShape" ;
-    sh:path s223:isConnectionPointOf .
-
-
-        
-
- -
-

A SolarThermalCollector shall have at least one outlet using the medium Water.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A SolarThermalCollector shall have at least one outlet using the medium Water." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A DifferentialSensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocationLow.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A DifferentialSensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocationLow." ;
-    sh:class s223:Connectable ;
-    sh:maxCount 1 ;
-    sh:minCount 1 ;
-    sh:path s223:hasObservationLocationLow .
-
-
-        
-
- -
-

An ElectricTransformer shall have at least one inlet using the medium Electricity.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An ElectricTransformer shall have at least one inlet using the medium Electricity." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

Cooling coils will always have the role Role-Cooling

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:TripleRule ;
-    rdfs:comment "Cooling coils will always have the role Role-Cooling" ;
-    sh:object s223:Role-Cooling ;
-    sh:predicate s223:hasRole ;
-    sh:subject sh:this .
-
-
-        
-
- -
-

The non-electrical ConnectionPoints of a Pump must have compatible Media.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "The non-electrical ConnectionPoints of a Pump must have compatible Media." ;
-    sh:path s223:hasConnectionPoint ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "The non-electrical ConnectionPoints of a Pump must have compatible Media." ;
-            sh:message "{?cpa} and {?cpb} on the Pump {$this} have incompatible Media {$mediuma} and {$mediumb}." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-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:Medium-Electricity}) .
-  ?cpb s223:hasMedium ?mediumb .
-  FILTER (NOT EXISTS {?mediumb a/rdfs:subClassOf* s223:Medium-Electricity}) .
-  FILTER (?mediuma != ?mediumb) .
-  FILTER (NOT EXISTS {?mediumb a/rdfs:subClassOf* ?mediuma}) .
-  FILTER (NOT EXISTS {?mediuma a/rdfs:subClassOf* ?mediumb}) .
-}
-""" ] .
-
-
-        
-
- -
-

An AirHandlingUnit shall have at least one outlet using the medium Air.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An AirHandlingUnit shall have at least one outlet using the medium Air." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

An AbstractSensor must be associated with exactly one ObservableProperty using the relation observes.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An AbstractSensor must be associated with exactly one ObservableProperty using the relation observes." ;
-    sh:class s223:ObservableProperty ;
-    sh:maxCount 1 ;
-    sh:minCount 1 ;
-    sh:path s223:observes .
-
-
-        
-
- -
-

A Generator shall have at least one outlet using the medium Electricity.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Generator shall have at least one outlet using the medium Electricity." ;
-    sh:class s223:OutletConnectionPoint ;
-    sh:minCount 1 ;
-    sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                    sh:path s223:hasMedium ] ] ;
-    sh:path s223:hasConnectionPoint .
-
-
-        
-
- -
-

Warning about a subClass of Equipment of type A containing something that is in the same subClass branch.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "Warning about a subClass of Equipment of type A containing something that is in the same subClass branch." ;
-    sh:path s223:contains ;
-    sh:severity sh:Warning ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "Warning about a subClass of Equipment of type A containing something that is in the same subClass branch." ;
-            sh:message "{$this}, of type {?type1}, contains {?subEquip} of type {?type2}, that could result in double-counting items in the class hierarchy of {?type1}." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-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 .
-}
-}
-""" ] .
-
-
-        
-
- -
-

A ResistanceHeater shall have at least one inlet using the medium Electricity.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A ResistanceHeater shall have at least one inlet using the medium Electricity." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes." ;
-    sh:class s223:EnumeratedObservableProperty ;
-    sh:maxCount 1 ;
-    sh:minCount 1 ;
-    sh:path s223:observes .
-
-
-        
-
- -
-

A Property can be associated with at most one EnumerationKind-Substance using the relation ofSubstance

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Property can be associated with at most one EnumerationKind-Substance using the relation ofSubstance" ;
-    sh:class s223:EnumerationKind-Substance ;
-    sh:maxCount 1 ;
-    sh:path s223:ofSubstance .
-
-
-        
-
- -
-

Infer a hasDomain relation by checking any enclosed Zones to determine the domain.

- - -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:TripleRule ;
-    rdfs:comment "Infer a hasDomain relation by checking any enclosed Zones to determine the domain." ;
-    sh:object [ sh:path ( s223:hasZone s223:hasDomain ) ] ;
-    sh:predicate s223:hasDomain ;
-    sh:subject sh:this .
-
-
-        
-
- -
-

A Window shall have at least one inlet using the medium Light.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Window shall have at least one inlet using the medium Light." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:EM-Light ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

This comment intentionally left blank.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] a sh:PropertyShape ;
-    rdfs:comment "This comment intentionally left blank." ;
-    sh:datatype xsd:string ;
-    sh:maxCount 1 ;
-    sh:minCount 0 ;
-    sh:path <http://data.ashrae.org/bacnet/2020#device-identifier> ;
-    sh:pattern "^[A-Za-z0-9-]+,[1-9][0-9]*$" .
-
-
-        
-
- -
-

Declare the inverse triples for symmetric relations

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:SPARQLRule ;
-    rdfs:comment "Declare the inverse triples for symmetric relations" ;
-    sh:construct """
-CONSTRUCT {
-?o ?p $this .
-}
-WHERE {
-  $this ?p ?o .
-  ?p a s223:SymmetricProperty .
-}
-			""" ;
-    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/owl-subset> .
-
-
-        
-
- -
-

A FumeHood shall have at least one outlet using the medium Air.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A FumeHood shall have at least one outlet using the medium Air." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A DifferentialSensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocationLow.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A DifferentialSensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocationLow." ;
-    sh:class s223:ConnectionPoint ;
-    sh:maxCount 1 ;
-    sh:minCount 1 ;
-    sh:path s223:hasObservationLocationLow .
-
-
-        
-
- -
-

A DifferentialSensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocationHigh.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A DifferentialSensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocationHigh." ;
-    sh:class s223:Connectable ;
-    sh:maxCount 1 ;
-    sh:minCount 1 ;
-    sh:path s223:hasObservationLocationHigh .
-
-
-        
-
- -
-

Property Shape

- - -

-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] sh:class s223:EM-Light ;
-    sh:path s223:hasMedium .
-
-
-        
-
- -
-

An ElectricOutlet shall have at least one outlet using the medium Electricity.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An ElectricOutlet shall have at least one outlet using the medium Electricity." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A ThreeWayValve must have at least three ConnectionPoints using the relation hasConnectionPoint.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A ThreeWayValve must have at least three ConnectionPoints using the relation hasConnectionPoint." ;
-    sh:minCount 3 ;
-    sh:path s223:hasConnectionPoint .
-
-
-        
-
- -
-

If the relation executes is present it must associate the Equipment with a FunctionBlock.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation executes is present it must associate the Equipment with a FunctionBlock." ;
-    sh:class s223:FunctionBlock ;
-    sh:path s223:executes .
-
-
-        
-
- -
-

InferredEquipmentToEquipmentPropertyfromconnectedFrom

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:TripleRule ;
-    rdfs:comment "Infer the connected relationship using connectedFrom" ;
-    sh:name "InferredEquipmentToEquipmentPropertyfromconnectedFrom" ;
-    sh:object [ sh:path s223:connectedFrom ] ;
-    sh:predicate s223:connected ;
-    sh:subject sh:this .
-
-
-        
-
- -
-

Test for compatible declared Medium

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Junction." ;
-    sh:name "Test for compatible declared Medium" ;
-    sh:path s223:hasMedium ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Junction." ;
-            sh:message "{$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ] .
-
-
-        
-
- -
-

An AirFilter shall have at least one outlet using the medium Air.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An AirFilter shall have at least one outlet using the medium Air." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

If the relation hasMeasurementResolution is present it must associate the AbstractSensor with a QuantifiableProperty.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation hasMeasurementResolution is present it must associate the AbstractSensor with a QuantifiableProperty." ;
-    sh:class s223:QuantifiableProperty ;
-    sh:path s223:hasMeasurementResolution .
-
-
-        
-
- -
-

A Property can be associated with at most one FunctionBlock using the inverse relation hasOutput.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Property can be associated with at most one FunctionBlock using the inverse relation hasOutput." ;
-    sh:class s223:FunctionBlock ;
-    sh:maxCount 1 ;
-    sh:message "A Property can be associated with at most one FunctionBlock using the inverse relation hasOutput." ;
-    sh:path [ sh:inversePath s223:hasOutput ] .
-
-
-        
-
- -
-

Ensure an OutletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "Ensure an OutletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection" ;
-    sh:path s223:mapsTo ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "Ensure an OutletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection" ;
-            sh:message "{$this} must have a mapsTo an OutletConnectionPoint of {?parentEquipment} because {$this} has an external Connection to {?destinationEquipment}." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-SELECT $this ?parentEquipment ?destinationEquipment
-WHERE {
-?equipment s223:hasConnectionPoint $this .
-?equipment a/rdfs:subClassOf* s223:Equipment .
-?parentEquipment s223:contains ?equipment .
-$this s223:connectsThrough/s223:connectsTo ?destinationEquipment .
-FILTER NOT EXISTS {?parentEquipment s223:contains ?destinationEquipment} .
-FILTER NOT EXISTS {$this s223:mapsTo ?anything} .
-}
-""" ] .
-
-
-        
-
- -
-

This QuantifiableProperty and the Setpoint associated with it have non-commensurate QuantityKinds

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "This QuantifiableProperty and the Setpoint associated with it have non-commensurate QuantityKinds" ;
-    sh:path <http://qudt.org/schema/qudt/hasQuantityKind> ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "This QuantifiableProperty and the Setpoint associated with it have non-commensurate QuantityKinds" ;
-            sh:message "{$this} uses QuantityKind {?pqk} with DimensionVector {?pdv}, while Setpoint {?setpoint} uses QuantityKind {?sqk} with DimensionVector {?sdv}. These are non-commensurate" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-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) .
-}
-""" ] .
-
-
-        
-
- -
-

A Motor shall have at least one inlet using the medium Electricity.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Motor shall have at least one inlet using the medium Electricity." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

An AC-Dimensioned-LineLineVoltage must have a voltage

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An AC-Dimensioned-LineLineVoltage must have a voltage" ;
-    sh:class_ s223:Dimensioned-Voltage ;
-    sh:minCount 1 ;
-    sh:path s223:hasVoltage .
-
-
-        
-
- -
-

A Luminaire shall have at least one inlet using the medium Electricity.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Luminaire shall have at least one inlet using the medium Electricity." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

An electricity AC medium must have a frequency

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An electricity AC medium must have a frequency" ;
-    sh:class_ s223:Dimensioned-Frequency ;
-    sh:minCount 1 ;
-    sh:path s223:hasFrequency .
-
-
-        
-
- -
-

Property Shape

- - -

-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] sh:class s223:Medium-Water ;
-    sh:path s223:hasMedium .
-
-
-        
-
- -
-

A Setpoint can be associated with a decimal value using the relation hasDeadband

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Setpoint can be associated with a decimal value using the relation hasDeadband" ;
-    sh:datatype xsd:decimal ;
-    sh:path s223:hasDeadband .
-
-
-        
-
- -
-

Property Shape

- - -

-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] sh:hasValue <http://qudt.org/vocab/quantitykind/Duv> ;
-    sh:path <http://qudt.org/schema/qudt/hasQuantityKind> .
-
-
-        
-
- -
-

A Junction must be associated with exactly one EnumerationKind-Medium using the relation hasMedium.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Junction must be associated with exactly one EnumerationKind-Medium using the relation hasMedium." ;
-    sh:class s223:Substance-Medium ;
-    sh:maxCount 1 ;
-    sh:minCount 1 ;
-    sh:path s223:hasMedium .
-
-
-        
-
- -
-

EquipmentToConnectionPointShape

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation hasConnectionPoint is present it must associate the Connectable with a ConnectionPoint." ;
-    sh:class s223:ConnectionPoint ;
-    sh:name "EquipmentToConnectionPointShape" ;
-    sh:path s223:hasConnectionPoint .
-
-
-        
-
- -
-

Property Shape

- - -

-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] sh:class s223:Occupancy-Motion ;
-    sh:maxCount 1 ;
-    sh:path s223:hasEnumerationKind .
-
-
-        
-
- -
-

If the relation hasExternalReference is present it must associate the Property with an ExternalReference.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation hasExternalReference is present it must associate the Property with an ExternalReference." ;
-    sh:class s223:ExternalReference ;
-    sh:path s223:hasExternalReference .
-
-
-        
-
- -
-

Property Shape

- - -

-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] sh:hasValue <http://qudt.org/vocab/quantitykind/Illuminance> ;
-    sh:path <http://qudt.org/schema/qudt/hasQuantityKind> .
-
-
-        
-
- -
-

A radiant panel shall have at least one inlet using the medium Electricity, NaturalGas, or Water.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A radiant panel shall have at least one inlet using the medium Electricity, NaturalGas, or Water." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A Compressor shall have at least one outlet.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Compressor shall have at least one outlet." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ] .
-
-
-        
-
- -
-

Property Shape

- - -

-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] sh:class s223:Occupancy-Presence ;
-    sh:maxCount 1 ;
-    sh:path s223:hasEnumerationKind .
-
-
-        
-
- -
-

This comment intentionally left blank.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] a sh:PropertyShape ;
-    rdfs:comment "This comment intentionally left blank." ;
-    sh:datatype xsd:string ;
-    sh:maxCount 1 ;
-    sh:minCount 0 ;
-    sh:path <http://data.ashrae.org/bacnet/2020#property-identifier> .
-
-
-        
-
- -
-

A Radiator shall have at least one outlet using the medium Water.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Radiator shall have at least one outlet using the medium Water." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

Associate the object of hasObservationLocation directly with the observed Property.

- - -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:TripleRule ;
-    rdfs:comment "Associate the object of hasObservationLocation directly with the observed Property." ;
-    sh:object [ sh:path ( [ sh:inversePath s223:hasObservationLocation ] s223:observes ) ] ;
-    sh:predicate s223:hasProperty ;
-    sh:subject sh:this .
-
-
-        
-
- -
-

An PhotovoltaicModule must have at least one inlet using the medium EM-Light.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An PhotovoltaicModule must have at least one inlet using the medium EM-Light." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:EM-Light ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

Ensure an InletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "Ensure an InletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection" ;
-    sh:path s223:mapsTo ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "Ensure an InletConnectionPoint has a mapsTo relation to its containing Equipment if it has an external Connection" ;
-            sh:message "{$this} must have a mapsTo an InletConnectionPoint of {?parentEquipment} because {$this} has an external Connection from {?sourceEquipment}." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-SELECT $this ?parentEquipment ?sourceEquipment
-WHERE {
-?equipment s223:hasConnectionPoint $this .
-?equipment a/rdfs:subClassOf* s223:Equipment .
-?parentEquipment s223:contains ?equipment .
-$this s223:connectsThrough/s223:connectsFrom ?sourceEquipment .
-FILTER NOT EXISTS {?parentEquipment s223:contains ?sourceEquipment} .
-FILTER NOT EXISTS {$this s223:mapsTo ?anything} .
-}
-""" ] .
-
-
-        
-
- -
-

A cooling coil must be related to the role 'Role-Cooling' using the relation 'hasRole'.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A cooling coil must be related to the role 'Role-Cooling' using the relation 'hasRole'." ;
-    sh:hasValue s223:Role-Cooling ;
-    sh:minCount 1 ;
-    sh:path s223:hasRole .
-
-
-        
-
- -
-

Infer a hasDomain relation by checking any enclosed DomainSpaces to determine the domain.

- - -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:TripleRule ;
-    rdfs:comment "Infer a hasDomain relation by checking any enclosed DomainSpaces to determine the domain." ;
-    sh:object [ sh:path ( s223:hasDomainSpace s223:hasDomain ) ] ;
-    sh:predicate s223:hasDomain ;
-    sh:subject sh:this .
-
-
-        
-
- -
-

A TwoWayValve shall have at least one inlet.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A TwoWayValve shall have at least one inlet." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ] .
-
-
-        
-
- -
-

A Filter shall have at least one inlet.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Filter shall have at least one inlet." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ] .
-
-
-        
-
- -
-

A ConnectionPoint must be associated with at most one Connection using the cnx relation

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A ConnectionPoint must be associated with at most one Connection using the cnx relation" ;
-    sh:message "A ConnectionPoint must be associated with at most one Connection using the cnx relation" ;
-    sh:path s223:cnx ;
-    sh:qualifiedMaxCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:Connection ] ;
-    sh:qualifiedValueShapesDisjoint true .
-
-
-        
-
- -
-

A ConnectionPoint can be associated with at most one other ConnectionPoint using the relation mapsTo

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A ConnectionPoint can be associated with at most one other ConnectionPoint using the relation mapsTo" ;
-    sh:class s223:ConnectionPoint ;
-    sh:maxCount 1 ;
-    sh:path s223:mapsTo .
-
-
-        
-
- -
-

An AC-Dimensioned-LineNeutralVoltage must have a voltage

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An AC-Dimensioned-LineNeutralVoltage must have a voltage" ;
-    sh:class_ s223:Dimensioned-Voltage ;
-    sh:minCount 1 ;
-    sh:path s223:hasVoltage .
-
-
-        
-
- -
-

Property Shape

- - -

-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] sh:class s223:Electricity-DC ;
-    sh:path s223:hasMedium .
-
-
-        
-
- -
-

An AirFilter shall have at least one inlet using the medium Air.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An AirFilter shall have at least one inlet using the medium Air." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

Checks for valid enumeration value consistent with the stated EnumerationKind.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "Checks for valid enumeration value consistent with the stated EnumerationKind." ;
-    sh:path s223:hasValue ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "Checks for valid enumeration value consistent with the stated EnumerationKind." ;
-            sh:message "{$this} has an enumeration value of {?value} which is not a valid {?kind}." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-SELECT $this ?value ?kind
-WHERE {
-$this s223:hasValue ?value .
-$this s223:hasEnumerationKind ?kind .
-FILTER (NOT EXISTS {?value a/rdfs:subClassOf* ?kind}) .
-}
-""" ] .
-
-
-        
-
- -
-

A Differential Sensor must be defined in terms of the QuantityKind that is being measured.

- - -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Differential Sensor must be defined in terms of the QuantityKind that is being measured." ;
-    sh:class <http://qudt.org/schema/qudt/QuantityKind> ;
-    sh:minCount 1 ;
-    sh:path ( s223:observes <http://qudt.org/schema/qudt/hasQuantityKind> ) .
-
-
-        
-
- -
-

The quantity kind of the constituent must be VolumeFraction.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "The quantity kind of the constituent must be VolumeFraction." ;
-    sh:hasValue <http://qudt.org/vocab/quantitykind/VolumeFraction> ;
-    sh:path <http://qudt.org/schema/qudt/hasQuantityKind> .
-
-
-        
-
- -
-

A Valve shall have at least one inlet and one outlet or two bidirectional connection points.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Valve shall have at least one inlet and one outlet or two bidirectional connection points." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ] ;
-    sh:qualifiedValueShapesDisjoint true .
-
-
-        
-
- -
-

Property Shape

- - -

-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] sh:class s223:Medium-Refrigerant ;
-    sh:path s223:hasMedium .
-
-
-        
-
- -
-

If the relation hasProperty is present, it must associate the concept with a Property.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation hasProperty is present, it must associate the concept with a Property." ;
-    sh:class s223:Property ;
-    sh:path s223:hasProperty .
-
-
-        
-
- -
-

A ChilledBeam shall have at least one inlet using the medium Water.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A ChilledBeam shall have at least one inlet using the medium Water." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A Turbine must be associated with at least one ConnectionPoint using the relation hasConnectionPoint.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Turbine must be associated with at least one ConnectionPoint using the relation hasConnectionPoint." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint .
-
-
-        
-
- -
-

Infer the connectsAt relationship from cnx

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:TripleRule ;
-    rdfs:comment "Infer the connectsAt relationship from cnx",
-        "InferredConnectionToConnectionPointProperty" ;
-    sh:object [ sh:path s223:cnx ] ;
-    sh:predicate s223:connectsAt ;
-    sh:subject sh:this .
-
-
-        
-
- -
-

A VariableFrequencyDrive shall have at least one outlet using the medium Electricity.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A VariableFrequencyDrive shall have at least one outlet using the medium Electricity." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

InferredConnectionToDownstreamEquipmentProperty

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:SPARQLRule ;
-    rdfs:comment "Infer the connectsTo relationship" ;
-    sh:construct """
-CONSTRUCT {$this s223:connectsTo ?equipment .}
-WHERE {
-$this s223:connectsAt ?cp .
-?cp a s223:InletConnectionPoint .
-?cp s223:isConnectionPointOf ?equipment .
-}
-""" ;
-    sh:name "InferredConnectionToDownstreamEquipmentProperty" ;
-    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> .
-
-
-        
-
- -
-

Heating coils will always have the role Role-Heating

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:TripleRule ;
-    rdfs:comment "Heating coils will always have the role Role-Heating" ;
-    sh:object s223:Role-Heating ;
-    sh:predicate s223:hasRole ;
-    sh:subject sh:this .
-
-
-        
-
- -
-

A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation." ;
-    sh:class s223:Connection ;
-    sh:maxCount 1 ;
-    sh:minCount 1 ;
-    sh:path s223:hasObservationLocation .
-
-
-        
-
- -
-

Infer a hasDomain relation by checking any enclosing ZoneGroup to determine the domain.

- - -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:TripleRule ;
-    rdfs:comment "Infer a hasDomain relation by checking any enclosing ZoneGroup to determine the domain." ;
-    sh:object [ sh:path ( [ sh:inversePath s223:hasZone ] s223:hasDomain ) ] ;
-    sh:predicate s223:hasDomain ;
-    sh:subject sh:this .
-
-
-        
-
- -
-

ConnectionPointToConnectionShape

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A ConnectionPoint must be associated with at most one Connection using the relation connectsThrough." ;
-    sh:class s223:Connection ;
-    sh:maxCount 1 ;
-    sh:message "This ConnectionPoint must be associated with at most one Connection." ;
-    sh:name "ConnectionPointToConnectionShape" ;
-    sh:path s223:connectsThrough ;
-    sh:severity sh:Info .
-
-
-        
-
- -
-

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.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "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." ;
-    sh:path s223:mapsTo ;
-    sh:severity sh:Info ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "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." ;
-            sh:message "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}." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-    SELECT $this ?containerEquipment
-    WHERE {
-        FILTER NOT EXISTS {$this s223:connectsThrough ?anything1} .
-        FILTER NOT EXISTS {$this s223:mapsTo ?anything2} .
-        $this s223:isConnectionPointOf ?equipment .
-        ?containerEquipment s223:contains ?equipment .
-        }
-        """ ] .
-
-
-        
-
- -
-

For equipment contained within another piece of equipment use the mapsTo relation to infer a Medium from the containing equipment.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:SPARQLRule ;
-    rdfs:comment "For equipment contained within another piece of equipment use the mapsTo relation to infer a Medium from the containing equipment." ;
-    sh:construct """
-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} .
-}
-""" ;
-    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> .
-
-
-        
-
- -
-

An EthernetSwitch shall have at least one BidirectionalConnectionPoint using the medium Electricity.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An EthernetSwitch shall have at least one BidirectionalConnectionPoint using the medium Electricity." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A Zone must be associated with exactly one EnumerationKind-Domain using the relation hasDomain.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Zone must be associated with exactly one EnumerationKind-Domain using the relation hasDomain." ;
-    sh:class s223:EnumerationKind-Domain ;
-    sh:maxCount 1 ;
-    sh:minCount 1 ;
-    sh:path s223:hasDomain .
-
-
-        
-
- -
-

A Function block must be associated with at least one Property using the relation hasOutput.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Function block must be associated with at least one Property using the relation hasOutput." ;
-    sh:class s223:Property ;
-    sh:minCount 1 ;
-    sh:path s223:hasOutput .
-
-
-        
-
- -
-

Property Shape

- - -

-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] sh:hasValue <http://qudt.org/vocab/quantitykind/Temperature> ;
-    sh:path <http://qudt.org/schema/qudt/hasQuantityKind> .
-
-
-        
-
- -
-

A WaterFilter shall have at least one outlet using the medium Water.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A WaterFilter shall have at least one outlet using the medium Water." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A Coil shall have at least one inlet using the medium Air.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Coil shall have at least one inlet using the medium Air." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

Property Shape

- - -

-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] sh:class s223:Medium-Air ;
-    sh:path s223:hasMedium .
-
-
-        
-
- -
-

If the relation hasRole is present it must associate the Equipment with a EnumerationKind-Role.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation hasRole is present it must associate the Equipment with a EnumerationKind-Role." ;
-    sh:class s223:EnumerationKind-Role ;
-    sh:path s223:hasRole .
-
-
-        
-
- -
-

If a contained equipment has external connections, make sure that the containing equipment has the same external connections.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If a contained equipment has external connections, make sure that the containing equipment has the same external connections." ;
-    sh:path s223:connectedFrom ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "If a contained equipment has external connections, make sure that the containing equipment has the same external connections." ;
-            sh:message "{?container} does not have a connectedFrom relation to {?otherDev} even though {?container} contains {$this} which does." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-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 .}
-FILTER NOT EXISTS {?container s223:connectedFrom ?otherDev .}
-}
-""" ] .
-
-
-        
-
- -
-

InferredEquipmentToConnectionPointCnxProperty

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:TripleRule ;
-    rdfs:comment "Infer the cnx relationship from hasConnectionPoint" ;
-    sh:name "InferredEquipmentToConnectionPointCnxProperty" ;
-    sh:object [ sh:path s223:hasConnectionPoint ] ;
-    sh:predicate s223:cnx ;
-    sh:subject sh:this .
-
-
-        
-
- -
-

Infer cnx relationship from connectsAt

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:TripleRule ;
-    rdfs:comment "Infer cnx relationship from connectsAt",
-        "InferredConnectionToConnectionPointBaseProperty" ;
-    sh:object [ sh:path s223:connectsAt ] ;
-    sh:predicate s223:cnx ;
-    sh:subject sh:this .
-
-
-        
-
- -
-

Infer the hasRole s223:Role-Controller relationship for every instance of Controller

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:TripleRule ;
-    rdfs:comment "Infer the hasRole s223:Role-Controller relationship for every instance of Controller" ;
-    sh:object s223:Role-Controller ;
-    sh:predicate s223:hasRole ;
-    sh:subject sh:this .
-
-
-        
-
- -
-

Property Shape

- - -

-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] sh:hasValue <http://qudt.org/vocab/unit/NUM> ;
-    sh:maxCount 1 ;
-    sh:path <http://qudt.org/schema/qudt/hasUnit> .
-
-
-        
-
- -
-

An ElectricBreaker shall have at least one outlet using the medium Electricity.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An ElectricBreaker shall have at least one outlet using the medium Electricity." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A Door shall have at least two bidirectional connection points using the medium Air.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Door shall have at least two bidirectional connection points using the medium Air." ;
-    sh:minCount 2 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 2 ;
-    sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

This comment intentionally left blank.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] a sh:PropertyShape ;
-    rdfs:comment "This comment intentionally left blank." ;
-    sh:datatype xsd:nonNegativeInteger ;
-    sh:maxCount 1 ;
-    sh:minCount 0 ;
-    sh:path <http://data.ashrae.org/bacnet/2020#property-array-index> .
-
-
-        
-
- -
-

InferredEquipmentToEquipmentPropertyfromconnectedTo

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:TripleRule ;
-    rdfs:comment "Infer the connected relationship using connectedTo" ;
-    sh:name "InferredEquipmentToEquipmentPropertyfromconnectedTo" ;
-    sh:object [ sh:path s223:connectedTo ] ;
-    sh:predicate s223:connected ;
-    sh:subject sh:this .
-
-
-        
-
- -
-

A Chiller shall have at least one outlet using the medium Water.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Chiller shall have at least one outlet using the medium Water." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A Furnace shall have at least one outlet using the medium Air.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Furnace shall have at least one outlet using the medium Air." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A TerminalUnit shall have at least one inlet ConnectionPoint using the medium Air.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A TerminalUnit shall have at least one inlet ConnectionPoint using the medium Air." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A DomainSpace must be associated with exactly one EnumerationKind-Domain using the relation hasDomain.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A DomainSpace must be associated with exactly one EnumerationKind-Domain using the relation hasDomain." ;
-    sh:class s223:EnumerationKind-Domain ;
-    sh:maxCount 1 ;
-    sh:minCount 1 ;
-    sh:path s223:hasDomain .
-
-
-        
-
- -
-

A Differential Sensor must have different values for hasObservationLocationHigh and hasObservationLocationLow.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "A Differential Sensor must have different values for hasObservationLocationHigh and hasObservationLocationLow." ;
-    sh:path s223:hasObservationLocationHigh ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "Ensure that the values of hasObservationLocationHigh and hasObservationLocationLow are distinct." ;
-            sh:message "{$this} cannot have the same value, {?high}, for both hasObservationLocationHigh and hasObservationLocationLow" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-SELECT $this ?high
-WHERE {
-  ?this s223:hasObservationLocationHigh ?high .
-    ?this s223:hasObservationLocationLow ?low .
-FILTER (?high = ?low) .
-}
-""" ] .
-
-
-        
-
- -
-

A FanPoweredTerminal must be associated with at least 1 Fan by contains

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A FanPoweredTerminal must be associated with at least 1 Fan by contains" ;
-    sh:minCount 1 ;
-    sh:path s223:contains ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:Fan ] .
-
-
-        
-
- -
-

A QuantifiableProperty can be associated with a decimal value using the relation hasValue

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A QuantifiableProperty can be associated with a decimal value using the relation hasValue" ;
-    sh:datatype xsd:decimal ;
-    sh:path s223:hasValue .
-
-
-        
-
- -
-

One of the constituents of a Water-GlycolSolution must be Medium-Glycol.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "One of the constituents of a Water-GlycolSolution must be Medium-Glycol." ;
-    sh:hasValue s223:Medium-Glycol ;
-    sh:path s223:ofSubstance .
-
-
-        
-
- -
-

An Inverter shall have at least one outlet using the medium Electricity-AC.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An Inverter shall have at least one outlet using the medium Electricity-AC." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Electricity-AC ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A System can be associated with zero or any number of other instances of Equipment or System using the relation hasMember

- - -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] a sh:PropertyShape ;
-    rdfs:comment "A System can be associated with zero or any number of other instances of Equipment or System using the relation hasMember" ;
-    sh:minCount 2 ;
-    sh:or ( [ sh:class s223:Equipment ] [ sh:class s223:System ] ) ;
-    sh:path s223:hasMember ;
-    sh:severity sh:Warning .
-
-
-        
-
- -
-

An OccupantCounter must always observe a QuantifiableObservableProperty that has a QuantityKind of Population and a Unit of unit:NUM.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An OccupantCounter must always observe a QuantifiableObservableProperty that has a QuantityKind of Population and a Unit of unit:NUM." ;
-    sh:class s223:QuantifiableObservableProperty ;
-    sh:minCount 1 ;
-    sh:node [ sh:property [ sh:hasValue <http://qudt.org/vocab/quantitykind/Population> ;
-                    sh:maxCount 1 ;
-                    sh:path <http://qudt.org/schema/qudt/hasQuantityKind> ],
-                [ sh:hasValue <http://qudt.org/vocab/unit/NUM> ;
-                    sh:maxCount 1 ;
-                    sh:path <http://qudt.org/schema/qudt/hasUnit> ] ] ;
-    sh:path s223:observes .
-
-
-        
-
- -
-

A Boiler shall have at least one inlet using the medium Water.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Boiler shall have at least one inlet using the medium Water." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

Test for compatible declared Medium

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-    sh:name "Test for compatible declared Medium" ;
-    sh:path s223:hasMedium ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "Ensure that the Medium identified by all the associated ConnectionPoints via the s223:hasMedium relation are compatible with one another." ;
-            sh:message "{?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ] .
-
-
-        
-
- -
-

A FanCoilUnit must at least have the role Role-Heating or Role-Cooling.

- - -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A FanCoilUnit must at least have the role Role-Heating or Role-Cooling." ;
-    sh:minCount 1 ;
-    sh:path s223:hasRole ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:in ( s223:Role-Heating s223:Role-Cooling ) ] .
-
-
-        
-
- -
-

A FanCoilUnit shall have at least one inlet using the medium Air.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A FanCoilUnit shall have at least one inlet using the medium Air." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A Luminaire shall have at least one outlet using the medium EM-Light.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Luminaire shall have at least one outlet using the medium EM-Light." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:EM-Light ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

Property Shape

- - -

-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] sh:class s223:Electricity-AC ;
-    sh:path s223:hasMedium .
-
-
-        
-
- -
-

A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Sensor must be associated with exactly 1 of QuantifiableObservableProperty or EnumeratedObservableProperty using the relation observes." ;
-    sh:class s223:QuantifiableObservableProperty ;
-    sh:maxCount 1 ;
-    sh:minCount 1 ;
-    sh:path s223:observes .
-
-
-        
-
- -
-

This Property must have a comment

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "This Property must have a comment" ;
-    sh:path rdfs:comment ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            sh:message "{$this} must have an rdfs:comment" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/schema> ;
-            sh:select """
-SELECT $this
-WHERE {
-BIND(REPLACE(STR($this), "^(.*)(/|#)([^#/]*)$", "$1") AS ?prop) .
-FILTER (?prop = "http://data.ashrae.org/standard223") .
-FILTER (NOT EXISTS {$this rdfs:comment ?something}) .
-}
-""" ] .
-
-
-        
-
- -
-

An OccupantPresenceSensor will always observe an EnumeratedObservableProperty that has an EnumerationKind of Occupancy-Presence.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An OccupantPresenceSensor will always observe an EnumeratedObservableProperty that has an EnumerationKind of Occupancy-Presence." ;
-    sh:class s223:EnumeratedObservableProperty ;
-    sh:minCount 1 ;
-    sh:node [ sh:property [ sh:class s223:Occupancy-Presence ;
-                    sh:maxCount 1 ;
-                    sh:path s223:hasEnumerationKind ] ] ;
-    sh:path s223:observes .
-
-
-        
-
- -
-

This comment intentionally left blank.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] a sh:PropertyShape ;
-    rdfs:comment "This comment intentionally left blank." ;
-    sh:datatype xsd:string ;
-    sh:maxCount 1 ;
-    sh:minCount 0 ;
-    sh:path <http://data.ashrae.org/bacnet/2020#device-name> .
-
-
-        
-
- -
-

This comment intentionally left blank.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] a sh:PropertyShape ;
-    rdfs:comment "This comment intentionally left blank." ;
-    sh:datatype xsd:string ;
-    sh:maxCount 1 ;
-    sh:minCount 0 ;
-    sh:path <http://data.ashrae.org/bacnet/2020#object-name> .
-
-
-        
-
- -
-

A FanCoilUnit shall have at least one outlet using the medium Air.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A FanCoilUnit shall have at least one outlet using the medium Air." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A Connection must only have a cnx relation with a ConnectionPoint

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "A Connection must only have a cnx relation with a ConnectionPoint" ;
-    sh:path s223:cnx ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "A Connection must only have a cnx relation with a ConnectionPoint" ;
-            sh:message "{$this} cannot have a s223:cnx relation to {?something}, because {?something} is not a ConnectionPoint." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """SELECT $this ?something
-WHERE {
-$this s223:cnx ?something .
-FILTER NOT EXISTS {?something a/rdfs:subClassOf* s223:ConnectionPoint} .
-}""" ] .
-
-
-        
-
- -
-

This Property must have a label

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "This Property must have a label" ;
-    sh:path rdfs:label ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            sh:message "{$this} must have an rdfs:label" ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/schema> ;
-            sh:select """
-SELECT $this
-WHERE {
-BIND(REPLACE(STR($this), "^(.*)(/|#)([^#/]*)$", "$1") AS ?prop) .
-FILTER (?prop = "http://data.ashrae.org/standard223") .
-FILTER (NOT EXISTS {$this rdfs:label ?something}) .
-}
-""" ] .
-
-
-        
-
- -
-

A Pump shall have at least one inlet using the medium Water, Oil or Refrigerant.

- - -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Pump shall have at least one inlet using the medium Water, Oil or Refrigerant." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:or ( [ sh:property [ sh:class s223:Medium-Water ;
-                                        sh:path s223:hasMedium ] ] [ sh:property [ sh:class s223:Medium-Refrigerant ;
-                                        sh:path s223:hasMedium ] ] [ sh:property [ sh:class s223:Medium-Oil ;
-                                        sh:path s223:hasMedium ] ] ) ] ] .
-
-
-        
-
- -
-

InferredEquipmentToConnectionProperty

- - -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:TripleRule ;
-    rdfs:comment "Infer the connectedThrough relationship using hasConnectionPoint and connectsThrough" ;
-    sh:name "InferredEquipmentToConnectionProperty" ;
-    sh:object [ sh:path ( s223:hasConnectionPoint s223:connectsThrough ) ] ;
-    sh:predicate s223:connectedThrough ;
-    sh:subject sh:this .
-
-
-        
-
- -
-

A ConnectionPoint must not have both a mapsTo and a connectsThrough relation.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "A ConnectionPoint must not have both a mapsTo and a connectsThrough relation." ;
-    sh:path s223:mapsTo ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "A ConnectionPoint must not have both a mapsTo and a connectsThrough relation." ;
-            sh:message "{$this} cannot have both a mapsTo {?uppercp} and a connectsThrough {?connection}." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-SELECT $this ?uppercp ?connection
-WHERE {
-$this s223:mapsTo ?uppercp .
-$this s223:connectsThrough ?connection .
-?connection a/rdfs:subClassOf* s223:Connection .
-}
-""" ] .
-
-
-        
-
- -
-

If the relation commandedByProperty is present it must associate the Equipment with a ActuatableProperty.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation commandedByProperty is present it must associate the Equipment with a ActuatableProperty." ;
-    sh:class s223:ActuatableProperty ;
-    sh:path s223:commandedByProperty .
-
-
-        
-
- -
-

This QuantifiableProperty uses a different Unit than the Setpoint associated with it

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "This QuantifiableProperty uses a different Unit than the Setpoint associated with it" ;
-    sh:path <http://qudt.org/schema/qudt/hasUnit> ;
-    sh:severity sh:Info ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "This QuantifiableProperty uses a different Unit than the Setpoint associated with it" ;
-            sh:message "{$this} uses Unit {?punit}, while Setpoint {?setpoint} uses Unit {?sunit}. Be careful." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-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 HeatPump shall have at least one outlet using the medium Air.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A HeatPump shall have at least one outlet using the medium Air." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

If the relation hasConstituent is present, it must associate an EnumerationKind-Substance with one or more Properties that identify and characterize those constituents.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation hasConstituent is present, it must associate an EnumerationKind-Substance with one or more Properties that identify and characterize those constituents." ;
-    sh:class s223:Property ;
-    sh:path s223:hasConstituent .
-
-
-        
-
- -
-

The associated Domain of a Zone and the Domain of the DomainSpaces it contains must be the same.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "The associated Domain of a Zone and the Domain of the DomainSpaces it contains must be the same." ;
-    sh:path s223:hasDomain ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "The associated Domain of a Zone and the Domain of the DomainSpaces it contains must be the same." ;
-            sh:message "Zone {$this} has a Domain of {?domain}, but it contains a DomainSpace {?ds} which has a Domain of {?dsdomain}. These should be the same." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-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 radiant panel shall have at least one inlet using the medium Electricity, NaturalGas, or Water.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A radiant panel shall have at least one inlet using the medium Electricity, NaturalGas, or Water." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-NaturalGas ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

Make sure that a containing Equipment inherits the outgoing connectedTo relations of contained Equipment if they are not internal connections.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "Make sure that a containing Equipment inherits the outgoing connectedTo relations of contained Equipment if they are not internal connections." ;
-    sh:path s223:connectedTo ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "Make sure that a containing Equipment inherits the outgoing connectedTo relations of contained Equipment if they are not internal connections." ;
-            sh:message "{?container} does not have a connectedTo relation to {?otherDev} even though {?container} contains {$this} which does." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-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 .}
-FILTER NOT EXISTS {?container s223:connectedTo ?otherDev .}
-}
-""" ] .
-
-
-        
-
- -
-

A VariableFrequencyDrive shall have at least one inlet using the medium Electricity.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A VariableFrequencyDrive shall have at least one inlet using the medium Electricity." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                            sh:path s223:hasMedium ] ] ] ;
-    sh:severity sh:Warning .
-
-
-        
-
- -
-

Connection medium

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Connection must be associated with exactly one EnumerationKind-Medium using the relation hasMedium." ;
-    sh:class s223:Substance-Medium ;
-    sh:maxCount 1 ;
-    sh:minCount 1 ;
-    sh:name "Connection medium" ;
-    sh:path s223:hasMedium .
-
-
-        
-
- -
-

Property Shape

- - -

-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] sh:hasValue <http://qudt.org/vocab/quantitykind/Population> ;
-    sh:maxCount 1 ;
-    sh:path <http://qudt.org/schema/qudt/hasQuantityKind> .
-
-
-        
-
- -
-

A Fan shall have at least one outlet using the medium Air.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Fan shall have at least one outlet using the medium Air." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

ConnectionToUpstreamConnectableShape

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation connectsFrom is present it must associate the Connection with a Connectable." ;
-    sh:class s223:Connectable ;
-    sh:name "ConnectionToUpstreamConnectableShape" ;
-    sh:path s223:connectsFrom .
-
-
-        
-
- -
-

SymmetricConnectableToConnectableShape

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation connected is present it must associate the Connectable with a Connectable." ;
-    sh:class s223:Connectable ;
-    sh:name "SymmetricConnectableToConnectableShape" ;
-    sh:path s223:connected .
-
-
-        
-
- -
-

A CoolingTower shall have at least one outlet using the medium Water.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A CoolingTower shall have at least one outlet using the medium Water." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A SolarThermalCollector shall have at least one inlet using the medium EM-Light.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A SolarThermalCollector shall have at least one inlet using the medium EM-Light." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:EM-Light ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A Junction shall have at least three ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Junction shall have at least three ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point." ;
-    sh:minCount 3 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ] ;
-    sh:qualifiedValueShapesDisjoint true .
-
-
-        
-
- -
-

A Concept must be associated with at least one label using the relation label.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Concept must be associated with at least one label using the relation label." ;
-    sh:minCount 1 ;
-    sh:path rdfs:label ;
-    sh:severity sh:Warning .
-
-
-        
-
- -
-

device contains shape

- - -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:PropertyShape ;
-    rdfs:comment "If the relation contains is present it must associate the Equipment with either Equipment or Junction." ;
-    sh:name "device contains shape" ;
-    sh:or ( [ sh:class s223:Equipment ] [ sh:class s223:Junction ] ) ;
-    sh:path s223:contains .
-
-
-        
-
- -
-

A Junction shall have at least three ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Junction shall have at least three ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point." ;
-    sh:minCount 3 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ] ;
-    sh:qualifiedValueShapesDisjoint true .
-
-
-        
-
- -
-

InferredEquipmentToConnectionPointProperty

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:TripleRule ;
-    rdfs:comment "Infer the hasConnectionPoint relationship from cnx" ;
-    sh:name "InferredEquipmentToConnectionPointProperty" ;
-    sh:object [ sh:path s223:cnx ] ;
-    sh:predicate s223:hasConnectionPoint ;
-    sh:subject sh:this .
-
-
-        
-
- -
-

A Chiller shall have at least one inlet using the medium Water.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Chiller shall have at least one inlet using the medium Water." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A Damper shall have at least one outlet using the medium Air.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Damper shall have at least one outlet using the medium Air." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

If the relation hasSetpoint is present it must associate the QuantifiableProperty with a Setpoint.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation hasSetpoint is present it must associate the QuantifiableProperty with a Setpoint." ;
-    sh:class s223:Setpoint ;
-    sh:path s223:hasSetpoint .
-
-
-        
-
- -
-

This comment intentionally left blank.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] a sh:PropertyShape ;
-    rdfs:comment "This comment intentionally left blank." ;
-    sh:datatype xsd:nonNegativeInteger ;
-    sh:maxCount 1 ;
-    sh:minCount 1 ;
-    sh:path <http://data.ashrae.org/bacnet/2020#priority-for-writing> .
-
-
-        
-
- -
-

An ElectricOutlet shall have exactly one inlet using the medium Electricity.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An ElectricOutlet shall have exactly one inlet using the medium Electricity." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMaxCount 1 ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

Property Shape

- - -

-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] sh:class s223:Medium-Oil ;
-    sh:path s223:hasMedium .
-
-
-        
-
- -
-

ResistanceHeaters must have the role Role-Heating.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "ResistanceHeaters must have the role Role-Heating." ;
-    sh:minCount 1 ;
-    sh:path s223:hasRole ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:Role-Heating ] .
-
-
-        
-
- -
-

An ElectricTransformer shall have at least one outlet using the medium Electricity.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An ElectricTransformer shall have at least one outlet using the medium Electricity." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

Property Shape

- - -

-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] sh:class s223:Medium-NaturalGas ;
-    sh:path s223:hasMedium .
-
-
-        
-
- -
-

ConnectableToConnectableShape

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation connectedTo is present it must associate the Connectable with a Connectable." ;
-    sh:class s223:Connectable ;
-    sh:name "ConnectableToConnectableShape" ;
-    sh:path s223:connectedTo .
-
-
-        
-
- -
-

A DifferentialSensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocationHigh.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A DifferentialSensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocationHigh." ;
-    sh:class s223:Connection ;
-    sh:maxCount 1 ;
-    sh:minCount 1 ;
-    sh:path s223:hasObservationLocationHigh .
-
-
-        
-
- -
-

Infer cnx relationship from connectsThrough

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:TripleRule ;
-    rdfs:comment "Infer cnx relationship from connectsThrough",
-        "InferredConnectionToConnectionPointBasePropertyFromInverse" ;
-    sh:object [ sh:path [ sh:inversePath s223:connectsThrough ] ] ;
-    sh:predicate s223:cnx ;
-    sh:subject sh:this .
-
-
-        
-
- -
-

A heating coil must be related to the role 'Role-Heating' using the relation 'hasRole'.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A heating coil must be related to the role 'Role-Heating' using the relation 'hasRole'." ;
-    sh:hasValue s223:Role-Heating ;
-    sh:minCount 1 ;
-    sh:path s223:hasRole .
-
-
-        
-
- -
-

An Inverter shall have at least one inlet using the medium Electricity-DC.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An Inverter shall have at least one inlet using the medium Electricity-DC." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Electricity-DC ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

InferredEquipmentToDownstreamEquipmentProperty

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:SPARQLRule ;
-    rdfs:comment "Infer the connected relationship for BiDirectional connections" ;
-    sh:construct """
-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} .
-}
-""" ;
-    sh:name "InferredEquipmentToDownstreamEquipmentProperty" ;
-    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> .
-
-
-        
-
- -
-

Equipment that executes a FunctionBlock must have a s223:hasRole relation to s223:Role-Controller.

- - -

-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] a sh:PropertyShape ;
-    sh:hasValue s223:Role-Controller ;
-    sh:message "Equipment that executes a FunctionBlock must have a s223:hasRole relation to s223:Role-Controller." ;
-    sh:minCount 1 ;
-    sh:path s223:hasRole .
-
-
-        
-
- -
-

A Window shall have at least one outlet using the medium Light.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Window shall have at least one outlet using the medium Light." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:EM-Light ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

InferredEquipmentToUpstreamEquipmentProperty

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:SPARQLRule ;
-    rdfs:comment "Infer the connectedFrom relationship" ;
-    sh:construct """
-CONSTRUCT {$this s223:connectedFrom ?equipment .}
-WHERE {
-$this s223:hasConnectionPoint ?cp .
-?cp a s223:InletConnectionPoint .
-?cp s223:connectsThrough/s223:connectsFrom ?equipment .
-}
-""" ;
-    sh:name "InferredEquipmentToUpstreamEquipmentProperty" ;
-    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> .
-
-
-        
-
- -
-

A SingleDuctTerminal must be associated with at least 1 Damper by contains.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A SingleDuctTerminal must be associated with at least 1 Damper by contains." ;
-    sh:minCount 1 ;
-    sh:path s223:contains ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:Damper ] .
-
-
-        
-
- -
-

Test for compatible declared Medium

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Connection." ;
-    sh:name "Test for compatible declared Medium" ;
-    sh:path s223:hasMedium ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the associated Connection." ;
-            sh:message "{$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-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 {?m2 a/rdfs:subClassOf* ?m1}) .
-FILTER (NOT EXISTS {?m1 a/rdfs:subClassOf* ?m2}) .
-}
-""" ] .
-
-
-        
-
- -
-

A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation." ;
-    sh:class s223:ConnectionPoint ;
-    sh:maxCount 1 ;
-    sh:minCount 1 ;
-    sh:path s223:hasObservationLocation .
-
-
-        
-
- -
-

One of the constituents of a Water-GlycolSolution must be Medium-Glycol.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "One of the constituents of a Water-GlycolSolution must be Medium-Glycol." ;
-    sh:path s223:hasConstituent ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:QuantifiableProperty ;
-            sh:property [ rdfs:comment "One of the constituents of a Water-GlycolSolution must be Medium-Glycol." ;
-                    sh:hasValue s223:Medium-Glycol ;
-                    sh:path s223:ofSubstance ],
-                [ rdfs:comment "The quantity kind of the constituent must be VolumeFraction." ;
-                    sh:hasValue <http://qudt.org/vocab/quantitykind/VolumeFraction> ;
-                    sh:path <http://qudt.org/schema/qudt/hasQuantityKind> ] ] .
-
-
-        
-
- -
-

If the relation mapsTo is present it must associate the OutletConnectionPoint with an OutletConnectionPoint.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation mapsTo is present it must associate the OutletConnectionPoint with an OutletConnectionPoint." ;
-    sh:class s223:OutletConnectionPoint ;
-    sh:path s223:mapsTo .
-
-
-        
-
- -
-

Test for compatible declared Medium

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the entity identified by the mapsTo+ relation." ;
-    sh:name "Test for compatible declared Medium" ;
-    sh:path s223:hasMedium ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "Ensure that the Medium identified by a ConnectionPoint via the s223:hasMedium relation is compatible with the Medium identified by the entity identified by the mapsTo+ relation." ;
-            sh:message "{$this} declares a Medium of {?a}, but the Medium of {?b} is declared by {?target} pointed to by the mapsTo+ relation." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-SELECT DISTINCT $this ?a ?b ?target
-WHERE {
-$this s223:hasMedium ?a .
-$this s223:mapsTo+ ?target .
-?target s223:hasMedium ?b .
-?a a/rdfs:subClassOf* s223:EnumerationKind-Medium .
-?b a/rdfs:subClassOf* s223:EnumerationKind-Medium .
-FILTER (?a != ?b ) .
-FILTER (NOT EXISTS {?b a/rdfs:subClassOf* ?a}) .
-FILTER (NOT EXISTS {?a a/rdfs:subClassOf* ?b}) .
-}
-""" ] .
-
-
-        
-
- -
-

A Compressor shall have at least one inlet.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Compressor shall have at least one inlet." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ] .
-
-
-        
-
- -
-

A Setpoint can be assicated with a decimal value using the relation hasValue

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Setpoint can be assicated with a decimal value using the relation hasValue" ;
-    sh:datatype xsd:decimal ;
-    sh:path s223:hasValue .
-
-
-        
-
- -
-

InferredEquipmentToConnectionPointCnxPropertyFromInverse

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:TripleRule ;
-    rdfs:comment "Infer the cnx relationship from isConnectionPointOf" ;
-    sh:name "InferredEquipmentToConnectionPointCnxPropertyFromInverse" ;
-    sh:object [ sh:path [ sh:inversePath s223:isConnectionPointOf ] ] ;
-    sh:predicate s223:cnx ;
-    sh:subject sh:this .
-
-
-        
-
- -
-

For equipment containing another piece of equipment, use the mapsTo relation to infer a Medium from the contained equipment.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:SPARQLRule ;
-    rdfs:comment "For equipment containing another piece of equipment, use the mapsTo relation to infer a Medium from the contained equipment." ;
-    sh:construct """
-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} .
-}
-""" ;
-    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> .
-
-
-        
-
- -
-

InferredConnectionToUpstreamEquipmentProperty

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:SPARQLRule ;
-    rdfs:comment "Infer the connectsFrom relationship" ;
-    sh:construct """
-CONSTRUCT {$this s223:connectsFrom ?equipment .}
-WHERE {
-$this s223:connectsAt ?cp .
-?cp a s223:OutletConnectionPoint .
-?cp s223:isConnectionPointOf ?equipment .
-}
-""" ;
-    sh:name "InferredConnectionToUpstreamEquipmentProperty" ;
-    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> .
-
-
-        
-
- -
-

A DifferentialSensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocationLow.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A DifferentialSensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocationLow." ;
-    sh:class s223:Connection ;
-    sh:maxCount 1 ;
-    sh:minCount 1 ;
-    sh:path s223:hasObservationLocationLow .
-
-
-        
-
- -
-

A DC-Positive-Voltage must have a voltage

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A DC-Positive-Voltage must have a voltage" ;
-    sh:class_ s223:Dimensioned-Voltage ;
-    sh:minCount 1 ;
-    sh:path s223:hasVoltage .
-
-
-        
-
- -
-

If the relation contains is present it must associate the PhysicalSpace with a PhysicalSpace.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation contains is present it must associate the PhysicalSpace with a PhysicalSpace." ;
-    sh:class s223:PhysicalSpace ;
-    sh:path s223:contains .
-
-
-        
-
- -
-

A Valve shall have at least one inlet and one outlet or two bidirectional connection points.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Valve shall have at least one inlet and one outlet or two bidirectional connection points." ;
-    sh:minCount 2 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 2 ;
-    sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ] ;
-    sh:qualifiedValueShapesDisjoint true .
-
-
-        
-
- -
-

A CoolingTower shall have at least one inlet using the medium Water.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A CoolingTower shall have at least one inlet using the medium Water." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

If the relation hasRole is present it must associate the Connection with an EnumerationKind-Role.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation hasRole is present it must associate the Connection with an EnumerationKind-Role." ;
-    sh:class s223:EnumerationKind-Role ;
-    sh:path s223:hasRole .
-
-
-        
-
- -
-

EquipmentToConnectionShape

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation connectedThrough is present it must associate the Connectable with a Connection." ;
-    sh:class s223:Connection ;
-    sh:name "EquipmentToConnectionShape" ;
-    sh:path s223:connectedThrough .
-
-
-        
-
- -
-

If the relation hasRole is present it must associate the System with an EnumerationKind-Role.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation hasRole is present it must associate the System with an EnumerationKind-Role." ;
-    sh:class s223:EnumerationKind-Role ;
-    sh:path s223:hasRole .
-
-
-        
-
- -
-

A heat exchanger shall have at least 4 connection points.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A heat exchanger shall have at least 4 connection points." ;
-    sh:minCount 4 ;
-    sh:path s223:hasConnectionPoint .
-
-
-        
-
- -
-

A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Sensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocation." ;
-    sh:class s223:Connectable ;
-    sh:maxCount 1 ;
-    sh:minCount 1 ;
-    sh:path s223:hasObservationLocation .
-
-
-        
-
- -
-

Declare the inverse triples for relations that have defined inverse relations

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:SPARQLRule ;
-    rdfs:comment "Declare the inverse triples for relations that have defined inverse relations" ;
-    sh:construct """
-CONSTRUCT {
-?o ?invP $this .
-}
-WHERE {
-  $this ?p ?o .
-  ?p s223:inverseOf ?invP .
-}
-			""" ;
-    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/owl-subset> .
-
-
-        
-
- -
-

An PhotovoltaicModule shall have at least one outlet using the medium Electricity.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An PhotovoltaicModule shall have at least one outlet using the medium Electricity." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A Battery shall have at least one outlet or bidirectional ConnectionPoint using the medium Electricity.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Battery shall have at least one outlet or bidirectional ConnectionPoint using the medium Electricity." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

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)

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "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)" ;
-    sh:maxCount 1 ;
-    sh:path s223:hasValue .
-
-
-        
-
- -
-

A Damper shall have at least one inlet using the medium Air.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Damper shall have at least one inlet using the medium Air.",
-        "Does this need to allow bidirectional connection points?" ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A ChilledBeam must be associated with the Role-Cooling using the relation hasRole

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A ChilledBeam must be associated with the Role-Cooling using the relation hasRole" ;
-    sh:minCount 1 ;
-    sh:path s223:hasRole ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:Role-Cooling ] .
-
-
-        
-
- -
-

A radiant panel shall have at least one outlet using the medium Water.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A radiant panel shall have at least one outlet using the medium Water." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A Radiator shall have at least one inlet using the medium Electricity or Water.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Radiator shall have at least one inlet using the medium Electricity or Water." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

Heat Exchangers should have the same number of non-electrical inlet and outlet connection points.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "Heat Exchangers should have the same number of non-electrical inlet and outlet connection points." ;
-    sh:path s223:hasConnectionPoint ;
-    sh:severity sh:Warning ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "Heat Exchangers should have the same number of non-electrical inlet and outlet connection points." ;
-            sh:message "Number of inlets {?incount} are not equivalent with number of outlets {?outcount}." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-SELECT DISTINCT $this ?incount ?outcount
-WHERE {
-{
-SELECT $this (COUNT (?cpin) AS ?incount)
-WHERE {
-?cpin a/rdfs:subClassOf* s223:InletConnectionPoint .
-$this s223:hasConnectionPoint ?cpin .
-?cpin s223:hasMedium ?inmedium .
-FILTER NOT EXISTS {
-    ?inmedium a/rdfs:subClassOf* s223:Medium-Electricity .
-  }
-}
-GROUP BY $this
-}
-{
-SELECT $this (COUNT (?cpout) AS ?outcount)
-WHERE {
-?cpout a/rdfs:subClassOf* s223:OutletConnectionPoint .
-$this s223:hasConnectionPoint ?cpout .
-?cpout s223:hasMedium ?outmedium .
-FILTER NOT EXISTS {
-    ?outmedium a/rdfs:subClassOf* s223:Medium-Electricity .
-  }
-}
-GROUP BY $this
-}
-FILTER (?incount != ?outcount)
-}
-""" ] .
-
-
-        
-
- -
-

An IlluminanceSensor will always observe a Property that has a QuantityKind of Illuminance.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An IlluminanceSensor will always observe a Property that has a QuantityKind of Illuminance." ;
-    sh:path s223:observes ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:Property ;
-            sh:node [ sh:property [ sh:hasValue <http://qudt.org/vocab/quantitykind/Illuminance> ;
-                            sh:path <http://qudt.org/schema/qudt/hasQuantityKind> ] ] ] .
-
-
-        
-
- -
-

An EnumerationKind must not use the generalized hasProperty relation. Some EnumerationKinds have specifically-defined relations to Property.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An EnumerationKind must not use the generalized hasProperty relation. Some EnumerationKinds have specifically-defined relations to Property." ;
-    sh:maxCount 0 ;
-    sh:path s223:hasProperty .
-
-
-        
-
- -
-

A Junction shall have at least three ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Junction shall have at least three ConnectionPoints including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point." ;
-    sh:minCount 3 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ] ;
-    sh:qualifiedValueShapesDisjoint true .
-
-
-        
-
- -
-

ConnectionToDownstreamConnectableShape

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation connectsTo is present it must associate the Connection with a Connectable." ;
-    sh:class s223:Connectable ;
-    sh:name "ConnectionToDownstreamConnectableShape" ;
-    sh:path s223:connectsTo .
-
-
-        
-
- -
-

A Connection can be associated with an EnumerationKind-Phase using the relation hasPhase.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Connection can be associated with an EnumerationKind-Phase using the relation hasPhase." ;
-    sh:class s223:EnumerationKind-Phase ;
-    sh:maxCount 1 ;
-    sh:path s223:hasPhase .
-
-
-        
-
- -
-

ConnectionPoint medium

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A ConnectionPoint must be associated with exactly one EnumerationKind-Medium using the relation hasMedium." ;
-    sh:class s223:Substance-Medium ;
-    sh:maxCount 1 ;
-    sh:minCount 1 ;
-    sh:name "ConnectionPoint medium" ;
-    sh:path s223:hasMedium .
-
-
-        
-
- -
-

If the relation actuates is present it must associate the Actuator with a Equipment.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation actuates is present it must associate the Actuator with a Equipment." ;
-    sh:class s223:Equipment ;
-    sh:path s223:actuates .
-
-
-        
-
- -
-

An electricity DC medium must have two reference voltages.

- - -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An electricity DC medium must have two reference voltages." ;
-    sh:minCount 1 ;
-    sh:or ( [ sh:class s223:Dimensioned-PositiveVoltage ] [ sh:class s223:Dimensioned-NegativeVoltage ] [ sh:class s223:Dimensioned-Voltage ] ) ;
-    sh:path s223:hasVoltage .
-
-
-        
-
- -
-

A FumeHood shall have at least one inlet using the medium Air.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A FumeHood shall have at least one inlet using the medium Air." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A Filter shall have at least one outlet.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Filter shall have at least one outlet." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ] .
-
-
-        
-
- -
-

A DomainSpace must be enclosed by a PhysicalSpace.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A DomainSpace must be enclosed by a PhysicalSpace." ;
-    sh:message "A DomainSpace must be enclosed by a PhysicalSpace." ;
-    sh:minCount 1 ;
-    sh:path [ sh:inversePath s223:encloses ] ;
-    sh:severity sh:Info .
-
-
-        
-
- -
-

A FanCoilUnit must be associated with at least 1 Fan using the relation contains.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A FanCoilUnit must be associated with at least 1 Fan using the relation contains." ;
-    sh:minCount 1 ;
-    sh:path s223:contains ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:Fan ] .
-
-
-        
-
- -
-

A ConnectionPoint must be associated with at most one Connectable using the cnx relation.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A ConnectionPoint must be associated with at most one Connectable using the cnx relation." ;
-    sh:message "A ConnectionPoint must be associated with at most one Connectable using the cnx relation." ;
-    sh:path s223:cnx ;
-    sh:qualifiedMaxCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:Connectable ] ;
-    sh:qualifiedValueShapesDisjoint true .
-
-
-        
-
- -
-

An AirHandlingUnit shall have at least one inlet using the medium Air.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An AirHandlingUnit shall have at least one inlet using the medium Air." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A Battery shall have at least one outlet or bidirectional ConnectionPoint using the medium Electricity.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Battery shall have at least one outlet or bidirectional ConnectionPoint using the medium Electricity." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A Radiator shall have at least one inlet using the medium Electricity or Water.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Radiator shall have at least one inlet using the medium Electricity or Water." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A radiant panel must hasRole Role-Heating.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A radiant panel must hasRole Role-Heating." ;
-    sh:minCount 1 ;
-    sh:path s223:hasRole ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:Role-Heating ] .
-
-
-        
-
- -
-

An Actuator must be associated with at least one ActuatableProperty using the relation commandedByProperty.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An Actuator must be associated with at least one ActuatableProperty using the relation commandedByProperty." ;
-    sh:class s223:ActuatableProperty ;
-    sh:minCount 1 ;
-    sh:path s223:commandedByProperty .
-
-
-        
-
- -
-

This QuantifiableProperty and the associated Setpoint use non-commensurate Units

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "This QuantifiableProperty and the associated Setpoint use non-commensurate Units" ;
-    sh:path <http://qudt.org/schema/qudt/hasUnit> ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "This QuantifiableProperty and the associated Setpoint use non-commensurate Units" ;
-            sh:message "{$this} uses Unit {?punit}, while Setpoint {?setpoint} uses Unit {?sunit}. These are non-commensurate." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-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 WaterFilter shall have at least one inlet using the medium Water.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A WaterFilter shall have at least one inlet using the medium Water." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

If the relation connectsAt is present it must associate the Connection with a ConnectionPoint.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation connectsAt is present it must associate the Connection with a ConnectionPoint." ;
-    sh:class s223:ConnectionPoint ;
-    sh:path s223:connectsAt .
-
-
-        
-
- -
-

If the relation executes is present it must associate the Controller with a FunctionBlock.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation executes is present it must associate the Controller with a FunctionBlock." ;
-    sh:class s223:FunctionBlock ;
-    sh:path s223:executes .
-
-
-        
-
- -
-

A HumiditySensor must always observe a Property that has a QuantityKind of RelativeHumidity.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:SPARQLRule ;
-    rdfs:comment "A HumiditySensor must always observe a Property that has a QuantityKind of RelativeHumidity." ;
-    sh:construct """
-CONSTRUCT {?prop qudt:hasQuantityKind qudtqk:RelativeHumidity .}
-WHERE {
-  $this s223:observes ?prop .
-}
-""" ;
-    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> .
-
-
-        
-
- -
-

If a ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment should have a contains relation.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If a ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment should have a contains relation." ;
-    sh:path s223:mapsTo ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "If a ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment should have a contains relation." ;
-            sh:message "{?otherEquipment} should contain {?equipment} because ConnectionPoint {$this} has a mapsTo relation." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-SELECT $this ?equipment ?otherEquipment
-WHERE {
-$this s223:mapsTo ?otherCP .
-?equipment s223:hasConnectionPoint $this .
-?otherEquipment s223:hasConnectionPoint ?otherCP .
-FILTER NOT EXISTS {?otherEquipment s223:contains ?equipment}
-}
-""" ] .
-
-
-        
-
- -
-

A Valve shall have at least one inlet and one outlet or two bidirectional connection points.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Valve shall have at least one inlet and one outlet or two bidirectional connection points." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ] ;
-    sh:qualifiedValueShapesDisjoint true .
-
-
-        
-
- -
-

For a Connectable, cnx relation must associate the Connectable to a ConnectionPoint

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "For a Connectable, cnx relation must associate the Connectable to a ConnectionPoint" ;
-    sh:path s223:cnx ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "A Connectable should only have a s223:cnx relation with a ConnectionPoint" ;
-            sh:message "{$this} cannot have a s223:cnx relation to {?something}, because {?something} is not a ConnectionPoint." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """SELECT $this ?something
-WHERE {
-$this s223:cnx ?something .
-FILTER NOT EXISTS {?something a/rdfs:subClassOf* s223:ConnectionPoint} .
-}""" ] .
-
-
-        
-
- -
-

A Furnace shall have at least one inlet using the medium Air.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Furnace shall have at least one inlet using the medium Air." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

An EnumerableProperty must be associated with exactly one EnumerationKind using the relation hasEnumerationKind.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An EnumerableProperty must be associated with exactly one EnumerationKind using the relation hasEnumerationKind." ;
-    sh:class s223:EnumerationKind ;
-    sh:maxCount 1 ;
-    sh:minCount 1 ;
-    sh:path s223:hasEnumerationKind .
-
-
-        
-
- -
-

A Connection must have two or more cnx relations to ConnectionPoints

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Connection must have two or more cnx relations to ConnectionPoints" ;
-    sh:class s223:ConnectionPoint ;
-    sh:message "A Connection must have two or more cnx relations to ConnectionPoints" ;
-    sh:minCount 2 ;
-    sh:path s223:cnx ;
-    sh:severity sh:Info .
-
-
-        
-
- -
-

Infer a hasDomain relation by checking any enclosing Zone to determine the domain.

- - -

-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:TripleRule ;
-    rdfs:comment "Infer a hasDomain relation by checking any enclosing Zone to determine the domain." ;
-    sh:object [ sh:path ( [ sh:inversePath s223:hasDomainSpace ] s223:hasDomain ) ] ;
-    sh:predicate s223:hasDomain ;
-    sh:subject sh:this .
-
-
-        
-
- -
-

This comment intentionally left blank.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] a sh:PropertyShape ;
-    rdfs:comment "This comment intentionally left blank." ;
-    sh:datatype xsd:string ;
-    sh:maxCount 1 ;
-    sh:minCount 0 ;
-    sh:path <http://data.ashrae.org/bacnet/2020#object-identifier> ;
-    sh:pattern "^[A-Za-z0-9-]+,[1-9][0-9]*$" .
-
-
-        
-
- -
-

A radiant panel shall have at least one inlet using the medium Electricity, NaturalGas, or Water.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A radiant panel shall have at least one inlet using the medium Electricity, NaturalGas, or Water." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

An OccupantMotionSensor must always observe an EnumeratedObservableProperty that has an EnumerationKind of Occupancy-Motion.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An OccupantMotionSensor must always observe an EnumeratedObservableProperty that has an EnumerationKind of Occupancy-Motion." ;
-    sh:class s223:EnumeratedObservableProperty ;
-    sh:minCount 1 ;
-    sh:node [ sh:property [ sh:class s223:Occupancy-Motion ;
-                    sh:maxCount 1 ;
-                    sh:path s223:hasEnumerationKind ] ] ;
-    sh:path s223:observes .
-
-
-        
-
- -
-

A Property can be associated with at most one EnumerationKind-Medium using the relation ofMedium

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Property can be associated with at most one EnumerationKind-Medium using the relation ofMedium" ;
-    sh:class s223:Substance-Medium ;
-    sh:maxCount 1 ;
-    sh:path s223:ofMedium .
-
-
-        
-
- -
-

If the relation hasPhysicalLocation is present it must associate the Equipment with a PhysicalSpace.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation hasPhysicalLocation is present it must associate the Equipment with a PhysicalSpace." ;
-    sh:class s223:PhysicalSpace ;
-    sh:path s223:hasPhysicalLocation .
-
-
-        
-
- -
-

A TerminalUnit shall have at least one outlet ConnectionPoint using the medium Air.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A TerminalUnit shall have at least one outlet ConnectionPoint using the medium Air." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A Boiler shall have at least one outlet using the medium Water.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Boiler shall have at least one outlet using the medium Water." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A HeatPump shall have at least one inlet using the medium Air.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A HeatPump shall have at least one inlet using the medium Air." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

Property Shape

- - -

-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] sh:hasValue <http://qudt.org/vocab/quantitykind/ThermodynamicTemperature> ;
-    sh:path <http://qudt.org/schema/qudt/hasQuantityKind> .
-
-
-        
-
- -
-

If the relation hasAspect is present it must associate the Property with an EnumerationKind.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation hasAspect is present it must associate the Property with an EnumerationKind." ;
-    sh:class s223:EnumerationKind ;
-    sh:path s223:hasAspect .
-
-
-        
-
- -
-

Infer the hasQuantityKind relationship if it is unambiguous

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:SPARQLRule ;
-    rdfs:comment "Infer the hasQuantityKind relationship if it is unambiguous" ;
-    sh:construct """
-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 .
-}
-""" ;
-    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> .
-
-
-        
-
- -
-

A Zone must be associated with at least one DomainSpace using the relation hasDomainSpace.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Zone must be associated with at least one DomainSpace using the relation hasDomainSpace." ;
-    sh:class s223:DomainSpace ;
-    sh:minCount 1 ;
-    sh:path s223:hasDomainSpace .
-
-
-        
-
- -
-

A Turbine shall have at least one outlet using the medium Electricity.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Turbine shall have at least one outlet using the medium Electricity." ;
-    sh:class s223:OutletConnectionPoint ;
-    sh:minCount 1 ;
-    sh:node [ sh:property [ sh:class s223:Medium-Electricity ;
-                    sh:path s223:hasMedium ] ] ;
-    sh:path s223:hasConnectionPoint .
-
-
-        
-
- -
-

A Function block must be associated with at least one Property using the relation hasInput.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Function block must be associated with at least one Property using the relation hasInput." ;
-    sh:class s223:Property ;
-    sh:minCount 1 ;
-    sh:path s223:hasInput .
-
-
-        
-
- -
-

A DifferentialSensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocationHigh.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A DifferentialSensor must be associated with exactly 1 of Connectable, Connection, or ConnectionPoint using the relation hasObservationLocationHigh." ;
-    sh:class s223:ConnectionPoint ;
-    sh:maxCount 1 ;
-    sh:minCount 1 ;
-    sh:path s223:hasObservationLocationHigh .
-
-
-        
-
- -
-

InferredEquipmentToDownstreamEquipmentProperty

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:SPARQLRule ;
-    rdfs:comment "Infer the connectedTo relationship" ;
-    sh:construct """
-CONSTRUCT {$this s223:connectedTo ?equipment .}
-WHERE {
-$this s223:hasConnectionPoint ?cp .
-?cp a s223:OutletConnectionPoint .
-?cp s223:connectsThrough/s223:connectsTo ?equipment .
-}
-""" ;
-    sh:name "InferredEquipmentToDownstreamEquipmentProperty" ;
-    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> .
-
-
-        
-
- -
-

If the relation ofSubstance is present it must associate the ParticulateSensor with a Substance-Particulate.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation ofSubstance is present it must associate the ParticulateSensor with a Substance-Particulate." ;
-    sh:class s223:Substance-Particulate ;
-    sh:path s223:ofSubstance .
-
-
-        
-
- -
-

A ConnectionPoint can be associated with at most one other ConnectionPoint using the inverse of relation mapsTo

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A ConnectionPoint can be associated with at most one other ConnectionPoint using the inverse of relation mapsTo" ;
-    sh:class s223:ConnectionPoint ;
-    sh:maxCount 1 ;
-    sh:path [ sh:inversePath s223:mapsTo ] .
-
-
-        
-
- -
-

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.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "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." ;
-    sh:path s223:connectsThrough ;
-    sh:severity sh:Info ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "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." ;
-            sh:message "ConnectionPoint {$this} probably needs an association with a Connection." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-    SELECT $this 
-    WHERE {
-        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} .
-        }
-        """ ] .
-
-
-        
-
- -
-

An electricity AC medium must have a number of electrical phases.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "An electricity AC medium must have a number of electrical phases." ;
-    sh:class s223:Dimensionless-NumberOfElectricalPhases ;
-    sh:minCount 1 ;
-    sh:path s223:hasNumberOfElectricalPhases .
-
-
-        
-
- -
-

One of the constituents of a Water-GlycolSolution must be Medium-Water.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "One of the constituents of a Water-GlycolSolution must be Medium-Water." ;
-    sh:hasValue s223:Medium-Water ;
-    sh:path s223:ofSubstance .
-
-
-        
-
- -
-

A DualDuctTerminal shall have at least two inlets using the medium Air.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A DualDuctTerminal shall have at least two inlets using the medium Air." ;
-    sh:minCount 2 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 2 ;
-    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A TemperatureSensor must always observe a Property that has a QuantityKind of Temperature.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A TemperatureSensor must always observe a Property that has a QuantityKind of Temperature." ;
-    sh:path s223:observes ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:Property ;
-            sh:node [ sh:property [ sh:hasValue <http://qudt.org/vocab/quantitykind/Temperature> ;
-                            sh:path <http://qudt.org/schema/qudt/hasQuantityKind> ] ] ] .
-
-
-        
-
- -
-

If the relation hasRole is present it must associate the HeatExchanger with a EnumerationKind-Role.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation hasRole is present it must associate the HeatExchanger with a EnumerationKind-Role." ;
-    sh:class s223:EnumerationKind-Role ;
-    sh:path s223:hasRole .
-
-
-        
-
- -
-

Infer the hasQuantityKind relationship for a Setpoint if it is unambiguous

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] a sh:SPARQLRule ;
-    rdfs:comment "Infer the hasQuantityKind relationship for a Setpoint if it is unambiguous" ;
-    sh:construct """
-CONSTRUCT {$this qudt:hasQuantityKind ?qk .}
-WHERE {
-FILTER (NOT EXISTS {$this qudt:hasQuantityKind ?something}) .
-$this ^s223:hasSetpoint ?property .
-?property qudt:hasQuantityKind ?qk .
-}
-""" ;
-    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> .
-
-
-        
-
- -
-

A FanCoilUnit must be associated with at least 1 Coil using the relation contains.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A FanCoilUnit must be associated with at least 1 Coil using the relation contains." ;
-    sh:minCount 1 ;
-    sh:path s223:contains ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:Coil ] .
-
-
-        
-
- -
-

If the relation connectedTo is present it must associate the VariableFrequencyDrive with a Equipment.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation connectedTo is present it must associate the VariableFrequencyDrive with a Equipment." ;
-    sh:class s223:Equipment ;
-    sh:path s223:connectedTo .
-
-
-        
-
- -
-

A ZoneGroup must be associated with at least one Zone using the relation hasZone.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A ZoneGroup must be associated with at least one Zone using the relation hasZone." ;
-    sh:class s223:Zone ;
-    sh:minCount 1 ;
-    sh:path s223:hasZone .
-
-
-        
-
- -
-

If the relation encloses is present it must associate the PhysicalSpace with a DomainSpace.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If the relation encloses is present it must associate the PhysicalSpace with a DomainSpace." ;
-    sh:class s223:DomainSpace ;
-    sh:path s223:encloses .
-
-
-        
-
- -
-

A ChilledBeam shall have at least one outlet using the medium Water.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A ChilledBeam shall have at least one outlet using the medium Water." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Water ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A DC-Negative-Voltage must have a voltage

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A DC-Negative-Voltage must have a voltage" ;
-    sh:class_ s223:Dimensioned-Voltage ;
-    sh:minCount 1 ;
-    sh:path s223:hasVoltage .
-
-
-        
-
- -
-

A Generator must be associated with at least one ConnectionPoint using the relation hasConnectionPoint.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Generator must be associated with at least one ConnectionPoint using the relation hasConnectionPoint." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint .
-
-
-        
-
- -
-

A QuantifiableProperty must be associated with at least one Unit using the relation hasUnit.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A QuantifiableProperty must be associated with at least one Unit using the relation hasUnit." ;
-    sh:class <http://qudt.org/schema/qudt/Unit> ;
-    sh:minCount 1 ;
-    sh:path <http://qudt.org/schema/qudt/hasUnit> ;
-    sh:severity sh:Info .
-
-
-        
-
- -
-

If one ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment shall have a contains relation.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-
-[] rdfs:comment "If one ConnectionPoint mapsTo another ConnectionPoint, the respective Equipment shall have a contains relation." ;
-    sh:path s223:mapsTo ;
-    sh:severity sh:Warning ;
-    sh:sparql [ a sh:SPARQLConstraint ;
-            rdfs:comment "If a Connectable is s223:connected (high-level), it must eventually have the underlying cnx relations." ;
-            sh:message "{$this} is s223:connected (high-level) to {?otherC} but not yet connected at the cnx-level." ;
-            sh:prefixes <http://data.ashrae.org/standard223/1.0/validation/model> ;
-            sh:select """
-SELECT $this ?otherC
-WHERE {
-$this s223:connected ?otherC .
-FILTER NOT EXISTS {$this s223:cnx+ ?otherC}
-}
-""" ] .
-
-
-        
-
- -
-

There must be two QuantifiableProperties that characterize the constituents of a Water-GlycolSolution.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "There must be two QuantifiableProperties that characterize the constituents of a Water-GlycolSolution." ;
-    sh:class s223:QuantifiableProperty ;
-    sh:minCount 2 ;
-    sh:path s223:hasConstituent .
-
-
-        
-
- -
-

A Coil shall have at least one outlet using the medium Air.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix s223: <http://data.ashrae.org/standard223#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A Coil shall have at least one outlet using the medium Air." ;
-    sh:minCount 1 ;
-    sh:path s223:hasConnectionPoint ;
-    sh:qualifiedMinCount 1 ;
-    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
-            sh:node [ sh:property [ sh:class s223:Medium-Air ;
-                            sh:path s223:hasMedium ] ] ] .
-
-
-        
-
- -
-

A QuantifiableProperty must be associated with at least one QuantityKind using the relation hasQuantityKind.

- - -

-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix sh: <http://www.w3.org/ns/shacl#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-[] rdfs:comment "A QuantifiableProperty must be associated with at least one QuantityKind using the relation hasQuantityKind." ;
-    sh:class <http://qudt.org/schema/qudt/QuantityKind> ;
-    sh:minCount 1 ;
-    sh:path <http://qudt.org/schema/qudt/hasQuantityKind> .
-
-
-        
-
- - - - \ No newline at end of file