Docs

Generated from the ASHRAE 223P ontology at version git:master@6fdc11c60b930ccb042d775b66a9115547fd22a7 date:2026-10-06 20:01:58 UTC (ontologies/223p.ttl)

Building search index…

URI: http://data.ashrae.org/bacnet/2020#device-identifier


@prefix bacnet: <http://data.ashrae.org/bacnet/2020#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

bacnet:device-identifier a rdf:Property ;
    rdfs:label "Device identifier" ;
    rdfs:comment "The Object_Identifier property of the device object within the BACnet device.  See ASHRAE 135-2024 Clause 12.11.1." .


            

URI: http://data.ashrae.org/bacnet/2020#device-name


@prefix bacnet: <http://data.ashrae.org/bacnet/2020#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

bacnet:device-name a rdf:Property ;
    rdfs:label "Device name" ;
    rdfs:comment "The name of the BACnet device being referenced, more formally the Object_Name property of the device object within the BACnet device.  See ASHRAE 135-2024 Clause 12.11.2." .


            

URI: http://data.ashrae.org/bacnet/2020#object-identifier


@prefix bacnet: <http://data.ashrae.org/bacnet/2020#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

bacnet:object-identifier a rdf:Property ;
    rdfs:label "Object identifier" ;
    rdfs:comment "The Object_Identifier property of the object being referenced.  For example, for the object identifier of an Analog Value Object, see ASHRAE 135-2024 Clause 12.4.1." .


            

URI: http://data.ashrae.org/bacnet/2020#object-name


@prefix bacnet: <http://data.ashrae.org/bacnet/2020#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

bacnet:object-name a rdf:Property ;
    rdfs:label "Object name" ;
    rdfs:comment "The Object_Name property of the object being referenced.  For example, for the object name of an Analog Value Object, see ASHRAE 135-2024 Clause 12.4.2." .


            

URI: http://data.ashrae.org/bacnet/2020#priority-for-writing


@prefix bacnet: <http://data.ashrae.org/bacnet/2020#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

bacnet:priority-for-writing a rdf:Property ;
    rdfs:label "Priority for writing" ;
    rdfs:comment """This parameter shall be an integer in the range 1..16, which indicates the priority assigned to the WriteProperty service. If an attempt
is made to write to a commandable property without specifying the bacnet:priority-for-writing, a default priority of 16 (the lowest priority) shall
be assumed. If an attempt is made to write to a property that is not commandable with a specified priority, the priority shall be
ignored.  See ASHRAE 135-2024 Clause 15.9.1.1.5.""" .


            

URI: http://data.ashrae.org/bacnet/2020#property-array-index


@prefix bacnet: <http://data.ashrae.org/bacnet/2020#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

bacnet:property-array-index a rdf:Property ;
    rdfs:label "Property array index" ;
    rdfs:comment """If the property identified is of datatype array, this optional property of type Unsigned shall indicate the array index of
the element of the `Property` referenced by the ReadProperty service or the Read Access Specification of the ReadPropertyMultiple service. If the bacnet:property-array-index is omitted, this shall mean that the entire
array shall be referenced.  See ASHRAE 135-2024 Clause 15.5.1.1.3 and Clause 15.7.1.1.1.""" .


            

URI: http://data.ashrae.org/bacnet/2020#property-identifier


@prefix bacnet: <http://data.ashrae.org/bacnet/2020#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

bacnet:property-identifier a rdf:Property ;
    rdfs:label "Property identifier" ;
    rdfs:comment "The Object_Identifier `Property` of the object being referenced.  For example, for the object identifier of an Analog Value Object, see ASHRAE 135-2024 Clause 12.4.1." .


            

URI: http://data.ashrae.org/standard223#12V-12V-Neg


@prefix 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:12V-12V-Neg a s223:12V-12V-Neg,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Negative 12 VDC electricity" ;
    s223:hasDCDifferentialVoltage s223:Voltage-12V ;
    s223:hasDCNegativeVoltage s223:Voltage-12V ;
    s223:hasDCZeroVoltage s223:Voltage-0V ;
    rdfs:comment "12V-Neg" ;
    rdfs:subClassOf s223:DC-12V .


            

URI: http://data.ashrae.org/standard223#12V-12V-Pos


@prefix 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:12V-12V-Pos a s223:12V-12V-Pos,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Positive 12 VDC electricity" ;
    s223:hasDCDifferentialVoltage s223:Voltage-12V ;
    s223:hasDCPositiveVoltage s223:Voltage-12V ;
    s223:hasDCZeroVoltage s223:Voltage-0V ;
    rdfs:comment "12V-Pos" ;
    rdfs:subClassOf s223:DC-12V .


            

URI: http://data.ashrae.org/standard223#12V-6V-Neg-6V-Pos


@prefix 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:12V-6V-Neg-6V-Pos a s223:12V-6V-Neg-6V-Pos,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Negative 6 VDC and positive 6 VDC electricity" ;
    s223:hasDCDifferentialVoltage s223:Voltage-12V ;
    s223:hasDCNegativeVoltage s223:Voltage-6V ;
    s223:hasDCPositiveVoltage s223:Voltage-6V ;
    rdfs:comment "6V-Neg-6V-Pos" ;
    rdfs:subClassOf s223:DC-12V .


            

URI: http://data.ashrae.org/standard223#24V-12V-Neg-12V-Pos


@prefix 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:24V-12V-Neg-12V-Pos a s223:24V-12V-Neg-12V-Pos,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Negative 12 VDC and positive 12 VDC electricity" ;
    s223:hasDCDifferentialVoltage s223:Voltage-24V ;
    s223:hasDCNegativeVoltage s223:Voltage-12V ;
    s223:hasDCPositiveVoltage s223:Voltage-12V ;
    rdfs:comment "12V-Neg-12V-Pos" ;
    rdfs:subClassOf s223:DC-24V .


            

URI: http://data.ashrae.org/standard223#24V-24V-Neg


@prefix 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:24V-24V-Neg a s223:24V-24V-Neg,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Negative 24 VDC electricity" ;
    s223:hasDCDifferentialVoltage s223:Voltage-24V ;
    s223:hasDCNegativeVoltage s223:Voltage-24V ;
    s223:hasDCZeroVoltage s223:Voltage-0V ;
    rdfs:comment "24V-Neg" ;
    rdfs:subClassOf s223:DC-24V .


            

URI: http://data.ashrae.org/standard223#24V-24V-Pos


@prefix 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:24V-24V-Pos a s223:24V-24V-Pos,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Positive 24 VDC electricity" ;
    s223:hasDCDifferentialVoltage s223:Voltage-24V ;
    s223:hasDCPositiveVoltage s223:Voltage-24V ;
    s223:hasDCZeroVoltage s223:Voltage-0V ;
    rdfs:comment "24V-Pos" ;
    rdfs:subClassOf s223:DC-24V .


            

URI: http://data.ashrae.org/standard223#380V-190V-Neg-190V-Pos


@prefix 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:380V-190V-Neg-190V-Pos a s223:380V-190V-Neg-190V-Pos,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Negative 190 VDC and positive 190 VDC electricity" ;
    s223:hasDCDifferentialVoltage s223:Voltage-380V ;
    s223:hasDCNegativeVoltage s223:Voltage-190V ;
    s223:hasDCPositiveVoltage s223:Voltage-190V ;
    rdfs:comment "190V-Neg-190V-Pos" ;
    rdfs:subClassOf s223:DC-380V .


            

URI: http://data.ashrae.org/standard223#380V-380V-Neg


@prefix 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:380V-380V-Neg a s223:380V-380V-Neg,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Negative 380 VDC electricity" ;
    s223:hasDCDifferentialVoltage s223:Voltage-380V ;
    s223:hasDCNegativeVoltage s223:Voltage-380V ;
    s223:hasDCZeroVoltage s223:Voltage-0V ;
    rdfs:comment "380V-Neg" ;
    rdfs:subClassOf s223:DC-380V .


            

URI: http://data.ashrae.org/standard223#380V-380V-Pos


@prefix 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:380V-380V-Pos a s223:380V-380V-Pos,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Positive 380 VDC electricity" ;
    s223:hasDCDifferentialVoltage s223:Voltage-380V ;
    s223:hasDCPositiveVoltage s223:Voltage-380V ;
    s223:hasDCZeroVoltage s223:Voltage-0V ;
    rdfs:comment "380V-Pos" ;
    rdfs:subClassOf s223:DC-380V .


            

URI: http://data.ashrae.org/standard223#48V-24V-Neg-24V-Pos


@prefix 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:48V-24V-Neg-24V-Pos a s223:48V-24V-Neg-24V-Pos,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Negative 24 VDC and positive 24 VDC electricity" ;
    s223:hasDCDifferentialVoltage s223:Voltage-48V ;
    s223:hasDCNegativeVoltage s223:Voltage-24V ;
    s223:hasDCPositiveVoltage s223:Voltage-24V ;
    rdfs:comment "24V-Neg-24V-Pos" ;
    rdfs:subClassOf s223:DC-48V .


            

URI: http://data.ashrae.org/standard223#48V-48V-Neg


@prefix 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:48V-48V-Neg a s223:48V-48V-Neg,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Negative 48 VDC electricity" ;
    s223:hasDCDifferentialVoltage s223:Voltage-48V ;
    s223:hasDCNegativeVoltage s223:Voltage-48V ;
    s223:hasDCZeroVoltage s223:Voltage-0V ;
    rdfs:comment "48V-Neg" ;
    rdfs:subClassOf s223:DC-48V .


            

URI: http://data.ashrae.org/standard223#48V-48V-Pos


@prefix 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:48V-48V-Pos a s223:48V-48V-Pos,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Positive 48 VDC electricity" ;
    s223:hasDCDifferentialVoltage s223:Voltage-48V ;
    s223:hasDCPositiveVoltage s223:Voltage-48V ;
    s223:hasDCZeroVoltage s223:Voltage-0V ;
    rdfs:comment "48V-Pos" ;
    rdfs:subClassOf s223:DC-48V .


            

URI: http://data.ashrae.org/standard223#5V-2.5V-Neg-2.5V-Pos


@prefix 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:5V-2.5V-Neg-2.5V-Pos a s223:5V-2.5V-Neg-2.5V-Pos,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Negative 2.5 VDC and positive 2.5 VDC electricity" ;
    s223:hasDCDifferentialVoltage s223:Voltage-5V ;
    s223:hasDCNegativeVoltage s223:Voltage-2.5V ;
    s223:hasDCPositiveVoltage s223:Voltage-2.5V ;
    rdfs:comment "2.5V-Neg-2.5V-Pos" ;
    rdfs:subClassOf s223:DC-5V .


            

URI: http://data.ashrae.org/standard223#5V-5V-Neg


@prefix 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:5V-5V-Neg a s223:5V-5V-Neg,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Negative 5 VDC electricity" ;
    s223:hasDCDifferentialVoltage s223:Voltage-5V ;
    s223:hasDCNegativeVoltage s223:Voltage-5V ;
    s223:hasDCZeroVoltage s223:Voltage-0V ;
    rdfs:comment "5V-Neg" ;
    rdfs:subClassOf s223:DC-5V .


            

URI: http://data.ashrae.org/standard223#5V-5V-Pos


@prefix 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:5V-5V-Pos a s223:5V-5V-Pos,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Positive 5 VDC electricity" ;
    s223:hasDCDifferentialVoltage s223:Voltage-5V ;
    s223:hasDCPositiveVoltage s223:Voltage-5V ;
    s223:hasDCZeroVoltage s223:Voltage-0V ;
    rdfs:comment "5V-Pos" ;
    rdfs:subClassOf s223:DC-5V .


            

URI: http://data.ashrae.org/standard223#6V-3V-Neg-3V-Pos


@prefix 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:6V-3V-Neg-3V-Pos a s223:6V-3V-Neg-3V-Pos,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Negative 3 VDC and positive 3 VDC electricity" ;
    s223:hasDCDifferentialVoltage s223:Voltage-6V ;
    s223:hasDCNegativeVoltage s223:Voltage-3V ;
    s223:hasDCPositiveVoltage s223:Voltage-3V ;
    rdfs:comment "3V-Neg-3V-Pos" ;
    rdfs:subClassOf s223:DC-6V .


            

URI: http://data.ashrae.org/standard223#6V-6V-Neg


@prefix 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:6V-6V-Neg a s223:6V-6V-Neg,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Negative 6 VDC electricity" ;
    s223:hasDCDifferentialVoltage s223:Voltage-6V ;
    s223:hasDCNegativeVoltage s223:Voltage-6V ;
    s223:hasDCZeroVoltage s223:Voltage-0V ;
    rdfs:comment "6V-Neg" ;
    rdfs:subClassOf s223:DC-6V .


            

URI: http://data.ashrae.org/standard223#6V-6V-Pos


@prefix 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:6V-6V-Pos a s223:6V-6V-Pos,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Positive 6 VDC electricity" ;
    s223:hasDCDifferentialVoltage s223:Voltage-6V ;
    s223:hasDCPositiveVoltage s223:Voltage-6V ;
    s223:hasDCZeroVoltage s223:Voltage-0V ;
    rdfs:comment "6V-Pos" ;
    rdfs:subClassOf s223:DC-6V .


            

URI: http://data.ashrae.org/standard223#AC-10000VLL-1Ph-60Hz


@prefix 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:AC-10000VLL-1Ph-60Hz a s223:AC-10000VLL-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-10000VLL-1Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-10000V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-10000VLL-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-10000VLL-3Ph-60Hz


@prefix 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:AC-10000VLL-3Ph-60Hz a s223:AC-10000VLL-3Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-10000VLL-3Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-10000V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-10000VLL-3Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-10000VLL-5770VLN-1Ph-60Hz


@prefix 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:AC-10000VLL-5770VLN-1Ph-60Hz a s223:AC-10000VLL-5770VLN-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-10000VLL-5770VLN-1Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-10000V ;
    s223:hasACLineNeutralVoltage s223:Voltage-5770V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-10000VLL-5770VLN-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-10000VLL-5770VLN-3Ph-60Hz


@prefix 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:AC-10000VLL-5770VLN-3Ph-60Hz a s223:AC-10000VLL-5770VLN-3Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-10000VLL-5770VLN-3Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-10000V ;
    s223:hasACLineNeutralVoltage s223:Voltage-5770V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-10000VLL-5770VLN-3Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-110VLN-1Ph-50Hz


@prefix 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:AC-110VLN-1Ph-50Hz a s223:AC-110VLN-1Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-110VLN-1Ph-50Hz" ;
    s223:hasACLineNeutralVoltage s223:Voltage-110V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-110VLN-1Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-120VLN-1Ph-60Hz


@prefix 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:AC-120VLN-1Ph-60Hz a s223:AC-120VLN-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-120VLN-1Ph-60Hz" ;
    s223:hasACLineNeutralVoltage s223:Voltage-120V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-120VLN-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-127VLN-1Ph-50Hz


@prefix 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:AC-127VLN-1Ph-50Hz a s223:AC-127VLN-1Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-127VLN-1Ph-50Hz" ;
    s223:hasACLineNeutralVoltage s223:Voltage-127V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-127VLN-1Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-139VLN-1Ph-50Hz


@prefix 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:AC-139VLN-1Ph-50Hz a s223:AC-139VLN-1Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-139VLN-1Ph-50Hz" ;
    s223:hasACLineNeutralVoltage s223:Voltage-139V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-139VLN-1Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-1730VLN-1Ph-60Hz


@prefix 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:AC-1730VLN-1Ph-60Hz a s223:AC-1730VLN-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-1730VLN-1Ph-60Hz" ;
    s223:hasACLineNeutralVoltage s223:Voltage-1730V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-1730VLN-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-1900VLN-1Ph-60Hz


@prefix 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:AC-1900VLN-1Ph-60Hz a s223:AC-1900VLN-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-1900VLN-1Ph-60Hz" ;
    s223:hasACLineNeutralVoltage s223:Voltage-1900V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-1900VLN-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-190VLL-110VLN-1Ph-50Hz


@prefix 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:AC-190VLL-110VLN-1Ph-50Hz a s223:AC-190VLL-110VLN-1Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-190VLL-110VLN-1Ph-50Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-190V ;
    s223:hasACLineNeutralVoltage s223:Voltage-110V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-190VLL-110VLN-1Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-190VLL-110VLN-3Ph-50Hz


@prefix 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:AC-190VLL-110VLN-3Ph-50Hz a s223:AC-190VLL-110VLN-3Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-190VLL-110VLN-3Ph-50Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-190V ;
    s223:hasACLineNeutralVoltage s223:Voltage-110V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-190VLL-110VLN-3Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-190VLL-1Ph-50Hz


@prefix 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:AC-190VLL-1Ph-50Hz a s223:AC-190VLL-1Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-190VLL-1Ph-50Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-190V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-190VLL-1Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-190VLL-3Ph-50Hz


@prefix 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:AC-190VLL-3Ph-50Hz a s223:AC-190VLL-3Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-190VLL-3Ph-50Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-190V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-190VLL-3Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-208VLL-120VLN-1Ph-60Hz


@prefix 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:AC-208VLL-120VLN-1Ph-60Hz a s223:AC-208VLL-120VLN-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-208VLL-120VLN-1Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-208V ;
    s223:hasACLineNeutralVoltage s223:Voltage-120V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-208VLL-120VLN-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-208VLL-120VLN-3Ph-60Hz


@prefix 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:AC-208VLL-120VLN-3Ph-60Hz a s223:AC-208VLL-120VLN-3Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-208VLL-120VLN-3Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-208V ;
    s223:hasACLineNeutralVoltage s223:Voltage-120V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-208VLL-120VLN-3Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-208VLL-1Ph-60Hz


@prefix 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:AC-208VLL-1Ph-60Hz a s223:AC-208VLL-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-208VLL-1Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-208V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-208VLL-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-208VLL-3Ph-60Hz


@prefix 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:AC-208VLL-3Ph-60Hz a s223:AC-208VLL-3Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-208VLL-3Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-208V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-208VLL-3Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-208VLN-1Ph-60Hz


@prefix 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:AC-208VLN-1Ph-60Hz a s223:AC-208VLN-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-208VLN-1Ph-60Hz" ;
    s223:hasACLineNeutralVoltage s223:Voltage-208V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-208VLN-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-219VLN-1Ph-60Hz


@prefix 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:AC-219VLN-1Ph-60Hz a s223:AC-219VLN-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-219VLN-1Ph-60Hz" ;
    s223:hasACLineNeutralVoltage s223:Voltage-219V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-219VLN-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-220VLL-127VLN-1Ph-50Hz


@prefix 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:AC-220VLL-127VLN-1Ph-50Hz a s223:AC-220VLL-127VLN-1Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-220VLL-127VLN-1Ph-50Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-220V ;
    s223:hasACLineNeutralVoltage s223:Voltage-127V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-220VLL-127VLN-1Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-220VLL-127VLN-3Ph-50Hz


@prefix 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:AC-220VLL-127VLN-3Ph-50Hz a s223:AC-220VLL-127VLN-3Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-220VLL-127VLN-3Ph-50Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-220V ;
    s223:hasACLineNeutralVoltage s223:Voltage-127V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-220VLL-127VLN-3Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-220VLL-1Ph-50Hz


@prefix 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:AC-220VLL-1Ph-50Hz a s223:AC-220VLL-1Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-220VLL-1Ph-50Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-220V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-220VLL-1Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-220VLL-3Ph-50Hz


@prefix 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:AC-220VLL-3Ph-50Hz a s223:AC-220VLL-3Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-220VLL-3Ph-50Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-220V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-220VLL-3Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-230VLN-1Ph-50Hz


@prefix 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:AC-230VLN-1Ph-50Hz a s223:AC-230VLN-1Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-230VLN-1Ph-50Hz" ;
    s223:hasACLineNeutralVoltage s223:Voltage-230V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-230VLN-1Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-2400VLN-1Ph-60Hz


@prefix 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:AC-2400VLN-1Ph-60Hz a s223:AC-2400VLN-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-2400VLN-1Ph-60Hz" ;
    s223:hasACLineNeutralVoltage s223:Voltage-2400V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-2400VLN-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-240VLL-120VLN-1Ph-60Hz


@prefix 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:AC-240VLL-120VLN-1Ph-60Hz a s223:AC-240VLL-120VLN-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-240VLL-120VLN-1Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-240V ;
    s223:hasACLineNeutralVoltage s223:Voltage-120V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-240VLL-120VLN-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-240VLL-139VLN-1Ph-50Hz


@prefix 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:AC-240VLL-139VLN-1Ph-50Hz a s223:AC-240VLL-139VLN-1Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-240VLL-139VLN-1Ph-50Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-240V ;
    s223:hasACLineNeutralVoltage s223:Voltage-139V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-240VLL-139VLN-1Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-240VLL-139VLN-3Ph-50Hz


@prefix 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:AC-240VLL-139VLN-3Ph-50Hz a s223:AC-240VLL-139VLN-3Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-240VLL-139VLN-3Ph-50Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-240V ;
    s223:hasACLineNeutralVoltage s223:Voltage-139V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-240VLL-139VLN-3Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-240VLL-1Ph-50Hz


@prefix 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:AC-240VLL-1Ph-50Hz a s223:AC-240VLL-1Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-240VLL-1Ph-50Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-240V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-240VLL-1Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-240VLL-1Ph-60Hz


@prefix 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:AC-240VLL-1Ph-60Hz a s223:AC-240VLL-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-240VLL-1Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-240V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-240VLL-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-240VLL-208VLN-120VLN-1Ph-60Hz


@prefix 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:AC-240VLL-208VLN-120VLN-1Ph-60Hz a s223:AC-240VLL-208VLN-120VLN-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-240VLL-208VLN-120VLN-1Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-240V ;
    s223:hasACLineNeutralVoltage s223:Voltage-120V,
        s223:Voltage-208V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-240VLL-208VLN-120VLN-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-240VLL-208VLN-120VLN-3Ph-60Hz


@prefix 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:AC-240VLL-208VLN-120VLN-3Ph-60Hz a s223:AC-240VLL-208VLN-120VLN-3Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-240VLL-208VLN-120VLN-3Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-240V ;
    s223:hasACLineNeutralVoltage s223:Voltage-120V,
        s223:Voltage-208V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-240VLL-208VLN-120VLN-3Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-240VLL-3Ph-50Hz


@prefix 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:AC-240VLL-3Ph-50Hz a s223:AC-240VLL-3Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-240VLL-3Ph-50Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-240V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-240VLL-3Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-240VLL-3Ph-60Hz


@prefix 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:AC-240VLL-3Ph-60Hz a s223:AC-240VLL-3Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-240VLL-3Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-240V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-240VLL-3Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-240VLN-1Ph-50Hz


@prefix 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:AC-240VLN-1Ph-50Hz a s223:AC-240VLN-1Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-240VLN-1Ph-50Hz" ;
    s223:hasACLineNeutralVoltage s223:Voltage-240V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-240VLN-1Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-24VLN-1Ph-50Hz


@prefix 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:AC-24VLN-1Ph-50Hz a s223:AC-24VLN-1Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-24VLN-1Ph-50Hz" ;
    s223:hasACLineNeutralVoltage s223:Voltage-24V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-24VLN-1Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-24VLN-1Ph-60Hz


@prefix 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:AC-24VLN-1Ph-60Hz a s223:AC-24VLN-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-24VLN-1Ph-60Hz" ;
    s223:hasACLineNeutralVoltage s223:Voltage-24V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-24VLN-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-277VLN-1Ph-60Hz


@prefix 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:AC-277VLN-1Ph-60Hz a s223:AC-277VLN-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-277VLN-1Ph-60Hz" ;
    s223:hasACLineNeutralVoltage s223:Voltage-277V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-277VLN-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-3000VLL-1730VLN-1Ph-60Hz


@prefix 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:AC-3000VLL-1730VLN-1Ph-60Hz a s223:AC-3000VLL-1730VLN-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-3000VLL-1730VLN-1Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-3000V ;
    s223:hasACLineNeutralVoltage s223:Voltage-1730V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-3000VLL-1730VLN-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-3000VLL-1730VLN-3Ph-60Hz


@prefix 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:AC-3000VLL-1730VLN-3Ph-60Hz a s223:AC-3000VLL-1730VLN-3Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-3000VLL-1730VLN-3Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-3000V ;
    s223:hasACLineNeutralVoltage s223:Voltage-1730V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-3000VLL-1730VLN-3Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-3000VLL-1Ph-60Hz


@prefix 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:AC-3000VLL-1Ph-60Hz a s223:AC-3000VLL-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-3000VLL-1Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-3000V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-3000VLL-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-3000VLL-3Ph-60Hz


@prefix 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:AC-3000VLL-3Ph-60Hz a s223:AC-3000VLL-3Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-3000VLL-3Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-3000V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-3000VLL-3Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-3300VLL-1900VLN-1Ph-60Hz


@prefix 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:AC-3300VLL-1900VLN-1Ph-60Hz a s223:AC-3300VLL-1900VLN-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-3300VLL-1900VLN-1Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-3300V ;
    s223:hasACLineNeutralVoltage s223:Voltage-1900V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-3300VLL-1900VLN-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-3300VLL-1900VLN-3Ph-60Hz


@prefix 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:AC-3300VLL-1900VLN-3Ph-60Hz a s223:AC-3300VLL-1900VLN-3Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-3300VLL-1900VLN-3Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-3300V ;
    s223:hasACLineNeutralVoltage s223:Voltage-1900V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-3300VLL-1900VLN-3Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-3300VLL-1Ph-60Hz


@prefix 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:AC-3300VLL-1Ph-60Hz a s223:AC-3300VLL-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-3300VLL-1Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-3300V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-3300VLL-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-3300VLL-3Ph-60Hz


@prefix 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:AC-3300VLL-3Ph-60Hz a s223:AC-3300VLL-3Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-3300VLL-3Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-3300V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-3300VLL-3Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-3460VLN-1Ph-60Hz


@prefix 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:AC-3460VLN-1Ph-60Hz a s223:AC-3460VLN-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-3460VLN-1Ph-60Hz" ;
    s223:hasACLineNeutralVoltage s223:Voltage-3460V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-3460VLN-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-347VLN-1Ph-60Hz


@prefix 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:AC-347VLN-1Ph-60Hz a s223:AC-347VLN-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-347VLN-1Ph-60Hz" ;
    s223:hasACLineNeutralVoltage s223:Voltage-347V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-347VLN-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-380VLL-1Ph-60Hz


@prefix 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:AC-380VLL-1Ph-60Hz a s223:AC-380VLL-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-380VLL-1Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-380V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-380VLL-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-380VLL-219VLN-1Ph-60Hz


@prefix 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:AC-380VLL-219VLN-1Ph-60Hz a s223:AC-380VLL-219VLN-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-380VLL-219VLN-1Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-380V ;
    s223:hasACLineNeutralVoltage s223:Voltage-219V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-380VLL-219VLN-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-380VLL-219VLN-3Ph-60Hz


@prefix 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:AC-380VLL-219VLN-3Ph-60Hz a s223:AC-380VLL-219VLN-3Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-380VLL-219VLN-3Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-380V ;
    s223:hasACLineNeutralVoltage s223:Voltage-219V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-380VLL-219VLN-3Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-380VLL-3Ph-60Hz


@prefix 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:AC-380VLL-3Ph-60Hz a s223:AC-380VLL-3Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-380VLL-3Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-380V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-380VLL-3Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-3810VLN-1Ph-60Hz


@prefix 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:AC-3810VLN-1Ph-60Hz a s223:AC-3810VLN-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-3810VLN-1Ph-60Hz" ;
    s223:hasACLineNeutralVoltage s223:Voltage-3810V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-3810VLN-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-400VLL-1Ph-50Hz


@prefix 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:AC-400VLL-1Ph-50Hz a s223:AC-400VLL-1Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-400VLL-1Ph-50Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-400V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-400VLL-1Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-400VLL-230VLN-1Ph-50Hz


@prefix 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:AC-400VLL-230VLN-1Ph-50Hz a s223:AC-400VLL-230VLN-1Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-400VLL-230VLN-1Ph-50Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-400V ;
    s223:hasACLineNeutralVoltage s223:Voltage-230V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-400VLL-230VLN-1Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-400VLL-230VLN-3Ph-50Hz


@prefix 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:AC-400VLL-230VLN-3Ph-50Hz a s223:AC-400VLL-230VLN-3Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-400VLL-230VLN-3Ph-50Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-400V ;
    s223:hasACLineNeutralVoltage s223:Voltage-230V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-400VLL-230VLN-3Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-400VLL-3Ph-50Hz


@prefix 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:AC-400VLL-3Ph-50Hz a s223:AC-400VLL-3Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-400VLL-3Ph-50Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-400V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-400VLL-3Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-415VLL-1Ph-50Hz


@prefix 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:AC-415VLL-1Ph-50Hz a s223:AC-415VLL-1Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-415VLL-1Ph-50Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-415V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-415VLL-1Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-415VLL-240VLN-1Ph-50Hz


@prefix 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:AC-415VLL-240VLN-1Ph-50Hz a s223:AC-415VLL-240VLN-1Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-415VLL-240VLN-1Ph-50Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-415V ;
    s223:hasACLineNeutralVoltage s223:Voltage-240V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-415VLL-240VLN-1Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-415VLL-240VLN-3Ph-50Hz


@prefix 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:AC-415VLL-240VLN-3Ph-50Hz a s223:AC-415VLL-240VLN-3Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-415VLL-240VLN-3Ph-50Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-415V ;
    s223:hasACLineNeutralVoltage s223:Voltage-240V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-415VLL-240VLN-3Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-415VLL-3Ph-50Hz


@prefix 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:AC-415VLL-3Ph-50Hz a s223:AC-415VLL-3Ph-50Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-415VLL-3Ph-50Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-415V ;
    s223:hasFrequency s223:Frequency-50Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-415VLL-3Ph-50Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-4160VLL-1Ph-60Hz


@prefix 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:AC-4160VLL-1Ph-60Hz a s223:AC-4160VLL-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-4160VLL-1Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-4160V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-4160VLL-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-4160VLL-2400VLN-1Ph-60Hz


@prefix 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:AC-4160VLL-2400VLN-1Ph-60Hz a s223:AC-4160VLL-2400VLN-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-4160VLL-2400VLN-1Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-4160V ;
    s223:hasACLineNeutralVoltage s223:Voltage-2400V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-4160VLL-2400VLN-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-4160VLL-2400VLN-3Ph-60Hz


@prefix 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:AC-4160VLL-2400VLN-3Ph-60Hz a s223:AC-4160VLL-2400VLN-3Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-4160VLL-2400VLN-3Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-4160V ;
    s223:hasACLineNeutralVoltage s223:Voltage-2400V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-4160VLL-2400VLN-3Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-4160VLL-3Ph-60Hz


@prefix 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:AC-4160VLL-3Ph-60Hz a s223:AC-4160VLL-3Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-4160VLL-3Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-4160V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-4160VLL-3Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-480VLL-1Ph-60Hz


@prefix 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:AC-480VLL-1Ph-60Hz a s223:AC-480VLL-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-480VLL-1Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-480V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-480VLL-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-480VLL-277VLN-1Ph-60Hz


@prefix 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:AC-480VLL-277VLN-1Ph-60Hz a s223:AC-480VLL-277VLN-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-480VLL-277VLN-1Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-480V ;
    s223:hasACLineNeutralVoltage s223:Voltage-277V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-480VLL-277VLN-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-480VLL-277VLN-3Ph-60Hz


@prefix 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:AC-480VLL-277VLN-3Ph-60Hz a s223:AC-480VLL-277VLN-3Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-480VLL-277VLN-3Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-480V ;
    s223:hasACLineNeutralVoltage s223:Voltage-277V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-480VLL-277VLN-3Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-480VLL-3Ph-60Hz


@prefix 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:AC-480VLL-3Ph-60Hz a s223:AC-480VLL-3Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-480VLL-3Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-480V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-480VLL-3Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-5770VLN-1Ph-60Hz


@prefix 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:AC-5770VLN-1Ph-60Hz a s223:AC-5770VLN-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-5770VLN-1Ph-60Hz" ;
    s223:hasACLineNeutralVoltage s223:Voltage-5770V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-5770VLN-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-6000VLL-1Ph-60Hz


@prefix 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:AC-6000VLL-1Ph-60Hz a s223:AC-6000VLL-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-6000VLL-1Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-6000V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-6000VLL-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-6000VLL-3460VLN-1Ph-60Hz


@prefix 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:AC-6000VLL-3460VLN-1Ph-60Hz a s223:AC-6000VLL-3460VLN-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-6000VLL-3460VLN-1Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-6000V ;
    s223:hasACLineNeutralVoltage s223:Voltage-3460V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-6000VLL-3460VLN-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-6000VLL-3460VLN-3Ph-60Hz


@prefix 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:AC-6000VLL-3460VLN-3Ph-60Hz a s223:AC-6000VLL-3460VLN-3Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-6000VLL-3460VLN-3Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-6000V ;
    s223:hasACLineNeutralVoltage s223:Voltage-3460V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-6000VLL-3460VLN-3Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-6000VLL-3Ph-60Hz


@prefix 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:AC-6000VLL-3Ph-60Hz a s223:AC-6000VLL-3Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-6000VLL-3Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-6000V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-6000VLL-3Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-600VLL-1Ph-60Hz


@prefix 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:AC-600VLL-1Ph-60Hz a s223:AC-600VLL-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-600VLL-1Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-600V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-600VLL-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-600VLL-347VLN-1Ph-60Hz


@prefix 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:AC-600VLL-347VLN-1Ph-60Hz a s223:AC-600VLL-347VLN-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-600VLL-347VLN-1Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-600V ;
    s223:hasACLineNeutralVoltage s223:Voltage-347V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-600VLL-347VLN-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-600VLL-347VLN-3Ph-60Hz


@prefix 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:AC-600VLL-347VLN-3Ph-60Hz a s223:AC-600VLL-347VLN-3Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-600VLL-347VLN-3Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-600V ;
    s223:hasACLineNeutralVoltage s223:Voltage-347V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-600VLL-347VLN-3Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-600VLL-3Ph-60Hz


@prefix 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:AC-600VLL-3Ph-60Hz a s223:AC-600VLL-3Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-600VLL-3Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-600V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-600VLL-3Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-6600VLL-1Ph-60Hz


@prefix 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:AC-6600VLL-1Ph-60Hz a s223:AC-6600VLL-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-6600VLL-1Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-6600V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-6600VLL-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-6600VLL-3810VLN-1Ph-60Hz


@prefix 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:AC-6600VLL-3810VLN-1Ph-60Hz a s223:AC-6600VLL-3810VLN-1Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-6600VLL-3810VLN-1Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-6600V ;
    s223:hasACLineNeutralVoltage s223:Voltage-3810V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-SinglePhase ;
    rdfs:comment "`AC-6600VLL-3810VLN-1Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-6600VLL-3810VLN-3Ph-60Hz


@prefix 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:AC-6600VLL-3810VLN-3Ph-60Hz a s223:AC-6600VLL-3810VLN-3Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-6600VLL-3810VLN-3Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-6600V ;
    s223:hasACLineNeutralVoltage s223:Voltage-3810V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-6600VLL-3810VLN-3Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

URI: http://data.ashrae.org/standard223#AC-6600VLL-3Ph-60Hz


@prefix 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:AC-6600VLL-3Ph-60Hz a s223:AC-6600VLL-3Ph-60Hz,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "AC-6600VLL-3Ph-60Hz" ;
    s223:hasACLineLineVoltage s223:Voltage-6600V ;
    s223:hasFrequency s223:Frequency-60Hz ;
    s223:hasNumberOfElectricalPhases s223:NumberOfElectricalPhases-ThreePhase ;
    rdfs:comment "`AC-6600VLL-3Ph-60Hz`" ;
    rdfs:subClassOf s223:Electricity-AC .


            

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


@prefix 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:AbstractClass a s223:Class,
        s223:Concept,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Abstract class" ;
    rdfs:comment "This is a modeling construct. Instances of abstract classes cannot be created. All abstract classes in this standard have a more specific subclass." ;
    rdfs:subClassOf s223:Class .


            

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


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

s223:AbstractClassShape a sh:NodeShape ;
    sh:sparql [ a sh:SPARQLConstraint ;
            sh:message "s223: {$this} cannot be declared an instance of only {?c}, which is an abstract class." ;
            sh:prefixes ns6:model ;
            sh:select """
            SELECT $this ?c
            WHERE {
              $this a ?c .
              ?c   a s223:AbstractClass .
              FILTER NOT EXISTS {
                $this a ?nonAbs .
                ?nonAbs rdfs:subClassOf+ ?c .
                FILTER NOT EXISTS { ?nonAbs a s223:AbstractClass }
              }
            }
        """ ] ;
    sh:targetClass s223:AbstractClass ;
    sh:targetSubjectsOf rdf:type .


            

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 """The term "actuatable" implies that writing to the `ActuatableProperty` value will directly trigger a physical actuation by either an `Actuator` or `Equipment`.
In contrast, the term "observable" (see {s223:ObservableProperty}) implies that reading the `ObservableProperty` value will return the result of a physical observation.""" ;
    rdfs:subClassOf s223:Property .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:ActuatablePropertyShape a sh:NodeShape ;
    sh:property [ rdfs:comment "An `ActuatableProperty` normally is referred to by `Equipment` using the relation `actuatedByProperty`." ;
            sh:class s223:Equipment ;
            sh:message "s223: An `ActuatableProperty` normally is referred to by `Equipment` using the relation `actuatedByProperty`." ;
            sh:minCount 1 ;
            sh:path [ sh:inversePath s223:actuatedByProperty ] ;
            sh:severity sh:Warning ] ;
    sh:targetClass s223:ActuatableProperty .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:Actuator a s223:Class,
        sh:NodeShape ;
    rdfs:label "Actuator" ;
    doc:subclauses ( s223:actuates s223:actuatedByProperty ) ;
    rdfs:comment """A piece of `Equipment` that receives control signals and electrically, pneumatically, or hydraulically makes changes in the
physical world, such as the position of a valve or damper.""" ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "An `Actuator` shall be associated with at least one `ActuatableProperty` using the relation `actuatedByProperty`." ;
            sh:class s223:ActuatableProperty ;
            sh:message "s223: An `Actuator` shall be associated with at least one `ActuatableProperty` using the relation `actuatedByProperty`." ;
            sh:minCount 1 ;
            sh:path s223:actuatedByProperty ],
        [ rdfs:comment "An `Actuator` shall be associated with zero or more pieces of `Equipment` using the relation `actuates`." ;
            sh:class s223:Equipment ;
            sh:message "s223: An `Actuator` shall be associated with zero or more pieces of `Equipment` using the relation `actuates`." ;
            sh:path s223:actuates ] .


            

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 """A piece of `Equipment` consisting of a fan or fans and other equipment necessary to perform one or more of the following functions:
circulating, filtration, heating, cooling, heat recovery, humidifying, dehumidifying, and mixing of air.""" ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "An `AirHandlingUnit` shall have at least one inlet using the medium `Fluid-Air`." ;
            sh:message "s223: An `AirHandlingUnit` shall have at least one inlet using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "An `AirHandlingUnit` shall have at least one outlet using the medium `Fluid-Air`." ;
            sh:message "s223: An `AirHandlingUnit` shall have at least one outlet using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:AirHeatExchanger a s223:Class,
        sh:NodeShape ;
    rdfs:label "Air heat exchanger" ;
    rdfs:comment "A piece of `Equipment` that transfers heat from one air stream to another while keeping the two media separate." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "An `AirHeatExchanger` shall have at least two outlets using the medium `Fluid-Air`, each paired with an inlet." ;
            sh:message "s223: An `AirHeatExchanger` shall have at least two outlets using the medium `Fluid-Air`, each paired with an inlet." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 2 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ],
                                [ sh:class s223:InletConnectionPoint ;
                                    sh:minCount 1 ;
                                    sh:path s223:pairedConnectionPoint ] ] ] ],
        [ rdfs:comment "An `AirHeatExchanger` shall have at least two inlets using the medium `Fluid-Air`, each paired with an outlet." ;
            sh:message "s223: An `AirHeatExchanger` shall have at least two inlets using the medium `Fluid-Air`, each paired with an outlet." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 2 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ],
                                [ sh:class s223:OutletConnectionPoint ;
                                    sh:minCount 1 ;
                                    sh:path s223:pairedConnectionPoint ] ] ] ],
        [ rdfs:comment "An `AirHeatExchanger` shall have no bidirectional connection points." ;
            sh:message "s223: An `AirHeatExchanger` shall have no bidirectional connection points." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMaxCount 0 ;
            sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
                    sh:message "s223: An `AirHeatExchanger` shall have no bidirectional connection points." ] ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:AirToAirHeatPump a s223:Class,
        sh:NodeShape ;
    rdfs:label "Air-to-air heat pump" ;
    rdfs:comment "A `HeatPump` that transfers thermal energy between two bodies of air." ;
    rdfs:subClassOf s223:HeatPump ;
    sh:property [ rdfs:comment "An `AirToAirHeatPump` shall have at least two outlets using the medium `Fluid-Air`." ;
            sh:message "s223: An `AirToAirHeatPump` shall have at least two outlets using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 2 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "An `AirToAirHeatPump` shall have at least two inlets using the medium `Fluid-Air`." ;
            sh:message "s223: An `AirToAirHeatPump` shall have at least two inlets using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 2 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

URI: http://data.ashrae.org/standard223#Aspect-Alarm


@prefix 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:Aspect-Alarm a s223:Aspect-Alarm,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Alarm" ;
    rdfs:comment "The property value indicates whether an alarm condition is active or provides details about an active alarm." ;
    rdfs:subClassOf s223:EnumerationKind-Aspect .


            

URI: http://data.ashrae.org/standard223#Aspect-CatalogNumber


@prefix 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:Aspect-CatalogNumber a s223:Aspect-CatalogNumber,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Catalog number" ;
    rdfs:comment "The property value is a number or other identifier of a product in a manufacturer’s catalog." ;
    rdfs:subClassOf s223:EnumerationKind-Aspect .


            

URI: http://data.ashrae.org/standard223#Aspect-Deadband


@prefix 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:Aspect-Deadband a s223:Aspect-Deadband,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Deadband" ;
    rdfs:comment "The property value is a range around a setpoint where no control action is taken to avoid unnecessary corrections." ;
    rdfs:subClassOf s223:EnumerationKind-Aspect .


            

URI: http://data.ashrae.org/standard223#Aspect-Delta


@prefix 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:Aspect-Delta a s223:Aspect-Delta,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Delta" ;
    rdfs:comment "The property value is a differential value (e.g., pressure difference) instead of an absolute value." ;
    rdfs:subClassOf s223:EnumerationKind-Aspect .


            

URI: http://data.ashrae.org/standard223#Aspect-Fault


@prefix 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:Aspect-Fault a s223:Aspect-Fault,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Fault" ;
    rdfs:comment "The property value is a fault indicator or code that signals a malfunction or issue with the system or equipment." ;
    rdfs:subClassOf s223:EnumerationKind-Aspect .


            

URI: http://data.ashrae.org/standard223#Aspect-HighLimit


@prefix 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:Aspect-HighLimit a s223:Aspect-HighLimit,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "High limit" ;
    rdfs:comment "The property value is an upper threshold used in a control or alarm detection algorithm." ;
    rdfs:subClassOf s223:EnumerationKind-Aspect .


            

URI: http://data.ashrae.org/standard223#Aspect-LowLimit


@prefix 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:Aspect-LowLimit a s223:Aspect-LowLimit,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Low limit" ;
    rdfs:comment "The property value is a lower threshold used in a control or alarm detection algorithm." ;
    rdfs:subClassOf s223:EnumerationKind-Aspect .


            

URI: http://data.ashrae.org/standard223#Aspect-Manufacturer


@prefix 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:Aspect-Manufacturer a s223:Aspect-Manufacturer,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Manufacturer" ;
    rdfs:comment "The property value is a name or other identifier of the product’s manufacturer." ;
    rdfs:subClassOf s223:EnumerationKind-Aspect .


            

URI: http://data.ashrae.org/standard223#Aspect-Maximum


@prefix 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:Aspect-Maximum a s223:Aspect-Maximum,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Maximum" ;
    rdfs:comment "The property value is a highest specified or observed value. (Examples: upper limit of the specified operating voltage range; maximum measured temperature.)" ;
    rdfs:subClassOf s223:EnumerationKind-Aspect .


            

URI: http://data.ashrae.org/standard223#Aspect-Minimum


@prefix 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:Aspect-Minimum a s223:Aspect-Minimum,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Minimum" ;
    rdfs:comment "The property value is a lowest specified or observed value. (Examples: lower limit of the specified operating voltage range; minimum measured temperature.)" ;
    rdfs:subClassOf s223:EnumerationKind-Aspect .


            

URI: http://data.ashrae.org/standard223#Aspect-Model


@prefix 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:Aspect-Model a s223:Aspect-Model,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Model" ;
    rdfs:comment "The property value is a model identifier of the product." ;
    rdfs:subClassOf s223:EnumerationKind-Aspect .


            

URI: http://data.ashrae.org/standard223#Aspect-Nominal


@prefix 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:Aspect-Nominal a s223:Aspect-Nominal,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Nominal" ;
    rdfs:comment "The property value is a value that is expected or desired under normal operating conditions, but may not reflect the actual value at all times. (Example: nominal voltage.)" ;
    rdfs:subClassOf s223:EnumerationKind-Aspect .


            

URI: http://data.ashrae.org/standard223#Aspect-OperatingMode


@prefix 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:Aspect-OperatingMode a s223:Aspect-OperatingMode,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Operating mode" ;
    rdfs:comment "The property value is the current intended mode of operation, such as 'Automatic', 'On', or 'Off'." ;
    rdfs:subClassOf s223:EnumerationKind-Aspect .


            

URI: http://data.ashrae.org/standard223#Aspect-OperatingStatus


@prefix 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:Aspect-OperatingStatus a s223:Aspect-OperatingStatus,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Operating status" ;
    rdfs:comment "The property value is the current operational status of the system or equipment, such as 'Running,' 'Stopped,' or 'Maintenance Mode.'" ;
    rdfs:subClassOf s223:EnumerationKind-Aspect .


            

URI: http://data.ashrae.org/standard223#Aspect-Rated


@prefix 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:Aspect-Rated a s223:Aspect-Rated,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Rated" ;
    rdfs:comment "The property value indicates a limit for continuous safe operation set by the manufacturer, but may not reflect the actual value at all times. (Example: rated voltage.)" ;
    rdfs:subClassOf s223:EnumerationKind-Aspect .


            

URI: http://data.ashrae.org/standard223#Aspect-SerialNumber


@prefix 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:Aspect-SerialNumber a s223:Aspect-SerialNumber,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Serial number" ;
    rdfs:comment "The property value is the serial number assigned by the manufacturer to the system or equipment." ;
    rdfs:subClassOf s223:EnumerationKind-Aspect .


            

URI: http://data.ashrae.org/standard223#Aspect-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#> .

s223:Aspect-Setpoint a s223:Aspect-Setpoint,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Setpoint" ;
    rdfs:comment "The property value is a target value for a control algorithm." ;
    rdfs:subClassOf s223:EnumerationKind-Aspect .


            

URI: http://data.ashrae.org/standard223#Aspect-Threshold


@prefix 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:Aspect-Threshold a s223:Aspect-Threshold,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Threshold" ;
    rdfs:comment "The property value is a threshold used in a control algorithm." ;
    rdfs:subClassOf s223:EnumerationKind-Aspect .


            

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


@prefix bacnet: <http://data.ashrae.org/bacnet/2020#> .
@prefix doc: <http://sample.org/doc#> .
@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:BACnetExternalReference a s223:Class,
        sh:NodeShape ;
    rdfs:label "BACnet external reference" ;
    doc:subclauses ( bacnet:device-name bacnet:device-identifier bacnet:object-name bacnet:object-identifier bacnet:property-identifier bacnet:property-array-index bacnet:priority-for-writing ) ;
    rdfs:comment "An `ExternalReference` that contains BACnet protocol parameter values necessary to associate a `Property` with a value." ;
    rdfs:subClassOf s223:ExternalReference .


            

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


@prefix bacnet: <http://data.ashrae.org/bacnet/2020#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:BACnetExternalReferenceShape a sh:NodeShape ;
    sh:property [ a sh:PropertyShape ;
            rdfs:comment "A `BACnetExternalReferenceShape` shall be associated with at most one string value using the relation `bacnet:property-identifier`. The string value shall be either a decimal number or exactly equal to the ASHRAE 135-2024 Clause 21 identifier text of BACnetPropertyIdentifier. If it is omitted, it defaults to \"present-value\", except for BACnet File objects, where absence of `bacnet:property-identifier` refers to the entire content of the file accessed with Stream Access." ;
            sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:minCount 0 ;
            sh:path bacnet:property-identifier ],
        [ a sh:PropertyShape ;
            rdfs:comment "A `BACnetExternalReferenceShape` shall be associated with at most one BACnet device name using the relation `bacnet:device-name`." ;
            sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:minCount 0 ;
            sh:path bacnet:device-name ],
        [ a sh:PropertyShape ;
            rdfs:comment "A `BACnetExternalReferenceShape` shall be associated with at most one priority for writing values using the relation `bacnet:priority-for-writing`." ;
            sh:datatype xsd:nonNegativeInteger ;
            sh:maxCount 1 ;
            sh:minCount 0 ;
            sh:path bacnet:priority-for-writing ],
        [ a sh:PropertyShape ;
            rdfs:comment "A `BACnetExternalReferenceShape` shall be associated with at most one BACnet device identifier using the relation `bacnet:device-identifier`." ;
            sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:minCount 0 ;
            sh:path bacnet:device-identifier ;
            sh:pattern "^[A-Za-z0-9-]+,[1-9][0-9]*$" ],
        [ a sh:PropertyShape ;
            rdfs:comment "A `BACnetExternalReferenceShape` shall be associated with at most one BACnet object identifier using the relation `bacnet:object-identifier`." ;
            sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:minCount 0 ;
            sh:path bacnet:object-identifier ;
            sh:pattern "^[A-Za-z0-9-]+,[1-9][0-9]*$" ],
        [ a sh:PropertyShape ;
            rdfs:comment "A `BACnetExternalReferenceShape` shall be associated with at most one index for reading items from a BACnet property that is an array using the relation `bacnet:property-array-index`." ;
            sh:datatype xsd:nonNegativeInteger ;
            sh:maxCount 1 ;
            sh:minCount 0 ;
            sh:path bacnet:property-array-index ],
        [ a sh:PropertyShape ;
            rdfs:comment "A `BACnetExternalReferenceShape` shall be associated with at most one BACnet object name using the relation `bacnet:object-name`." ;
            sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:minCount 0 ;
            sh:path bacnet:object-name ] ;
    sh:targetClass s223:BACnetExternalReference .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:Bathtub a s223:Class,
        sh:NodeShape ;
    rdfs:label "Bathtub" ;
    rdfs:comment "A piece of `Equipment` for bathing that receives as an input hot or cold water dispensed from one or two `Faucet`s, and is designed to hold a specific volume of water and release the held water through a `Drain`." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `Bathtub` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `Bathtub` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `Bathtub` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `Bathtub` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix 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 piece of `Equipment` that stores a defined amount of chemical energy that can be converted to electrical energy via a chemical process. This process, typically referred to as discharging, produces a specific electrical voltage and current." ;
    rdfs:subClassOf s223:Equipment .


            

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


@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:BatteryCPShape a sh:NodeShape ;
    rdfs:label "Battery CP shape" ;
    rdfs:comment "A `Battery` shall have at least one outlet or bidirectional connection point using the medium `Constituent-Electricity`." ;
    sh:message "s223: A `Battery` shall have at least one outlet or bidirectional connection point using the medium `Constituent-Electricity`." ;
    sh:or ( [ sh:property [ rdfs:comment "A `Battery` shall have at least one outlet or bidirectional connection point using the medium `Constituent-Electricity`." ;
                        sh:path s223:hasConnectionPoint ;
                        sh:qualifiedMinCount 1 ;
                        sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                                sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                                sh:path s223:hasMedium ] ] ] ] ] [ sh:property [ rdfs:comment "A `Battery` shall have at least one outlet or bidirectional connection point using the medium `Constituent-Electricity`." ;
                        sh:path s223:hasConnectionPoint ;
                        sh:qualifiedMinCount 1 ;
                        sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
                                sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                                sh:path s223:hasMedium ] ] ] ] ] ) ;
    sh:severity sh:Warning ;
    sh:targetClass s223:Battery .


            

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#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:BidirectionalConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Bidirectional connection point" ;
    rdfs:comment "A `BidirectionalConnectionPoint` is a `ConnectionPoint` for which a `Substance-Medium` is expected to flow either into or out of the associated `Connectable`." ;
    rdfs:subClassOf s223:ConnectionPoint ;
    sh:property [ rdfs:comment "A `BidirectionalConnectionPoint` shall be associated with at most one other `BidirectionalConnectionPoint` using the relation `mapsTo`." ;
            sh:class s223:BidirectionalConnectionPoint ;
            sh:maxCount 1 ;
            sh:message "s223: A `BidirectionalConnectionPoint` shall be associated with at most one other `BidirectionalConnectionPoint` using the relation `mapsTo`." ;
            sh:path s223:mapsTo ],
        [ rdfs:comment "A `BidirectionalConnectionPoint` shall be associated with at most one `ConnectionPoint` using the relation `pairedConnectionPoint`." ;
            sh:class s223:ConnectionPoint ;
            sh:maxCount 1 ;
            sh:message "s223: A `BidirectionalConnectionPoint` shall be associated with at most one `ConnectionPoint` using the relation `pairedConnectionPoint`." ;
            sh:path s223:pairedConnectionPoint ] .


            

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


@prefix 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:Binary-Logical a s223:Binary-Logical,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Logical" ;
    rdfs:comment """This class and its enumerated subclasses represent the possible values of a logical `Property`, e.g., True or False.

: Binary-Logical Enumerations

| Enumeration |
|:-----------|
| `Logical-False` |
| `Logical-True` |""" ;
    rdfs:subClassOf s223:EnumerationKind-Binary .


            

URI: http://data.ashrae.org/standard223#Binary-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:Binary-OnOff a s223:Binary-OnOff,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "On/off" ;
    rdfs:comment """This class and its enumerated subclasses represent basic operational states, e.g., On or Off.

: Binary-OnOff Enumerations

| Enumeration |
|:-----------|
| `OnOff-Off` |
| `OnOff-On` |""" ;
    rdfs:subClassOf s223:EnumerationKind-Binary .


            

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


@prefix 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:Binary-Position a s223:Binary-Position,
        s223:Class,
        sh:NodeShape ;
    rdfs:label "Position" ;
    rdfs:comment """This class and its enumerated subclasses represent basic positional states, e.g., Open or Closed.

: Binary-Position Enumerations

| Enumeration |
|:-----------|
| `Position-Closed` |
| `Position-Open` |""" ;
    rdfs:subClassOf s223:EnumerationKind-Binary .


            

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 piece of `Equipment` that uses fuel or electricity to heat water or other fluids and supply steam or hot water for heating, humidification, or other applications." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `Boiler` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `Boiler` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `Boiler` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `Boiler` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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 piece of `Equipment` with a colder surface temperature where air passes through, and air movement is induced in the room to achieve cooling. Cooling medium is generally water." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `ChilledBeam` shall at least have the role `Role-Cooling`." ;
            sh:message "s223: A `ChilledBeam` shall at least have the role `Role-Cooling`." ;
            sh:path s223:hasRole ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:Role-Cooling ] ],
        [ rdfs:comment "A `ChilledBeam` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `ChilledBeam` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `ChilledBeam` shall have at least one bidirectional connection point using the medium `Fluid-Air`." ;
            sh:message "s223: A `ChilledBeam` shall have at least one bidirectional connection point using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `ChilledBeam` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `ChilledBeam` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix 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:ChilledBeamShape a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "A `ChilledBeam` must always have the role `Role-Cooling`" ;
            sh:object s223:Role-Cooling ;
            sh:predicate s223:hasRole ;
            sh:subject sh:this ] ;
    sh:targetClass s223:ChilledBeam .


            

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 piece of `Equipment` that removes heat from a liquid coolant via a vapor-compression, adsorption refrigeration, or absorption refrigeration cycles." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `Chiller` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `Chiller` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `Chiller` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `Chiller` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:Class a s223:Concept,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Class" ;
    doc:subclauses ( s223:AbstractClass ) ;
    rdfs:comment "This is a modeling construct. All classes defined in the 223 standard are instances of `Class`." ;
    rdfs:subClassOf s223:Concept,
        rdfs:Class ;
    sh:property [ rdfs:comment "A `Class` shall be associated with at least one label using the relation `rdfs:label`." ;
            sh:message "s223: A `Class` shall be associated with at least one label using the relation `rdfs:label`." ;
            sh:minCount 1 ;
            sh:path rdfs:label ;
            sh:severity sh:Warning ] .


            

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


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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:ClosedWorld223Shape a sh:NodeShape ;
    rdfs:label "Closed-world s223 shape" ;
    rdfs:comment "Ensure that all instances of an s223 class use only the relations defined for that class. Note that this only applies to s223 relations." ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment """Ensure that all instances of an s223 class use only the relations defined for that class. Note that only s223
relations are checked by this validation.""" ;
            sh:message "s223: s223 predicate {?p} is not defined for instance {$this}." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this ?p ?o
WHERE {
?p a/rdfs:subClassOf* s223:Relation .
$this ?p ?o .
FILTER NOT EXISTS {$this a sh:NodeShape}
FILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class .
			?class sh:property/sh:path ?p .
}
FILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class .
?class sh:xone/rdf:rest*/rdf:first/sh:property/sh:path ?p .
}
FILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class .
?class sh:or/rdf:rest*/rdf:first/sh:property/sh:path ?p .
}
}
""" ] ;
    sh:targetClass s223:Concept .


            

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


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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:ClosedWorldQUDTShape a sh:NodeShape ;
    rdfs:label "Closed-world QUDT shape" ;
    rdfs:comment "Ensure that all instances of an s223 class use only the relations defined for that class. Note that this only applies to QUDT relations." ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment """Ensure that all instances of an s223 class use only the relations defined for that class. Note that only QUDT
relations are checked by this validation.""" ;
            sh:message "s223: QUDT predicate {?p} is not defined for instance {$this}." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this ?p ?o
WHERE {
$this ?p ?o .
FILTER(STRSTARTS (str(?p), "http://qudt.org/schema/qudt"))
FILTER NOT EXISTS {$this a sh:NodeShape}
FILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class .
			?class sh:property/sh:path ?p .
}
FILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class .
?class sh:xone/rdf:rest*/rdf:first/sh:property/sh:path ?p .
}
FILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class .
?class sh:or/rdf:rest*/rdf:first/sh:property/sh:path ?p .
}
}
""" ] ;
    sh:targetClass s223:Concept .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:ClothesWasher a s223:Class,
        sh:NodeShape ;
    rdfs:label "Clothes washer" ;
    rdfs:comment "A piece of `Equipment` that automatically cleans a load of textiles (e.g., clothing, bedding)." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `ClothesWasher` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `ClothesWasher` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `ClothesWasher` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: A `ClothesWasher` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `ClothesWasher` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `ClothesWasher` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@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:CoaxialCable a s223:Class,
        sh:NodeShape ;
    rdfs:label "Coaxial cable" ;
    rdfs:comment "A type of `Waveguide` that consists of a central conductor, surrounded by an insulator, a metallic shield, and an outer jacket, all sharing the same geometric axis - which allows it to efficiently transmit high-frequency signals over long distances with minimal interference - and is used for `Wideband-DOCSIS` and `Wideband-CATV` communication." ;
    rdfs:subClassOf s223:Waveguide ;
    sh:property [ rdfs:comment "A `CoaxialCable` shall be associated with exactly one `Wideband-DOCSIS` or `Wideband-CATV` using the relation `hasMedium`." ;
            sh:maxCount 1 ;
            sh:message "s223: A `CoaxialCable` shall be associated with exactly one `Wideband-DOCSIS` or `Wideband-CATV` using the relation `hasMedium`." ;
            sh:minCount 1 ;
            sh:path s223:hasMedium ;
            sh:xone ( [ sh:class s223:Wideband-DOCSIS ] [ sh:class s223:Wideband-CATV ] ) ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:CoffeeMaker a s223:Class,
        sh:NodeShape ;
    rdfs:label "Coffee maker" ;
    rdfs:comment "A piece of `Equipment` that automatically brews coffee." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `CoffeeMaker` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: A `CoffeeMaker` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:Coil a s223:Class,
        sh:NodeShape ;
    rdfs:label "Coil" ;
    doc:subclauses ( s223:CoolingCoil s223:HeatingCoil ) ;
    rdfs:comment """A piece of `Equipment` consisting of a pipe or tube that is formed into a helical or serpentine shape, may or may not be finned, and is used in cooling or heating equipment.

A `Coil` shall conform to exactly one of the following patterns:

- **Pattern 1:**
  - The `Coil` has exactly two inlet connection points using the medium `Mix-Fluid`, with exactly one being `Fluid-Air`.
  - The `Coil` has exactly two outlet connection points using the medium `Mix-Fluid`, with exactly one being `Fluid-Air`.

- **Pattern 2:**
  - The Coil has exactly one inlet connection point using the medium `Mix-Fluid`.
  - The Coil has exactly one outlet connection point using the medium `Mix-Fluid`.
  - The Coil has one or two bidirectional connection points using the medium `Mix-Fluid` or `Medium-ThermalContact`.

- **Pattern 3:**
  - The Coil has exactly three bidirectional connection points using the medium `Mix-Fluid` or `Medium-ThermalContact`.""" ;
    rdfs:subClassOf s223:Equipment ;
    sh:message "s223: A `Coil` shall fit one of the following patterns of `ConnectionPoint`s: 1: Two inlets and two outlets using the medium `Mix-Fluid`. 2: One inlet and one outlet using the medium `Mix-Fluid`, and one or two bidirectionals using the medium `Mix-Fluid` or `Medium-ThermalContact`. 3: Three bidirectionals using the medium `Mix-Fluid` or `Medium-ThermalContact`." ;
    sh:xone ( [ sh:property [ rdfs:comment "Pattern 1: A `Coil` shall have exactly two inlets using the medium `Mix-Fluid`." ;
                        sh:message "s223: Pattern 1: A `Coil` shall have exactly two inlets using the medium `Mix-Fluid`." ;
                        sh:path s223:hasConnectionPoint ;
                        sh:qualifiedMaxCount 2 ;
                        sh:qualifiedMinCount 2 ;
                        sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                                sh:node [ sh:property [ sh:class s223:Mix-Fluid ;
                                                sh:path s223:hasMedium ] ] ] ],
                    [ rdfs:comment "Pattern 1: A `Coil` shall have exactly one outlet using the medium `Fluid-Air`." ;
                        sh:message "s223: Pattern 1: A `Coil` shall have exactly one outlet using the medium `Fluid-Air`." ;
                        sh:path s223:hasConnectionPoint ;
                        sh:qualifiedMaxCount 1 ;
                        sh:qualifiedMinCount 1 ;
                        sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                                sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                                sh:path s223:hasMedium ] ] ] ],
                    [ rdfs:comment "Pattern 1: A `Coil` shall have exactly one inlet using the medium `Fluid-Air`." ;
                        sh:message "s223: Pattern 1: A `Coil` shall have exactly one inlet using the medium `Fluid-Air`." ;
                        sh:path s223:hasConnectionPoint ;
                        sh:qualifiedMaxCount 1 ;
                        sh:qualifiedMinCount 1 ;
                        sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                                sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                                sh:path s223:hasMedium ] ] ] ],
                    [ rdfs:comment "Pattern 1: A `Coil` shall have exactly two outlets using the medium `Mix-Fluid`." ;
                        sh:message "s223: Pattern 1: A `Coil` shall have exactly two outlets using the medium `Mix-Fluid`." ;
                        sh:path s223:hasConnectionPoint ;
                        sh:qualifiedMaxCount 2 ;
                        sh:qualifiedMinCount 2 ;
                        sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                                sh:node [ sh:property [ sh:class s223:Mix-Fluid ;
                                                sh:path s223:hasMedium ] ] ] ] ] [ sh:property [ rdfs:comment "Pattern 2: A `Coil` shall have exactly one outlet using the medium `Mix-Fluid`." ;
                        sh:message "s223: Pattern 2: A `Coil` shall have exactly one outlet using the medium `Mix-Fluid`." ;
                        sh:path s223:hasConnectionPoint ;
                        sh:qualifiedMaxCount 1 ;
                        sh:qualifiedMinCount 1 ;
                        sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                                sh:node [ sh:property [ sh:class s223:Mix-Fluid ;
                                                sh:path s223:hasMedium ] ] ] ],
                    [ rdfs:comment "Pattern 2: A `Coil` shall have one or two bidirectional connection points using the medium `Mix-Fluid` or `Medium-ThermalContact`." ;
                        sh:message "s223: Pattern 2: A `Coil` shall have one or two bidirectional connection points using the medium `Mix-Fluid` or `Medium-ThermalContact`." ;
                        sh:path s223:hasConnectionPoint ;
                        sh:qualifiedMaxCount 2 ;
                        sh:qualifiedMinCount 1 ;
                        sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
                                sh:node [ sh:property [ sh:or ( [ sh:class s223:Mix-Fluid ] [ sh:class s223:Medium-ThermalContact ] ) ;
                                                sh:path s223:hasMedium ] ] ] ;
                        sh:qualifiedValueShapesDisjoint true ],
                    [ rdfs:comment "Pattern 2: A `Coil` shall have exactly one inlet using the medium `Mix-Fluid`." ;
                        sh:message "s223: Pattern 2: A `Coil` shall have exactly one inlet using the medium `Mix-Fluid`." ;
                        sh:path s223:hasConnectionPoint ;
                        sh:qualifiedMaxCount 1 ;
                        sh:qualifiedMinCount 1 ;
                        sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                                sh:node [ sh:property [ sh:class s223:Mix-Fluid ;
                                                sh:path s223:hasMedium ] ] ] ] ] [ sh:property [ rdfs:comment "Pattern 3: A `Coil` shall have exactly three bidirectional connection points using the medium `Mix-Fluid` or `Medium-ThermalContact`." ;
                        sh:message "s223: Pattern 3: A `Coil` shall have exactly three bidirectional connection points using the medium `Mix-Fluid` or `Medium-ThermalContact`." ;
                        sh:path s223:hasConnectionPoint ;
                        sh:qualifiedMaxCount 3 ;
                        sh:qualifiedMinCount 3 ;
                        sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
                                sh:node [ sh:property [ sh:or ( [ sh:class s223:Mix-Fluid ] [ sh:class s223:Medium-ThermalContact ] ) ;
                                                sh:path s223:hasMedium ] ] ] ;
                        sh:qualifiedValueShapesDisjoint true ] ] ) .


            

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 piece of `Equipment` that mechanically increases the pressure of a gas." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `Compressor` shall have at least one inlet." ;
            sh:message "s223: A `Compressor` shall have at least one inlet." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ] ],
        [ rdfs:comment "A `Compressor` shall have at least one outlet." ;
            sh:message "s223: A `Compressor` shall have at least one outlet." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ] ] .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:Computer a s223:Class,
        sh:NodeShape ;
    rdfs:label "Computer" ;
    doc:subclauses ( s223:PersonalComputer s223:ServerComputer ) ;
    rdfs:comment """A piece of `Equipment` that can be programmed to automatically carry out sequences of arithmetic or logical operations (computation).
Modern digital electronic computers can perform generic sets of operations known as programs. These programs enable computers to perform a
wide range of tasks.""" ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `Computer` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: A `Computer` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@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:ComputerPrinter a s223:Class,
        sh:NodeShape ;
    rdfs:label "Computer printer" ;
    rdfs:comment "A piece of `Equipment` that processes an input electrical or RF signal, typically from a `Computer`, and outputs a durable representation of information, typically text and/or graphics, typically on paper." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `ComputerPrinter` shall have at least one inlet using the medium `Electricity-Signal` or `EM-RF`." ;
            sh:message "s223: A `ComputerPrinter` shall have at least one inlet using the medium `Electricity-Signal` or `EM-RF`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:or ( [ sh:class s223:Electricity-Signal ] [ sh:class s223:EM-RF ] ) ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `ComputerPrinter` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: A `ComputerPrinter` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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 `Sensor` that `observes` a `QuantifiableObservableProperty` that represents a concentration of a miscible constituent in a medium,
in contrast to a `ParticulateSensor` that `observes` a `QuantifiableObservableProperty` that represents an amount of a particulate in a medium
(see {s223:ParticulateSensor}). The 223 standard does not constrain the `Unit` or `QuantityKind` reported by a `ConcentrationSensor`, but possible
`QuantityKind`s include `Concentration` (moles per volume), `Density` (mass per volume), `MoleFraction`, and `VolumeFraction`.""" ;
    rdfs:subClassOf s223:Sensor ;
    sh:property [ rdfs:comment "A `ConcentrationSensor` shall always observe a `QuantifiableObservableProperty`." ;
            sh:class s223:QuantifiableObservableProperty ;
            sh:message "s223: A `ConcentrationSensor` shall always observe a `QuantifiableObservableProperty`." ;
            sh:path s223:observes ] .


            

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


@prefix doc: <http://sample.org/doc#> .
@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@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:Concept a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Concept" ;
    doc:subclauses ( s223:Class s223:Relation ) ;
    rdfs:comment "All classes and relations defined in the 223 standard are subclasses of `Concept`." ;
    rdfs:subClassOf rdfs:Resource ;
    sh:property [ rdfs:comment "Incompatible Medium. Case4: An entity with constituents and an associated `Property` with constituents." ;
            sh:name "Test for compatible declared Medium" ;
            sh:path s223:hasMedium ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "Incompatible Medium. Case 4: A medium with constituents and an associated `Property` with constituents." ;
                    sh:message "s223: {$this} `hasMedium` of {?m1}, but is associated with `Property` {?prop} that has `ofMedium` of {?m2}." ;
                    sh:prefixes ns6: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 .
    ?m1 s223:composedOf/s223:ofConstituent ?s1 .
    ?m2 s223:composedOf/s223:ofConstituent ?s2 .
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s11 .
    ?m2 s223:composedOf/s223:ofConstituent ?s12 .
    FILTER (?s11 = ?s12) .
  }
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s21 .
    ?m2 s223:composedOf/s223:ofConstituent ?s22 .
    {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .
  }
}
""" ] ],
        [ rdfs:comment "A `Concept` shall be associated with zero or more `Property`s using the relation `hasProperty`." ;
            sh:class s223:Property ;
            sh:message "s223: A `Concept` shall be associated with zero or more `Property`s using the relation `hasProperty`." ;
            sh:path s223:hasProperty ],
        [ rdfs:comment "Incompatible Medium. Case2: An entity with a pure medium and an associated `Property` with constituents." ;
            sh:name "Test for compatible declared Medium" ;
            sh:path s223:hasMedium ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "Incompatible Medium. Case 2: A pure medium and an associated `Property` with constituents." ;
                    sh:message "s223: {$this} `hasMedium` of {?m1}, but is associated with `Property` {?prop} that has `ofMedium` of {?m2}." ;
                    sh:prefixes ns6: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 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" ] ],
        [ rdfs:comment "Incompatible Medium. Case3: An entity with constituents and an associated `Property` with a pure medium." ;
            sh:name "Test for compatible declared Medium" ;
            sh:path s223:hasMedium ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "Incompatible Medium. Case 3: A medium with constituents and an associated `Property` with a pure medium." ;
                    sh:message "s223: {$this} `hasMedium` of {?m2}, but is associated with `Property` {?prop} that has `ofMedium` of {?m1}." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this ?m1 ?prop ?m2
WHERE {
$this s223:hasMedium ?m2 .
$this ?p ?prop .
?prop a/rdfs:subClassOf* s223:Property .
?prop s223:ofMedium ?m1 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" ] ],
        [ rdfs:comment "Incompatible Medium. Case1: An entity with a pure medium and an associated `Property` with a different pure medium." ;
            sh:name "Test for compatible declared Medium" ;
            sh:path s223:hasMedium ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "Incompatible Medium. Case 1: Two pure mediums." ;
                    sh:message "s223: {$this} `hasMedium` of {?m1}, but is associated with `Property` {?prop} that has `ofMedium` of {?m2}." ;
                    sh:prefixes ns6: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 {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {?m2 s223:composedOf ?c2}
FILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .
FILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .
}
""" ] ] .


            

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


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@prefix 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:ConceptShape a sh:NodeShape ;
    sh:rule [ a sh:SPARQLRule ;
            rdfs:comment "Add an rdfs:label if it is missing." ;
            sh:construct """
CONSTRUCT {$this rdfs:label ?newLabel .}
WHERE {
FILTER (NOT EXISTS {$this rdfs:label ?something}) .
BIND(REPLACE(STR($this), "^.*/([^/]*)$", "$1") AS ?localNameWithoutHash)
BIND(REPLACE(?localNameWithoutHash, "^.*#(.*)$", "$1") AS ?localName)
BIND(REPLACE(?localName, "-", " ", "i") AS ?newLabel)
}
""" ;
            sh:name "AddLabelFromLocalName" ;
            sh:prefixes ns4:model-rules ] ;
    sh:targetClass s223:Concept .


            

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


@prefix doc: <http://sample.org/doc#> .
@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@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:Conductor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Conductor" ;
    doc:subclauses ( s223:EthernetCable s223:USBCable ) ;
    rdfs:comment "A `Connection` that represents one or more wires used to convey `Constituent-Electricity`. Each instance of `Conductor` applies to no more than one electrical circuit." ;
    rdfs:subClassOf s223:Connection ;
    sh:property [ rdfs:comment "A `Conductor` shall be associated with at most one `EnumerationKind-ElectricalPhaseIdentifier` using the relation `hasElectricalPhase`." ;
            sh:class s223:EnumerationKind-ElectricalPhaseIdentifier ;
            sh:maxCount 1 ;
            sh:message "s223: A `Conductor` shall be associated with at most one `EnumerationKind-ElectricalPhaseIdentifier` using the relation `hasElectricalPhase`." ;
            sh:path s223:hasElectricalPhase ],
        [ rdfs:comment "Ensure the electrical phase is the same as all connected `ConnectionPoint`s" ;
            sh:path s223:hasElectricalPhase ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "Ensure the electrical phase is the same as all connected `ConnectionPoint`s" ;
                    sh:message "s223: {$this} has an electrical phase of {?myphase} which is different from {?cpPhase} for `ConnectionPoint` {?cp}." ;
                    sh:prefixes ns6:model ;
                    sh:select """
    SELECT $this ?myphase ?cp ?cpPhase
    WHERE {
        $this s223:hasElectricalPhase ?myphase .
        $this s223:connectsAt ?cp .
        ?cp s223:hasElectricalPhase ?cpPhase .
        FILTER (?myphase != ?cpPhase) .
        }
        """ ] ],
        [ rdfs:comment "A `Conductor` shall be associated with exactly one `Constituent-Electricity` using the relation `hasMedium`." ;
            sh:class s223:Constituent-Electricity ;
            sh:maxCount 1 ;
            sh:message "s223: A `Conductor` shall be associated with exactly one `Constituent-Electricity` using the relation `hasMedium`." ;
            sh:minCount 1 ;
            sh:path s223:hasMedium ] .


            

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


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@prefix 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:ConductorShape a sh:NodeShape ;
    sh:rule [ a sh:SPARQLRule ;
            rdfs:comment "Infer the `hasElectricalPhase` value from any connected `ConnectionPoint`s." ;
            sh:construct """
CONSTRUCT {$this s223:hasElectricalPhase ?phase .}
WHERE {
$this s223:cnx/s223:hasElectricalPhase ?phase .
}
""" ;
            sh:prefixes ns4:model-rules ] ;
    sh:targetClass s223:Conductor .


            

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


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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:Connectable a s223:AbstractClass,
        sh:NodeShape ;
    rdfs:label "Connectable" ;
    rdfs:comment "`Connectable` is an abstract class representing `Equipment` (see {s223:Equipment}), a `DomainSpace` (see {s223:DomainSpace}), or a `Junction` (see {s223:Junction}) that can be `connected` to other `Connectable`s via `ConnectionPoint`s and `Connection`s." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ rdfs:comment "A `Connectable` shall be associated with zero or more `ConnectionPoint`s using the relation `hasConnectionPoint`." ;
            sh:class s223:ConnectionPoint ;
            sh:message "s223: A `Connectable` shall be associated with zero or more `ConnectionPoint`s using the relation `hasConnectionPoint`." ;
            sh:name "EquipmentToConnectionPointShape" ;
            sh:path s223:hasConnectionPoint ],
        [ rdfs:comment "If a `Connectable` has `connected` or `connectedTo` (i.e., high-level connection specification), it must also have the supporting `cnx` relations (low-level connection specification)." ;
            sh:path s223:cnx ;
            sh:severity sh:Warning ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "If a `Connectable` has the relation`connected` or `connectedTo` (i.e., high-level connection specification), it must also have the supporting `cnx` relations (low-level connection specification)." ;
                    sh:message "s223: {$this} is s223:connected (high-level) to {?otherC} but not connected at the cnx-level." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this ?otherC
WHERE {
$this s223:connected ?otherC .
FILTER NOT EXISTS {$this s223:cnx+ ?otherC}
}
""" ] ],
        [ rdfs:comment "A `Connectable` shall be associated with zero or more `ConnectionPoint`s that may not be connected using the relation `hasOptionalConnectionPoint`. The \"dangling connection point\" should not generate a validation error." ;
            sh:class s223:ConnectionPoint ;
            sh:message "s223: A `Connectable` shall be associated with zero or more `ConnectionPoint`s that may not be connected using the relation `hasOptionalConnectionPoint`. The \"dangling connection point\" should not generate a validation error." ;
            sh:path s223:hasOptionalConnectionPoint ],
        [ rdfs:comment "A `Connectable` shall be associated with zero or more other `Connectable`s using the relation `connectedFrom`." ;
            sh:class s223:Connectable ;
            sh:message "s223: A `Connectable` shall be associated with zero or more other `Connectable`s using the relation `connectedFrom`." ;
            sh:path s223:connectedFrom ],
        [ rdfs:comment "A `Connectable` shall be associated with zero or more other `Connectable`s using the relation `connectedTo`." ;
            sh:class s223:Connectable ;
            sh:message "s223: A `Connectable` shall be associated with zero or more other `Connectable`s using the relation `connectedTo`." ;
            sh:name "ConnectableToConnectableShape" ;
            sh:path s223:connectedTo ],
        [ rdfs:comment "A `Connectable` shall be associated with zero or more other `Connectable`s using the relation `connected`." ;
            sh:class s223:Connectable ;
            sh:message "s223: A `Connectable` shall be associated with zero or more other `Connectable`s using the relation `connected`." ;
            sh:name "SymmetricConnectableToConnectableShape" ;
            sh:path s223:connected ],
        [ rdfs:comment "A `Connectable` shall be associated with zero or more `ConnectionPoint`s using the relation `cnx`." ;
            sh:class s223:ConnectionPoint ;
            sh:message "s223: A `Connectable` shall be associated with zero or more `ConnectionPoint`s using the relation `cnx`." ;
            sh:path s223:cnx ],
        [ rdfs:comment "A `Connectable` shall be associated with zero or more `Connection`s using the relation `connectedThrough`." ;
            sh:class s223:Connection ;
            sh:message "s223: A `Connectable` shall be associated with zero or more `Connection`s using the relation `connectedThrough`." ;
            sh:name "EquipmentToConnectionShape" ;
            sh:path s223:connectedThrough ] .


            

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


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@prefix 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:ConnectableShape a sh:NodeShape ;
    sh:rule [ a sh:SPARQLRule ;
            rdfs:comment "Infer the `hasConnectionPoint` relation using `cnx`" ;
            sh:construct """
CONSTRUCT {$this s223:hasConnectionPoint ?thing .}
WHERE {
$this s223:cnx ?thing .
}
""" ;
            sh:name "InferredEquipmentToConnectionPointProperty" ;
            sh:prefixes ns4:model-rules ],
        [ a sh:SPARQLRule ;
            rdfs:comment "Infer the `connectedFrom` relations using `connectsThrough` and `connectsFrom`." ;
            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 ns4:model-rules ],
        [ a sh:SPARQLRule ;
            rdfs:comment "Infer the `connected` relation 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 ns4:model-rules ],
        [ a sh:SPARQLRule ;
            rdfs:comment "Infer the `connected` relation 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 ns4:model-rules ],
        [ a sh:SPARQLRule ;
            rdfs:comment "Infer the `connectedTo` relation using `connectsThrough` and `connectsTo`." ;
            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 ns4:model-rules ],
        [ a sh:SPARQLRule ;
            rdfs:comment "Infer the `connected` relation using `connectedTo`" ;
            sh:construct """
CONSTRUCT {$this s223:connected ?thing .}
WHERE {
$this s223:connectedTo ?thing .
}
""" ;
            sh:name "InferredEquipmentToEquipmentPropertyfromconnectedTo" ;
            sh:prefixes ns4:model-rules ],
        [ a sh:SPARQLRule ;
            rdfs:comment "Infer the `connected` relation using `connectedFrom`" ;
            sh:construct """
CONSTRUCT {$this s223:connected ?thing .}
WHERE {
$this s223:connectedFrom ?thing .
}
""" ;
            sh:name "InferredEquipmentToEquipmentPropertyfromconnectedFrom" ;
            sh:prefixes ns4:model-rules ],
        [ a sh:SPARQLRule ;
            rdfs:comment "Infer the `cnx` relationship using `hasConnectionPoint`." ;
            sh:construct """
CONSTRUCT {$this s223:cnx ?thing .}
WHERE {
$this s223:hasConnectionPoint ?thing .
}
""" ;
            sh:name "InferredEquipmentToConnectionPointCnxProperty" ;
            sh:prefixes ns4:model-rules ],
        [ a sh:SPARQLRule ;
            rdfs:comment "Infer the `cnx` relation using `isConnectionPointOf`." ;
            sh:construct """
CONSTRUCT {$this s223:cnx ?thing .}
WHERE {
$this ^s223:isConnectionPointOf ?thing .
}
""" ;
            sh:name "InferredEquipmentToConnectionPointCnxPropertyFromInverse" ;
            sh:prefixes ns4:model-rules ],
        [ a sh:SPARQLRule ;
            rdfs:comment "Infer the `connectedThrough` relation using `hasConnectionPoint` and `connectsThrough`" ;
            sh:construct """
CONSTRUCT {$this s223:connectedThrough ?connection .}
WHERE {
$this s223:hasConnectionPoint/s223:connectsThrough ?connection .
}
""" ;
            sh:name "InferredEquipmentToConnectionProperty" ;
            sh:prefixes ns4:model-rules ] ;
    sh:targetClass s223:Connectable .


            

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


@prefix doc: <http://sample.org/doc#> .
@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@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" ;
    doc:subclauses ( s223:EM s223:Pipe s223:Duct s223:Conductor s223:Waveguide ) ;
    rdfs:comment """A `Connection` is the modeling construct used to represent the thing (e.g., pipe, duct, conductor, or free space) that is used to convey
some Medium (e.g., water, air, electricity, light, Wi-Fi) between two connectable things. All connections have two or more connection points bound
to either `Equipment` (see {s223:Equipment}), `DomainSpace` (see {s223:DomainSpace}), or `Junction` (see {s223:Junction}). See Figure 6-2. If the direction
of flow is constrained, that constraint is indicated by using one or more `InletConnectionPoint`s (see {s223:InletConnectionPoint}) to represent the
inflow points and `OutletConnectionPoint`s (see {s223:OutletConnectionPoint}) to represent the outflow points.

A `Connection` may contain branches or intersections. These may be modeled using `Junction`s if it is necessary to identify a specific intersection
(see {s223:Junction}).

The constraint to maintain compatible mediums among a `Connection` and all of its associated `ConnectionPoint`s gives rise to multiple
validation test cases, where the specified medium might be a pure medium, or a mixture with constituents. See {s223:Substance-Medium} for
more details.

![Graphical Depiction of Connection.](figures/Figure_5-3_Connection.svg)""" ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ rdfs:comment "Incompatible Medium. Case 2: A `Connection` with constituents and an associated `ConnectionPoint` with a pure medium." ;
            sh:name "Test for compatible declared Medium" ;
            sh:path s223:hasMedium ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "Incompatible Medium. Case 2: A `Connection` with constituents and an associated `ConnectionPoint` with a pure medium." ;
                    sh:message "s223: `Connection` {$this} with medium {?m2} is incompatible with {?cp} with medium {?m1}." ;
                    sh:prefixes ns6: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 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" ] ],
        [ rdfs:comment "A `Connection` shall be associated with exactly one `Substance-Medium` using the relation `hasMedium`." ;
            sh:class s223:Substance-Medium ;
            sh:maxCount 1 ;
            sh:message "s223: A `Connection` shall be associated with exactly one `Substance-Medium` using the relation `hasMedium`." ;
            sh:minCount 1 ;
            sh:name "Connection medium" ;
            sh:path s223:hasMedium ],
        [ rdfs:comment "A `Connection` shall be associated with zero or more `EnumerationKind-Role`s using the relation `hasRole`." ;
            sh:class s223:EnumerationKind-Role ;
            sh:message "s223: A `Connection` shall be associated with zero or more `EnumerationKind-Role`s using the relation `hasRole`." ;
            sh:path s223:hasRole ],
        [ rdfs:comment "A `Connection` shall be associated with zero or more `Connectable`s using the relation `connectsFrom`." ;
            sh:class s223:Connectable ;
            sh:message "s223: A `Connection` shall be associated with zero or more `Connectable`s using the relation `connectsFrom`." ;
            sh:name "ConnectionToUpstreamConnectableShape" ;
            sh:path s223:connectsFrom ],
        [ rdfs:comment "Incompatible Medium. Case 1: A `Connection` with a pure medium and an associated `ConnectionPoint` with a pure medium." ;
            sh:name "Test for compatible declared Medium" ;
            sh:path s223:hasMedium ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "Incompatible Medium. Case 1: Two pure mediums." ;
                    sh:message "s223: `Connection` {$this} with medium {?m2} is incompatible with {?cp} with medium {?m1}." ;
                    sh:prefixes ns6: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 {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {?m2 s223:composedOf ?c2}
FILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .
FILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .
}
""" ] ],
        [ rdfs:comment "Incompatible Medium. Case 7: Two `ConnectionPoint`s with mediums with constituents." ;
            sh:name "Test for compatible declared Medium" ;
            sh:path s223:hasMedium ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "Incompatible Medium. Case 7: Two `ConnectionPoint`s with mediums with constituents." ;
                    sh:message "s223: {?cp1} with medium {?m2} is incompatible with {?cp2} with medium {?m1}." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this ?cp1 ?m1 ?cp2 ?m2
WHERE {
$this s223:cnx ?cp1 .
?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .
?cp1 s223:hasMedium ?m2 .
$this s223:cnx ?cp2 .
?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .
FILTER (?cp1 != ?cp2 ) .
?cp2 s223:hasMedium ?m1 .
    ?m1 s223:composedOf/s223:ofConstituent ?s1 .
    ?m2 s223:composedOf/s223:ofConstituent ?s2 .
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s11 .
    ?m2 s223:composedOf/s223:ofConstituent ?s12 .
    FILTER (?s11 = ?s12) .
  }
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s21 .
    ?m2 s223:composedOf/s223:ofConstituent ?s22 .
    {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .
  }
}
""" ] ],
        [ rdfs:comment "A `Connection` shall be associated with zero or more `ConnectionPoint`s using the relation `cnx`." ;
            sh:class s223:ConnectionPoint ;
            sh:message "s223: A `Connection` shall be associated with zero or more `ConnectionPoint`s using the relation `cnx`." ;
            sh:path s223:cnx ],
        [ rdfs:comment "Incompatible Medium. Case 6: Two `ConnectionPoint`s, one with a medium with constituents and one with a pure medium." ;
            sh:name "Test for compatible declared Medium" ;
            sh:path s223:hasMedium ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "Incompatible Medium. Case 6: A medium with constituents and a pure medium." ;
                    sh:message "s223: {?cp1} with medium {?m1} is incompatible with {?cp2} with medium {?m2}." ;
                    sh:prefixes ns6: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 .
FILTER (?cp1 != ?cp2 ) .
?cp2 s223:hasMedium ?m2 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" ] ],
        [ rdfs:comment "A `Connection` shall be associated with zero or more `Connectable`s using the relation `connectsTo`." ;
            sh:class s223:Connectable ;
            sh:message "s223: A `Connection` shall be associated with zero or more `Connectable`s using the relation `connectsTo`." ;
            sh:name "ConnectionToDownstreamConnectableShape" ;
            sh:path s223:connectsTo ],
        [ rdfs:comment "Incompatible Medium. Case 3: `Connection` with a pure medium and an associated `ConnectionPoint` with constituents." ;
            sh:name "Test for compatible declared Medium" ;
            sh:path s223:hasMedium ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "Incompatible Medium. Case 3: `Connection` with a pure medium and an associated `ConnectionPoint` with constituents." ;
                    sh:message "s223: `Connection` {$this} with medium {?m2} is incompatible with {?cp} with medium {?m1}." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this ?m2 ?cp ?m1
WHERE {
$this s223:cnx ?cp .
?cp a/rdfs:subClassOf* s223:ConnectionPoint .
?cp s223:hasMedium ?m2 .
$this s223:hasMedium ?m1 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" ] ],
        [ rdfs:comment "A `Connection` shall be associated with at least two `ConnectionPoint`s using the relation `connectsAt`." ;
            sh:class s223:ConnectionPoint ;
            sh:message "s223: A `Connection` shall be associated with at least two `ConnectionPoint`s using the relation `connectsAt`." ;
            sh:minCount 2 ;
            sh:path s223:connectsAt ;
            sh:severity sh:Warning ],
        [ rdfs:comment "A `Connection` shall be associated with at most one `EnumerationKind-ThermodynamicPhase` using the relation `hasThermodynamicPhase`." ;
            sh:class s223:EnumerationKind-ThermodynamicPhase ;
            sh:maxCount 1 ;
            sh:message "s223: A `Connection` shall be associated with at most one `EnumerationKind-ThermodynamicPhase` using the relation `hasThermodynamicPhase`." ;
            sh:path s223:hasThermodynamicPhase ],
        [ rdfs:comment "Incompatible Medium. Case 4: A `Connection` with constituents and an associated `ConnectionPoint` with constituents." ;
            sh:name "Test for compatible declared Medium" ;
            sh:path s223:hasMedium ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "Incompatible Medium. Case 4: A `Connection` with constituents and an associated `ConnectionPoint` with constituents." ;
                    sh:message "s223: `Connection` {$this} with medium {?m2} is incompatible with {?cp} with medium {?m1}." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this ?m2 ?cp ?m1
WHERE {
$this s223:cnx ?cp .
?cp a/rdfs:subClassOf* s223:ConnectionPoint .
?cp s223:hasMedium ?m2 .
$this s223:hasMedium ?m1 .
    ?m1 s223:composedOf/s223:ofConstituent ?s1 .
    ?m2 s223:composedOf/s223:ofConstituent ?s2 .
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s11 .
    ?m2 s223:composedOf/s223:ofConstituent ?s12 .
    FILTER (?s11 = ?s12) .
  }
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s21 .
    ?m2 s223:composedOf/s223:ofConstituent ?s22 .
    {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .
  }
}
""" ] ],
        [ 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 "s223: {$this} cannot have a s223:cnx relation to {?something}, because {?something} is not a `ConnectionPoint`." ;
                    sh:prefixes ns6:model ;
                    sh:select """SELECT $this ?something
WHERE {
$this s223:cnx ?something .
FILTER NOT EXISTS {?something a/rdfs:subClassOf* s223:ConnectionPoint} .
}""" ] ],
        [ rdfs:comment "Incompatible Medium. Case 5: Two `ConnectionPoint`s with pure mediums." ;
            sh:name "Test for compatible declared Medium" ;
            sh:path s223:hasMedium ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "Incompatible Medium. Case 5: Two `ConnectionPoint`s with pure mediums." ;
                    sh:message "s223: {?cp1} with medium {?m1} is incompatible with {?cp2} with medium {?m2}." ;
                    sh:prefixes ns6: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 {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {?m2 s223:composedOf ?c2}
FILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .
FILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .
}
""" ] ] .


            

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


@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:ConnectionCnxShape a sh:NodeShape ;
    rdfs:label "Connection cnx shape" ;
    rdfs:comment "You need either an `InletConnectionPoint` and an `OutletConnectionPoint`, or at least one `BidirectionalConnectionPoint` and another `ConnectionPoint` of any type." ;
    sh:message "s223: You need either an `InletConnectionPoint` and an `OutletConnectionPoint`, or at least one `BidirectionalConnectionPoint` and another `ConnectionPoint` of any type." ;
    sh:or ( [ sh:property [ rdfs:comment "A `Connection` shall have at least two `connectsAt` relations allowing flow in and out of the `Connection`." ;
                        sh:path s223:connectsAt ;
                        sh:qualifiedMinCount 1 ;
                        sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ] ;
                        sh:qualifiedValueShapesDisjoint true ;
                        sh:severity sh:Warning ],
                    [ rdfs:comment "A `Connection` shall have at least two `connectsAt` relations allowing flow in and out of the `Connection`." ;
                        sh:path s223:connectsAt ;
                        sh:qualifiedMinCount 1 ;
                        sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ] ;
                        sh:qualifiedValueShapesDisjoint true ;
                        sh:severity sh:Warning ] ] [ sh:property [ rdfs:comment "A `Connection` shall have at least two `connectsAt` relations allowing flow in and out of the `Connection`." ;
                        sh:path s223:connectsAt ;
                        sh:qualifiedMinCount 1 ;
                        sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ] ;
                        sh:qualifiedValueShapesDisjoint true ;
                        sh:severity sh:Warning ] ] ) ;
    sh:severity sh:Warning ;
    sh:targetClass s223:Connection .


            

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


@prefix doc: <http://sample.org/doc#> .
@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@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:ConnectionPoint a s223:AbstractClass,
        sh:NodeShape ;
    rdfs:label "Connection point" ;
    doc:subclauses ( s223:BidirectionalConnectionPoint s223:InletConnectionPoint s223:OutletConnectionPoint s223:pairedConnectionPoint s223:mapsTo ) ;
    rdfs:comment """A `ConnectionPoint` is an abstract modeling construct used to represent the fact that one `Connectable` can be connected to another `Connectable` using a `Connection`. It is the abstract representation of the flange, wire terminal, or other physical feature where a connection is made. `Equipment`, `DomainSpace`s and `Junction`s can have one or more `ConnectionPoint`s (see {s223:Connectable}).

A `ConnectionPoint` is constrained to relate to a specific medium such as air, water, or electricity which determines what 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` (see {s223:Connectable}).

`ConnectionPoint`s are represented graphically in this standard by a triangle with the point indicating a direction of flow, or a diamond in the case of a bidirectional flow as shown in Figure 6-1.

![Graphical Representation of a ConnectionPoint](figures/Figure_5-2_Graphical_Depiciton_of_Connection_Points.svg)""" ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ 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 "s223: {$this} cannot have both a `mapsTo` {?uppercp} and a `connectsThrough` {?connection}." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this ?uppercp ?connection
WHERE {
$this s223:mapsTo ?uppercp .
$this s223:connectsThrough ?connection .
?connection a/rdfs:subClassOf* s223:Connection .
}
""" ] ],
        [ rdfs:comment "A `ConnectionPoint` shall be associated with at most one `Connectable` using the relation `cnx`." ;
            sh:message "s223: A `ConnectionPoint` shall be associated with at most one `Connectable` using the relation `cnx`." ;
            sh:path s223:cnx ;
            sh:qualifiedMaxCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:Connectable ] ;
            sh:qualifiedValueShapesDisjoint true ],
        [ rdfs:comment "A `ConnectionPoint` should be associated with at most one `Connection` using the relation `connectsThrough`." ;
            sh:class s223:Connection ;
            sh:maxCount 1 ;
            sh:message "s223: A `ConnectionPoint` should be associated with at most one `Connection` using the relation `connectsThrough`." ;
            sh:name "ConnectionPointToConnectionShape" ;
            sh:path s223:connectsThrough ;
            sh:severity sh:Info ],
        [ rdfs:comment "A `ConnectionPoint` shall be associated with exactly one `Connectable` using the relation `isConnectionPointOf`." ;
            sh:class s223:Connectable ;
            sh:maxCount 1 ;
            sh:message "s223: A `ConnectionPoint` shall be associated with exactly one `Connectable` using the relation `isConnectionPointOf`." ;
            sh:minCount 1 ;
            sh:name "ConnectionPointToEquipmentShape" ;
            sh:path s223:isConnectionPointOf ],
        [ rdfs:comment "A `ConnectionPoint` shall be associated with at most one `Connection` using the relation `cnx`." ;
            sh:message "s223: A `ConnectionPoint` shall be associated with at most one `Connection` using the relation `cnx`." ;
            sh:path s223:cnx ;
            sh:qualifiedMaxCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:Connection ] ;
            sh:qualifiedValueShapesDisjoint true ],
        [ rdfs:comment "A `ConnectionPoint` shall be associated with exactly one `Substance-Medium` using the relation `hasMedium`." ;
            sh:class s223:Substance-Medium ;
            sh:maxCount 1 ;
            sh:message "s223: A `ConnectionPoint` shall be associated with exactly one `Substance-Medium` using the relation `hasMedium`." ;
            sh:minCount 1 ;
            sh:name "ConnectionPoint medium" ;
            sh:path s223:hasMedium ],
        [ rdfs:comment "A `ConnectionPoint` shall be associated with at most one other `ConnectionPoint` using the inverse of the relation `mapsTo`." ;
            sh:class s223:ConnectionPoint ;
            sh:maxCount 1 ;
            sh:message "s223: A `ConnectionPoint` shall be associated with at most one other `ConnectionPoint` using the inverse of the relation `mapsTo`." ;
            sh:path [ sh:inversePath s223:mapsTo ] ],
        [ 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 "s223: `ConnectionPoint` {$this} could be missing a `mapsTo` relation to a `ConnectionPoint` of {?containerEquipment} because it is associated with a `Junction` or `Equipment` that is contained by {?containerEquipment}." ;
                    sh:prefixes ns6:model ;
                    sh:select """
    SELECT $this ?containerEquipment
    WHERE {
        FILTER NOT EXISTS {$this s223:connectsThrough ?anything1} .
        FILTER NOT EXISTS {$this s223:mapsTo ?anything2} .
        FILTER NOT EXISTS {?anything3 s223:hasBoundaryConnectionPoint $this} .
        $this s223:isConnectionPointOf ?equipment .
        ?containerEquipment s223:contains ?equipment .
        }
        """ ] ],
        [ rdfs:comment "A `ConnectionPoint` shall be associated with at most one other `ConnectionPoint` using the inverse of the relation `pairedConnectionPoint`." ;
            sh:class s223:ConnectionPoint ;
            sh:maxCount 1 ;
            sh:message "s223: A `ConnectionPoint` shall be associated with at most one other `ConnectionPoint` using the inverse of the relation `pairedConnectionPoint`." ;
            sh:path [ sh:inversePath s223:pairedConnectionPoint ] ],
        [ rdfs:comment "A `ConnectionPoint` shall be associated with at most one `EnumerationKind-ElectricalPhaseIdentifier` using the relation `hasElectricalPhase`." ;
            sh:class s223:EnumerationKind-ElectricalPhaseIdentifier ;
            sh:maxCount 1 ;
            sh:message "s223: A `ConnectionPoint` shall be associated with at most one `EnumerationKind-ElectricalPhaseIdentifier` using the relation `hasElectricalPhase`." ;
            sh:path s223:hasElectricalPhase ],
        [ rdfs:comment "Ensure that the Medium identified by a `ConnectionPoint` via the `hasMedium` relation is compatible with the Medium identified by the entity identified by the `mapsTo` relation." ;
            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 `hasMedium` relation is compatible with the Medium identified by the entity identified by the `mapsTo` relation." ;
                    sh:message "s223: {$this} declares a medium of {?a}, but the medium of {?b} is declared by {?target} pointed to by the `mapsTo` relation." ;
                    sh:prefixes ns6: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:Substance-Medium .
?b a/rdfs:subClassOf* s223:Substance-Medium .
FILTER (?a != ?b ) .
FILTER (NOT EXISTS {?b a/rdfs:subClassOf* ?a}) .
FILTER (NOT EXISTS {?a a/rdfs:subClassOf* ?b}) .
}
""" ] ],
        [ rdfs:comment "A `ConnectionPoint` shall be associated with at most one other `ConnectionPoint` using the relation `pairedConnectionPoint`." ;
            sh:class s223:ConnectionPoint ;
            sh:maxCount 1 ;
            sh:message "s223: A `ConnectionPoint` shall be associated with at most one other `ConnectionPoint` using the relation `pairedConnectionPoint`." ;
            sh:path s223:pairedConnectionPoint ],
        [ 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 "s223: {?otherEquipment} should contain {?equipment} because `ConnectionPoint` {$this} has a `mapsTo` relation." ;
                    sh:prefixes ns6: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` shall be associated with at most one other `ConnectionPoint` using the relation `mapsTo`." ;
            sh:class s223:ConnectionPoint ;
            sh:maxCount 1 ;
            sh:message "s223: A `ConnectionPoint` shall be associated with at most one other `ConnectionPoint` using the relation `mapsTo`." ;
            sh:path s223:mapsTo ],
        [ rdfs:comment "A `ConnectionPoint` shall be associated with zero or more `EnumerationKind-Role`s using the relation `hasRole`." ;
            sh:class s223:EnumerationKind-Role ;
            sh:message "s223: A `ConnectionPoint` shall be associated with zero or more `EnumerationKind-Role`s using the relation `hasRole`." ;
            sh:path s223:hasRole ],
        [ 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 "s223: `ConnectionPoint` {$this} probably needs an association with a `Connection`, or use of `hasOptionalConnectionPoint` or `hasBoundaryConnectionPoint` qualifiers." ;
                    sh:prefixes ns6:model ;
                    sh:select """
    SELECT $this
    WHERE {
        FILTER NOT EXISTS {?sys1 s223:hasBoundaryConnectionPoint $this} .
        FILTER NOT EXISTS {?sys2 s223:hasOptionalConnectionPoint $this} .
        FILTER NOT EXISTS {$this s223:connectsThrough ?anything1} .
        FILTER NOT EXISTS {$this s223:mapsTo ?anything2} .
        $this s223:isConnectionPointOf ?equipment .
        FILTER NOT EXISTS {?containerEquipment s223:contains ?equipment} .
        }
        """ ] ] ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Subclasses of ConnectionPoint are Disjoint. An instance of a subclass of ConnectionPoint cannot be an instance of multiple such subclasses." ;
            sh:message "s223: `ConnectionPoint` {$this} cannot be an instance of both {?subclass1} and {?subclass2}." ;
            sh:prefixes ns6:model ;
            sh:select """
        SELECT $this ?subclass1 ?subclass2 WHERE {
            $this a ?subclass1, ?subclass2 .
            ?subclass1 a s223:Class .
            ?subclass2 a s223:Class .
            ?subclass1 rdfs:subClassOf s223:ConnectionPoint .
            ?subclass2 rdfs:subClassOf s223:ConnectionPoint .
            FILTER(?subclass1 != ?subclass2)
        }
    """ ] .


            

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


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@prefix 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:ConnectionPointShape a sh:NodeShape ;
    sh:rule [ a sh:SPARQLRule ;
            rdfs:comment "Infer the `hasElectricalPhase` value from any connected `Conductor`." ;
            sh:construct """
CONSTRUCT {$this s223:hasElectricalPhase ?phase .}
WHERE {
$this s223:connectsThrough/s223:hasElectricalPhase ?phase .
}
""" ;
            sh:prefixes ns4:model-rules ] ;
    sh:targetClass s223:ConnectionPoint .


            

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


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@prefix 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:ConnectionShape a sh:NodeShape ;
    sh:rule [ a sh:SPARQLRule ;
            rdfs:comment "Infer the `connectsAt` relation using the relation `cnx`." ;
            sh:construct """
CONSTRUCT {$this s223:connectsAt ?thing .}
WHERE {
$this s223:cnx ?thing .
}
""" ;
            sh:prefixes ns4:model-rules ],
        [ a sh:SPARQLRule ;
            rdfs:comment "Infer `cnx` relation using the relation `connectsThrough`." ;
            sh:construct """
CONSTRUCT {$this s223:cnx ?thing .}
WHERE {
$this ^s223:connectsThrough ?thing .
}
""" ;
            sh:prefixes ns4:model-rules ],
        [ a sh:SPARQLRule ;
            rdfs:comment "Infer the `connectsFrom` relation using the relation `connectsAt`." ;
            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 ns4:model-rules ],
        [ a sh:SPARQLRule ;
            rdfs:comment "Infer the `connectsTo` relation using the relation `connectsAt`." ;
            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 ns4:model-rules ],
        [ a sh:SPARQLRule ;
            rdfs:comment "Infer `cnx` relation using the relation `connectsAt`." ;
            sh:construct """
CONSTRUCT {$this s223:cnx ?thing .}
WHERE {
$this s223:connectsAt ?thing .
}
""" ;
            sh:prefixes ns4:model-rules ] ;
    sh:targetClass s223:Connection .


            

URI: http://data.ashrae.org/standard223#Constituent-Ar


@prefix 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:Constituent-Ar a s223:Class,
        s223:Constituent-Ar,
        sh:NodeShape ;
    rdfs:label "Ar" ;
    rdfs:comment "Argon" ;
    rdfs:subClassOf s223:Medium-Constituent .


            

URI: http://data.ashrae.org/standard223#Constituent-CH4


@prefix 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:Constituent-CH4 a s223:Class,
        s223:Constituent-CH4,
        sh:NodeShape ;
    rdfs:label "CH4" ;
    rdfs:comment "Methane" ;
    rdfs:subClassOf s223:Medium-Constituent .


            

URI: http://data.ashrae.org/standard223#Constituent-CO


@prefix 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:Constituent-CO a s223:Class,
        s223:Constituent-CO,
        sh:NodeShape ;
    rdfs:label "CO" ;
    rdfs:comment "Carbon monoxide" ;
    rdfs:subClassOf s223:Medium-Constituent .


            

URI: http://data.ashrae.org/standard223#Constituent-CO2


@prefix 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:Constituent-CO2 a s223:Class,
        s223:Constituent-CO2,
        sh:NodeShape ;
    rdfs:label "CO2" ;
    rdfs:comment "Carbon dioxide" ;
    rdfs:subClassOf s223:Medium-Constituent .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:Constituent-EM a s223:Class,
        s223:Constituent-EM,
        sh:NodeShape ;
    rdfs:label "EM" ;
    doc:subclauses ( s223:EM-Light s223:EM-RF ) ;
    rdfs:comment """This class and its enumerated subclasses represent electromagnetic energy at commonly defined frequency ranges.

: Constituent-EM Enumerations

| Enumeration |
|:-----------|
| `EM-Light` (see {s223:EM-Light}) |
| `EM-Microwave` |
| `EM-RF` (see {s223:EM-RF}) |""" ;
    rdfs:subClassOf s223:Medium-Constituent .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:Constituent-Electricity a s223:Class,
        s223:Constituent-Electricity,
        sh:NodeShape ;
    rdfs:label "Electricity" ;
    doc:subclauses ( s223:Electricity-AC s223:Electricity-DC s223:Electricity-Signal ) ;
    rdfs:comment """This class and its enumerated subclasses represent common forms of electrical energy, including AC, DC, and electrical communication signals.

: Constituent-Electricity Enumerations

| Enumeration |
|:-----------|
| `Electricity-AC` (see {s223:Electricity-AC}) |
| `Electricity-DC` (see {s223:Electricity-DC}) |
| `Electricity-Earth` |
| `Electricity-Neutral` |
| `Electricity-Signal` (see {s223:Electricity-Signal}) |""" ;
    rdfs:subClassOf s223:Medium-Constituent .


            

URI: http://data.ashrae.org/standard223#Constituent-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#> .

s223:Constituent-Glycol a s223:Class,
        s223:Constituent-Glycol,
        sh:NodeShape ;
    rdfs:label "Glycol" ;
    rdfs:comment "`Constituent-Glycol`" ;
    rdfs:subClassOf s223:Medium-Constituent .


            

URI: http://data.ashrae.org/standard223#Constituent-H2O


@prefix 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:Constituent-H2O a s223:Class,
        s223:Constituent-H2O,
        sh:NodeShape ;
    rdfs:label "H2O" ;
    rdfs:comment "Pure water" ;
    rdfs:subClassOf s223:Medium-Constituent .


            

URI: http://data.ashrae.org/standard223#Constituent-H2S


@prefix 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:Constituent-H2S a s223:Class,
        s223:Constituent-H2S,
        sh:NodeShape ;
    rdfs:label "H2S" ;
    rdfs:comment "Hydrogen sulfide" ;
    rdfs:subClassOf s223:Medium-Constituent .


            

URI: http://data.ashrae.org/standard223#Constituent-N2


@prefix 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:Constituent-N2 a s223:Class,
        s223:Constituent-N2,
        sh:NodeShape ;
    rdfs:label "N2" ;
    rdfs:comment "Nitrogen" ;
    rdfs:subClassOf s223:Medium-Constituent .


            

URI: http://data.ashrae.org/standard223#Constituent-NH3


@prefix 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:Constituent-NH3 a s223:Class,
        s223:Constituent-NH3,
        sh:NodeShape ;
    rdfs:label "NH3" ;
    rdfs:comment "Ammonia" ;
    rdfs:subClassOf s223:Medium-Constituent .


            

URI: http://data.ashrae.org/standard223#Constituent-NOX


@prefix 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:Constituent-NOX a s223:Class,
        s223:Constituent-NOX,
        sh:NodeShape ;
    rdfs:label "NOX" ;
    rdfs:comment """This class and its enumerated subclasses represent common Nitrogen Oxides (NOx).

: Constituent-NOX Enumerations

| Enumeration |
|:-----------|
| `NOX-NO` |
| `NOX-NO2` |""" ;
    rdfs:subClassOf s223:Medium-Constituent .


            

URI: http://data.ashrae.org/standard223#Constituent-O2


@prefix 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:Constituent-O2 a s223:Class,
        s223:Constituent-O2,
        sh:NodeShape ;
    rdfs:label "O2" ;
    rdfs:comment "Oxygen" ;
    rdfs:subClassOf s223:Medium-Constituent .


            

URI: http://data.ashrae.org/standard223#Constituent-O3


@prefix 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:Constituent-O3 a s223:Class,
        s223:Constituent-O3,
        sh:NodeShape ;
    rdfs:label "O3" ;
    rdfs:comment "Ozone" ;
    rdfs:subClassOf s223:Medium-Constituent .


            

URI: http://data.ashrae.org/standard223#Constituent-Oil


@prefix 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:Constituent-Oil a s223:Class,
        s223:Constituent-Oil,
        sh:NodeShape ;
    rdfs:label "Oil" ;
    rdfs:comment "Oil as an impurity within some `Mix-Fluid`" ;
    rdfs:subClassOf s223:Medium-Constituent .


            

URI: http://data.ashrae.org/standard223#Constituent-Radon


@prefix 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:Constituent-Radon a s223:Class,
        s223:Constituent-Radon,
        sh:NodeShape ;
    rdfs:label "Radon" ;
    rdfs:comment "Radon" ;
    rdfs:subClassOf s223:Medium-Constituent .


            

URI: http://data.ashrae.org/standard223#Constituent-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:Constituent-Refrigerant a s223:Class,
        s223:Constituent-Refrigerant,
        sh:NodeShape ;
    rdfs:label "Refrigerant" ;
    rdfs:comment """This class and its enumerated subclasses represent commonly used refrigerants. The composition of the refrigerants is defined in ASHRAE Standard 34 and ISO 817.

: Constituent-Refrigerant Enumerations

| Enumeration |
|:-----------|
| `Refrigerant-R-22` |
| `Refrigerant-R-32` |
| `Refrigerant-R-123` |
| `Refrigerant-R-134A` |
| `Refrigerant-R-290` |
| `Refrigerant-R-404A` |
| `Refrigerant-R-407A` |
| `Refrigerant-R-407C` |
| `Refrigerant-R-407F` |
| `Refrigerant-R-410A` |
| `Refrigerant-R-422A` |
| `Refrigerant-R-422C` |
| `Refrigerant-R-422D` |
| `Refrigerant-R-427A` |
| `Refrigerant-R-438A` |
| `Refrigerant-R-444A` |
| `Refrigerant-R-445A` |
| `Refrigerant-R-448A` |
| `Refrigerant-R-449A` |
| `Refrigerant-R-450A` |
| `Refrigerant-R-454A` |
| `Refrigerant-R-454C` |
| `Refrigerant-R-455A` |
| `Refrigerant-R-457A` |
| `Refrigerant-R-459B` |
| `Refrigerant-R-507` |
| `Refrigerant-R-513A` |
| `Refrigerant-R-516A` |
| `Refrigerant-R-600A` |
| `Refrigerant-R-717` |
| `Refrigerant-R-744` |
| `Refrigerant-R-1234yf` |
| `Refrigerant-R-1234ze` |""" ;
    rdfs:subClassOf s223:Medium-Constituent .


            

URI: http://data.ashrae.org/standard223#Constituent-SO2


@prefix 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:Constituent-SO2 a s223:Class,
        s223:Constituent-SO2,
        sh:NodeShape ;
    rdfs:label "SO2" ;
    rdfs:comment "Sulfur dioxide" ;
    rdfs:subClassOf s223:Medium-Constituent .


            

URI: http://data.ashrae.org/standard223#Constituent-VolatileOrganicCompounds


@prefix 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:Constituent-VolatileOrganicCompounds a s223:Class,
        s223:Constituent-VolatileOrganicCompounds,
        sh:NodeShape ;
    rdfs:label "Volatile organic compounds" ;
    rdfs:comment "`Constituent-VolatileOrganicCompounds`" ;
    rdfs:subClassOf s223:Medium-Constituent .


            

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


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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:ContainmentLoopShape a sh:NodeShape ;
    rdfs:label "Containment loop shape" ;
    rdfs:comment "`Equipment` and `PhysicalSpace`s must not contain themselves, directly or indirectly." ;
    sh:message "s223: `Equipment` and `PhysicalSpace`s must not contain themselves, directly or indirectly." ;
    sh:property [ rdfs:comment "`Equipment` and `PhysicalSpace`s must not contain themselves, directly or indirectly." ;
            sh:path s223:hasZone ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "`Equipment` and `PhysicalSpace`s must not contain themselves, directly or indirectly." ;
                    sh:message "s223: Problem with {$this}. `Equipment` and `PhysicalSpace`s must not contain themselves, directly or indirectly." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this
WHERE {
$this s223:contains+ $this .
}
""" ] ] ;
    sh:targetSubjectsOf s223:contains .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:Controller a s223:Class,
        sh:NodeShape ;
    rdfs:label "Controller" ;
    doc:subclauses ( s223:Function s223:executes ) ;
    rdfs:comment "A piece of `Equipment` that regulates the normal operation of other `Equipment` by executing one or more `Function`s." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `Controller` shall be associated with zero or more `Function`s using the relation `executes`." ;
            sh:class s223:Function ;
            sh:message "s223: A `Controller` shall be associated with zero or more `Function`s using the relation `executes`." ;
            sh:path s223:executes ] .


            

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 is specifically used to cool air." ;
    rdfs:subClassOf s223:Coil ;
    sh:property [ rdfs:comment "A `CoolingCoil` shall at least have the role `Role-Cooling`." ;
            sh:message "s223: A `CoolingCoil` shall at least have the role `Role-Cooling`." ;
            sh:path s223:hasRole ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:Role-Cooling ] ] .


            

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


@prefix 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:CoolingCoilShape a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "A `CoolingCoil` must always have the role `Role-Cooling`" ;
            sh:object s223:Role-Cooling ;
            sh:predicate s223:hasRole ;
            sh:subject sh:this ] ;
    sh:targetClass s223:CoolingCoil .


            

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 piece of `Equipment` that uses atmospheric air to cool warm water, generally by direct contact via evaporation." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `CoolingTower` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `CoolingTower` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `CoolingTower` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `CoolingTower` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:CopyMachine a s223:Class,
        sh:NodeShape ;
    rdfs:label "Copy machine" ;
    rdfs:comment "A piece of `Equipment` that processes an input of one or more durable representation(s) of information, typically text and/or graphics and typically on paper, and outputs one or more reproductions of the information for each input, typically on paper." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `CopyMachine` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: A `CopyMachine` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

s223:CorrelatedColorTemperatureSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Correlated color temperature sensor" ;
    rdfs:comment """A `LightSensor` that `observes` a `QuantifiableObservableProperty` that represents a correlated color temperature (CCT) of a
light source, defined as the absolute temperature of a blackbody whose chromaticity most nearly resembles that of the light source.""" ;
    rdfs:subClassOf s223:LightSensor ;
    sh:property [ rdfs:comment "A `CorrelatedColorTemperatureSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `CorrelatedColorTemperature`." ;
            sh:class s223:QuantifiableObservableProperty ;
            sh:message "s223: A `CorrelatedColorTemperatureSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `CorrelatedColorTemperature`." ;
            sh:node [ sh:property [ sh:in ( quantitykind:CorrelatedColorTemperature ) ;
                            sh:path qudt:hasQuantityKind ] ] ;
            sh:path s223:observes ] .


            

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


@prefix 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:DC-12V a s223:Class,
        s223:DC-12V,
        sh:NodeShape ;
    rdfs:label "12 VDC electricity" ;
    s223:hasDCDifferentialVoltage s223:Voltage-12V ;
    rdfs:comment """This class and its enumerated subclasses represent all polarities of 12 volt DC electricity.

: DC-12V Enumerations

| Enumeration |
|:-----------|
| `12V-6V-Neg-6V-Pos` |
| `12V-12V-Neg` |
| `12V-12V-Pos` |""" ;
    rdfs:subClassOf s223:Electricity-DC .


            

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


@prefix 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:DC-24V a s223:Class,
        s223:DC-24V,
        sh:NodeShape ;
    rdfs:label "24 VDC electricity" ;
    s223:hasDCDifferentialVoltage s223:Voltage-24V ;
    rdfs:comment """This class and its enumerated subclasses represent all polarities of 24 volt DC electricity.

: DC-24V Enumerations

| Enumeration |
|:-----------|
| `24V-12V-Neg-12V-Pos` |
| `24V-24V-Neg` |
| `24V-24V-Pos` |""" ;
    rdfs:subClassOf s223:Electricity-DC .


            

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


@prefix 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:DC-380V a s223:Class,
        s223:DC-380V,
        sh:NodeShape ;
    rdfs:label "380 VDC electricity" ;
    s223:hasDCDifferentialVoltage s223:Voltage-380V ;
    rdfs:comment """This class and its enumerated subclasses represent all polarities of 380 volt DC electricity.

: DC-380V Enumerations

| Enumeration |
|:-----------|
| `380V-190V-Neg-190V-Pos` |
| `380V-380V-Neg` |
| `380V-380V-Pos` |""" ;
    rdfs:subClassOf s223:Electricity-DC .


            

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


@prefix 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:DC-48V a s223:Class,
        s223:DC-48V,
        sh:NodeShape ;
    rdfs:label "48 VDC electricity" ;
    s223:hasDCDifferentialVoltage s223:Voltage-48V ;
    rdfs:comment """This class and its enumerated subclasses represent all polarities of 48 volt DC electricity.

: DC-48V Enumerations

| Enumeration |
|:-----------|
| `48V-24V-Neg-24V-Pos` |
| `48V-48V-Neg` |
| `48V-48V-Pos` |""" ;
    rdfs:subClassOf s223:Electricity-DC .


            

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


@prefix 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:DC-5V a s223:Class,
        s223:DC-5V,
        sh:NodeShape ;
    rdfs:label "5 VDC electricity" ;
    s223:hasDCDifferentialVoltage s223:Voltage-5V ;
    rdfs:comment """This class and its enumerated subclasses represent all polarities of 5 volt DC electricity.

: DC-5V Enumerations

| Enumeration |
|:-----------|
| `5V-2.5V-Neg-2.5V-Pos` |
| `5V-5V-Neg` |
| `5V-5V-Pos` |""" ;
    rdfs:subClassOf s223:Electricity-DC .


            

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


@prefix 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:DC-6V a s223:Class,
        s223:DC-6V,
        sh:NodeShape ;
    rdfs:label "6 VDC electricity" ;
    s223:hasDCDifferentialVoltage s223:Voltage-6V ;
    rdfs:comment """This class and its enumerated subclasses represent all polarities of 6 volt DC electricity.

: DC-6V Enumerations

| Enumeration |
|:-----------|
| `6V-3V-Neg-3V-Pos` |
| `6V-6V-Neg` |
| `6V-6V-Pos` |""" ;
    rdfs:subClassOf s223:Electricity-DC .


            

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


@prefix 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:DC-PoE a s223:Class,
        s223:DC-PoE,
        sh:NodeShape ;
    rdfs:label "PoE electricity" ;
    s223:hasDCDifferentialVoltage s223:Voltage-PoE ;
    rdfs:comment """This class and its enumerated subclasses represent standardized types of PoE DC electricity.

: DC-PoE Enumerations

| Enumeration |
|:-----------|
| `PoE-802.3af-1` |
| `PoE-802.3at-2` |
| `PoE-802.3bt-3` |
| `PoE-802.3bt-4` |""" ;
    rdfs:subClassOf s223:Electricity-DC .


            

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 "A piece of `Equipment` inserted into an air distribution system permitting modification of the air resistance of the system and consequently changing the airflow rate or shutting off the airflow." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `Damper` shall have at least one outlet using the medium `Fluid-Air`." ;
            sh:message "s223: A `Damper` shall have at least one outlet using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `Damper` shall have at least one inlet using the medium `Fluid-Air`." ;
            sh:message "s223: A `Damper` shall have at least one inlet using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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 "Weekday" ;
    rdfs:comment """This class and its enumerated subclasses represent weekdays according to the Gregorian calendar, i.e., Monday, Tuesday, Wednesday, Thursday, and Friday.

: DayOfWeek-Weekday Enumerations

| Enumeration |
|:-----------|
| `Weekday-Friday` |
| `Weekday-Monday` |
| `Weekday-Thursday` |
| `Weekday-Tuesday` |
| `Weekday-Wednesday` |""" ;
    rdfs:subClassOf s223:EnumerationKind-DayOfWeek .


            

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 "Weekend" ;
    rdfs:comment """This class and its enumerated subclasses represent weekend days according to the Gregorian calendar, i.e., Saturday and Sunday.

: DayOfWeek-Weekend Enumerations

| Enumeration |
|:-----------|
| `Weekend-Saturday` |
| `Weekend-Sunday` |""" ;
    rdfs:subClassOf s223:EnumerationKind-DayOfWeek .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:Dishwasher a s223:Class,
        sh:NodeShape ;
    rdfs:label "Dishwasher" ;
    rdfs:comment "A piece of `Equipment` that automatically cleans dishware, cookware, and cutlery." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `Dishwasher` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `Dishwasher` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `Dishwasher` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: A `Dishwasher` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `Dishwasher` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `Dishwasher` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix 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:Domain-ConveyanceSystems a s223:Class,
        s223:Domain-ConveyanceSystems,
        sh:NodeShape ;
    rdfs:label "Conveyance systems domain" ;
    rdfs:comment "The domain that represents equipment that moves people or things within a building. Example `Domain-ConveyanceSystems` equipment include `Elevator` and `Escalator`." ;
    rdfs:subClassOf s223:EnumerationKind-Domain .


            

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


@prefix 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:Domain-Electrical a s223:Class,
        s223:Domain-Electrical,
        sh:NodeShape ;
    rdfs:label "Electrical domain" ;
    rdfs:comment "The domain that represents equipment that distributes and monitors electrical power within a building. Example `Domain-Electrical` equipment include `ElectricityBreaker`, `ElectricEnergyConverter`, and `ElectricityMeter`." ;
    rdfs:subClassOf s223:EnumerationKind-Domain .


            

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


@prefix 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:Domain-FireProtection a s223:Class,
        s223:Domain-FireProtection,
        sh:NodeShape ;
    rdfs:label "Fire protection domain" ;
    rdfs:comment "The domain that represents equipment that detect and mitigate the spread of fire within a building. Example `Domain-FireProtection` equipment include smoke detectors, alarms, and emergency public address systems." ;
    rdfs:subClassOf s223:EnumerationKind-Domain .


            

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


@prefix 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:Domain-HVAC a s223:Class,
        s223:Domain-HVAC,
        sh:NodeShape ;
    rdfs:label "HVAC domain" ;
    rdfs:comment "The domain that represents equipment that condition and ventilate spaces within a building. Example `Domain-HVAC` equipment include `Fan`, `Pump`, and `AirHandlingUnit`." ;
    rdfs:subClassOf s223:EnumerationKind-Domain .


            

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


@prefix 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:Domain-Lighting a s223:Class,
        s223:Domain-Lighting,
        sh:NodeShape ;
    rdfs:label "Lighting domain" ;
    rdfs:comment "The domain that represents equipment that illuminate and manage the distribution of light within or outside of a building. Example `Domain-Lighting` equipment include `Luminaire`, `LightSensor`, and `WindowShade`." ;
    rdfs:subClassOf s223:EnumerationKind-Domain .


            

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


@prefix 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:Domain-Networking a s223:Class,
        s223:Domain-Networking,
        sh:NodeShape ;
    rdfs:label "Networking domain" ;
    rdfs:comment "The domain that represents equipment that distributes and manages the flow of communication signals within a building. Example `Domain-Networking` equipment include `EthernetSwitch` and `PowerOverEthernetSwitch`" ;
    rdfs:subClassOf s223:EnumerationKind-Domain .


            

URI: http://data.ashrae.org/standard223#Domain-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:Domain-Occupancy a s223:Class,
        s223:Domain-Occupancy,
        sh:NodeShape ;
    rdfs:label "Occupancy domain" ;
    rdfs:comment "The domain that represents equipment that determine whether and how many people are moving or present within a building. Example `Domain-Occupancy` equipment include `OccupantMotionSensor`, `OccupantPresenceSensor` and `OccupantCountSensor`" ;
    rdfs:subClassOf s223:EnumerationKind-Domain .


            

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


@prefix 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:Domain-PhysicalSecurity a s223:Class,
        s223:Domain-PhysicalSecurity,
        sh:NodeShape ;
    rdfs:label "Physical security domain" ;
    rdfs:comment "The domain that represents equipment that control and monitor physical access to spaces within or outside of a building. Example `Domain-PhysicalSecurity` equipment include cameras, keycard sensors, and biometric scanners." ;
    rdfs:subClassOf s223:EnumerationKind-Domain .


            

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


@prefix 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:Domain-Plumbing a s223:Class,
        s223:Domain-Plumbing,
        sh:NodeShape ;
    rdfs:label "Plumbing domain" ;
    rdfs:comment "The domain that represents equipment that distributes, holds, removes and monitors water within or outside of a building. Example `Domain-Plumbing` equipment include `Faucet`, `Sink`, and `FlushToilet`." ;
    rdfs:subClassOf s223:EnumerationKind-Domain .


            

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


@prefix 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:Domain-Refrigeration a s223:Class,
        s223:Domain-Refrigeration,
        sh:NodeShape ;
    rdfs:label "Refrigeration domain" ;
    rdfs:comment "The domain that represents equipment that maintain internal temperatures below the surrounding ambient temperature with a building. Example `Domain-Refrigeration` equipment include `Refrigerator` and `Freezer`" ;
    rdfs:subClassOf s223:EnumerationKind-Domain .


            

URI: http://data.ashrae.org/standard223#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#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:DomainSpace a s223:Class,
        sh:NodeShape ;
    rdfs:label "Domain space" ;
    rdfs:comment "A portion of a `PhysicalSpace` that is affected by a building service associated with a domain. `DomainSpace`s may represent an entire `PhysicalSpace` or any portion of a `PhysicalSpace` (see {s223:PhysicalSpace}). Multiple `DomainSpace`s of the same domain may overlap, and `DomainSpace`s of different domains may also overlap, but `DomainSpace`s can not overlap multiple `PhysicalSpace`s. `DomainSpace`s may be grouped into `Zone`s using the relation `hasDomainSpace` (see {s223:hasDomainSpace})." ;
    rdfs:subClassOf s223:Connectable ;
    sh:property [ rdfs:comment "A `DomainSpace` must be enclosed by a `PhysicalSpace`." ;
            sh:message "s223: 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` shall be associated with exactly one `EnumerationKind-Domain` using the relation `hasDomain`." ;
            sh:class s223:EnumerationKind-Domain ;
            sh:maxCount 1 ;
            sh:message "s223: A `DomainSpace` shall be associated with exactly one `EnumerationKind-Domain` using the relation `hasDomain`." ;
            sh:minCount 1 ;
            sh:path s223:hasDomain ] .


            

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


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@prefix 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:DomainSpaceShape a sh:NodeShape ;
    sh:rule [ a sh:SPARQLRule ;
            rdfs:comment "Infer a `hasDomain` relation by checking any enclosing `Zone` to determine the domain." ;
            sh:construct """
CONSTRUCT {$this s223:hasDomain ?domain .}
WHERE {
$this ^s223:hasDomainSpace/s223:hasDomain ?domain .
}
""" ;
            sh:prefixes ns4:model-rules ] ;
    sh:targetClass s223:DomainSpace .


            

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 piece of `Equipment` consisting of 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 `Fluid-Air`." ;
            sh:message "s223: A `Door` shall have at least two bidirectional connection points using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 2 ;
            sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:Drain a s223:Class,
        sh:NodeShape ;
    rdfs:label "Drain" ;
    rdfs:comment "A `Valve` that allows, regulates, or stops the flow of water from a `Sink`, `Shower`, `Bathtub`, or other plumbing service equipment into a plumbing drainage system that typically carries the mixture to a sewer system or septic tank." ;
    rdfs:subClassOf s223:Valve ;
    sh:property [ rdfs:comment "A `Drain` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `Drain` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `Drain` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `Drain` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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 terminal" ;
    rdfs:comment "A `TerminalUnit` that mixes two independent sources of primary air." ;
    rdfs:subClassOf s223:TerminalUnit ;
    sh:property [ rdfs:comment "A `DualDuctTerminal` shall have at least two inlets using the medium `Fluid-Air`." ;
            sh:message "s223: A `DualDuctTerminal` shall have at least two inlets using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 2 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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 `Connection` that is used to transport air such as supply, return, and exhaust in HVAC (Heating, Ventilation, and Air Conditioning) systems." ;
    rdfs:subClassOf s223:Connection .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

s223:DuvSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Duv sensor" ;
    rdfs:comment """A `LightSensor` that `observes` a `QuantifiableObservableProperty` that represents a Duv of a light source, defined as the
distance between the chromaticity of the light source and a blackbody radiator of equal correlated color temperature (CCT).""" ;
    rdfs:subClassOf s223:LightSensor ;
    sh:property [ rdfs:comment "A `DuvSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Duv`." ;
            sh:class s223:QuantifiableObservableProperty ;
            sh:message "s223: A `DuvSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Duv`." ;
            sh:node [ sh:property [ sh:in ( quantitykind:Duv ) ;
                            sh:path qudt:hasQuantityKind ] ] ;
            sh:path s223:observes ] .


            

URI: http://data.ashrae.org/standard223#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#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:EM a s223:Class,
        sh:NodeShape ;
    rdfs:label "EM connection" ;
    rdfs:comment "A type of `Connection` that represents air, a vacuum, outer space, or a similar environment used to convey electromagnetic energy (i.e., `Constituent-EM`), without the use of a solid materials such as fiber optic cables or other such `Waveguide`s." ;
    rdfs:subClassOf s223:Connection ;
    sh:property [ rdfs:comment "An `EM` shall be associated with exactly one `Constituent-EM` using the relation `hasMedium`." ;
            sh:class s223:Constituent-EM ;
            sh:maxCount 1 ;
            sh:message "s223: An `EM` shall be associated with exactly one `Constituent-EM` using the relation `hasMedium`." ;
            sh:minCount 1 ;
            sh:path s223:hasMedium ] .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:EM-Light a s223:Class,
        s223:EM-Light,
        sh:NodeShape ;
    rdfs:label "Light" ;
    doc:subclauses ( s223:Light-Infrared ) ;
    rdfs:comment """This class and its enumerated subclasses represent light at commonly defined frequency or wavelength ranges.

: EM-Light Enumerations

| Enumeration |
|:-----------|
| `Light-Infrared` (see {s223:Light-Infrared}) |
| `Light-Ultraviolet` |
| `Light-Visible` |""" ;
    rdfs:subClassOf s223:Constituent-EM .


            

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


@prefix 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-Microwave a s223:Class,
        s223:EM-Microwave,
        sh:NodeShape ;
    rdfs:label "Microwave" ;
    rdfs:comment "`EM-Microwave`" ;
    rdfs:subClassOf s223:Constituent-EM .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:EM-RF a s223:Class,
        s223:EM-RF,
        sh:NodeShape ;
    rdfs:label "RF" ;
    doc:subclauses ( s223:RF-Signal ) ;
    rdfs:comment """
This class and its enumerated subclasses represent the use electromagnetic energy in the radio frequency range for multiple purposes, including communication signals.

: EM-RF Enumerations

| Enumeration |
|:-----------|
| `RF-Signal` (see {s223:RF-Signal}) |""" ;
    rdfs:subClassOf s223:Constituent-EM .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:ElectricClothesDryer a s223:Class,
        sh:NodeShape ;
    rdfs:label "Electric clothes dryer" ;
    rdfs:comment "A piece of `Equipment` that automatically removes moisture from a load of textiles (e.g., clothing, bedding), typically after they are washed in a `ClothesWasher`." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "An `ElectricClothesDryer` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: An `ElectricClothesDryer` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:ElectricCooktop a s223:Class,
        sh:NodeShape ;
    rdfs:label "Electric cooktop" ;
    rdfs:comment "A piece of `Equipment` with a flat surface containing one or more heat sources designed for cooking with pots and pans." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "An `ElectricCooktop` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: An `ElectricCooktop` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

s223:ElectricCurrentSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Electric current sensor" ;
    rdfs:comment "A `Sensor` that `observes` a `QuantifiableObservableProperty` that represents a measure of electric current." ;
    rdfs:subClassOf s223:Sensor ;
    sh:property [ rdfs:comment "An `ElectricCurrentSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `ElectricCurrent`." ;
            sh:class s223:QuantifiableObservableProperty ;
            sh:message "s223: An `ElectricCurrentSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `ElectricCurrent`." ;
            sh:node [ sh:property [ sh:in ( quantitykind:ElectricCurrent ) ;
                            sh:path qudt:hasQuantityKind ] ] ;
            sh:path s223:observes ] .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:ElectricEnergyConverter a s223:Class,
        sh:NodeShape ;
    rdfs:label "Electric energy converter" ;
    doc:subclauses ( s223:ElectricEnergyDCDCConverter s223:ElectricEnergyInverter s223:ElectricEnergyTransformer ) ;
    rdfs:comment "A piece of `Equipment` that converts one form of electric power to another form of electric power." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "An `ElectricEnergyConverter` shall have at least two connection points using the medium `Constituent-Electricity`." ;
            sh:message "s223: An `ElectricEnergyConverter` shall have at least two connection points using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 2 ;
            sh:qualifiedValueShape [ sh:class s223:ConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:ElectricEnergyDCDCConverter a s223:Class,
        sh:NodeShape ;
    rdfs:label "DC-DC converter" ;
    rdfs:comment "An `ElectricEnergyConverter` that transforms direct current (DC) electric power from one voltage to another voltage." ;
    rdfs:subClassOf s223:ElectricEnergyConverter ;
    sh:property [ rdfs:comment "An `ElectricEnergyDCDCConverter` shall have at least two connection points using the medium `Electricity-DC`." ;
            sh:message "s223: An `ElectricEnergyDCDCConverter` shall have at least two connection points using the medium `Electricity-DC`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 2 ;
            sh:qualifiedValueShape [ sh:class s223:ConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Electricity-DC ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:ElectricEnergyInverter a s223:Class,
        sh:NodeShape ;
    rdfs:label "Electric energy inverter" ;
    rdfs:comment "An `ElectricEnergyConverter` that tranforms direct current (DC) electric power to alternating current (AC) electric power, or vice versa." ;
    rdfs:subClassOf s223:ElectricEnergyConverter ;
    sh:property [ rdfs:comment "An `ElectricEnergyInverter` shall have at least one connection point using the medium `Electricity-AC`." ;
            sh:message "s223: An `ElectricEnergyInverter` shall have at least one connection point using the medium `Electricity-AC`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:ConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Electricity-AC ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "An `ElectricEnergyInverter` shall have at least one connection point using the medium `Electricity-DC`." ;
            sh:message "s223: An `ElectricEnergyInverter` shall have at least one connection point using the medium `Electricity-DC`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:ConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Electricity-DC ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:ElectricEnergyTransformer a s223:Class,
        sh:NodeShape ;
    rdfs:label "Electric energy transformer" ;
    rdfs:comment "An `ElectricEnergyConverter` that transforms alternating current (AC) electric power from one voltage to another voltage." ;
    rdfs:subClassOf s223:ElectricEnergyConverter ;
    sh:property [ rdfs:comment "An `ElectricEnergyTransformer` shall have at least two connection points using the medium `Electricity-AC`." ;
            sh:message "s223: An `ElectricEnergyTransformer` shall have at least two connection points using the medium `Electricity-AC`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 2 ;
            sh:qualifiedValueShape [ sh:class s223:ConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Electricity-AC ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:ElectricOven a s223:Class,
        sh:NodeShape ;
    rdfs:label "Electric oven" ;
    rdfs:comment "A piece of `Equipment` with an enclosed chamber designed for baking, roasting, and other cooking methods that rely on circulating heat." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "An `ElectricOven` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: An `ElectricOven` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@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:ElectricResistanceElement a s223:Class,
        sh:NodeShape ;
    rdfs:label "Electric resistance element" ;
    rdfs:comment """A piece of `Equipment` that provides electrical resistance heating, for example an electric heating coil within a Fan Coil Unit.
It shall have one electricity `InletConnectionPoint`, and fit one of the following two patterns:

- Pattern 1: An `ElectricResistanceElement` shall have exactly one Bidirectional `ConnectionPoint` using the medium `Mix-Fluid`.
- Pattern 2: An `ElectricResistanceElement` shall have one inlet and one outlet using the medium `Mix-Fluid`.""" ;
    rdfs:subClassOf s223:Equipment ;
    sh:message "s223: An `ElectricResistanceElement` shall have one electricity `InletConnectionPoint`, plus fit one of the following two patterns: Pattern 1: An `ElectricResistanceElement` shall have exactly one Bidirectional `ConnectionPoint` using the medium `Mix-Fluid`. Pattern 2: An `ElectricResistanceElement` shall have one inlet and one outlet using the medium `Mix-Fluid`." ;
    sh:property [ rdfs:comment "An `ElectricResistanceElement` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: An `ElectricResistanceElement` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "An `ElectricResistanceElement` shall at least have the role `Role-Heating`." ;
            sh:message "s223: An `ElectricResistanceElement` shall at least have the role `Role-Heating`." ;
            sh:path s223:hasRole ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:Role-Heating ] ] ;
    sh:xone ( [ sh:property [ rdfs:comment "Pattern 1: An `ElectricResistanceElement` shall have exactly one bidirectional connection point using the medium `Mix-Fluid`." ;
                        sh:message "s223: Pattern 1: An `ElectricResistanceElement` shall have exactly one bidirectional connection point using the medium `Mix-Fluid`." ;
                        sh:path s223:hasConnectionPoint ;
                        sh:qualifiedMaxCount 1 ;
                        sh:qualifiedMinCount 1 ;
                        sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
                                sh:node [ sh:property [ sh:class s223:Mix-Fluid ;
                                                sh:path s223:hasMedium ] ] ] ;
                        sh:qualifiedValueShapesDisjoint true ] ] [ sh:property [ rdfs:comment "Pattern 2: An `ElectricResistanceElement` shall have exactly one inlet using the medium `Mix-Fluid`." ;
                        sh:message "s223: Pattern 2: An `ElectricResistanceElement` shall have exactly one inlet using the medium `Mix-Fluid`." ;
                        sh:path s223:hasConnectionPoint ;
                        sh:qualifiedMaxCount 1 ;
                        sh:qualifiedMinCount 1 ;
                        sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                                sh:node [ sh:property [ sh:class s223:Mix-Fluid ;
                                                sh:path s223:hasMedium ] ] ] ;
                        sh:qualifiedValueShapesDisjoint true ],
                    [ rdfs:comment "Pattern 2: An `ElectricResistanceElement` shall have exactly one outlet using the medium `Mix-Fluid`." ;
                        sh:message "s223: Pattern 2: An `ElectricResistanceElement` shall have exactly one outlet using the medium `Mix-Fluid`." ;
                        sh:path s223:hasConnectionPoint ;
                        sh:qualifiedMaxCount 1 ;
                        sh:qualifiedMinCount 1 ;
                        sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                                sh:node [ sh:property [ sh:class s223:Mix-Fluid ;
                                                sh:path s223:hasMedium ] ] ] ;
                        sh:qualifiedValueShapesDisjoint true ] ] ) .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:ElectricWaterDispenser a s223:Class,
        sh:NodeShape ;
    rdfs:label "Electric water dispenser" ;
    rdfs:comment "A piece of `Equipment` that dispenses water and optionally heats and/or cools the water prior to dispensing." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "An `ElectricWaterDispenser` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: An `ElectricWaterDispenser` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "An `ElectricWaterDispenser` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:message "s223: An `ElectricWaterDispenser` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix 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:ElectricalPhaseIdentifier-A a s223:Class,
        s223:ElectricalPhaseIdentifier-A,
        sh:NodeShape ;
    rdfs:label "Electrical phase identifier A" ;
    rdfs:comment "ElectricalPhaseIdentifier-A" ;
    rdfs:subClassOf s223:EnumerationKind-ElectricalPhaseIdentifier .


            

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


@prefix 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:ElectricalPhaseIdentifier-AB a s223:Class,
        s223:ElectricalPhaseIdentifier-AB,
        sh:NodeShape ;
    rdfs:label "Electrical phase identifier AB" ;
    rdfs:comment "ElectricalPhaseIdentifier-AB" ;
    rdfs:subClassOf s223:EnumerationKind-ElectricalPhaseIdentifier .


            

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


@prefix 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:ElectricalPhaseIdentifier-ABC a s223:Class,
        s223:ElectricalPhaseIdentifier-ABC,
        sh:NodeShape ;
    rdfs:label "Electrical phase identifier ABC" ;
    rdfs:comment "ElectricalPhaseIdentifier-ABC" ;
    rdfs:subClassOf s223:EnumerationKind-ElectricalPhaseIdentifier .


            

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


@prefix 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:ElectricalPhaseIdentifier-B a s223:Class,
        s223:ElectricalPhaseIdentifier-B,
        sh:NodeShape ;
    rdfs:label "Electrical phase identifier B" ;
    rdfs:comment "ElectricalPhaseIdentifier-B" ;
    rdfs:subClassOf s223:EnumerationKind-ElectricalPhaseIdentifier .


            

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


@prefix 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:ElectricalPhaseIdentifier-BC a s223:Class,
        s223:ElectricalPhaseIdentifier-BC,
        sh:NodeShape ;
    rdfs:label "Electrical phase identifier BC" ;
    rdfs:comment "ElectricalPhaseIdentifier-BC" ;
    rdfs:subClassOf s223:EnumerationKind-ElectricalPhaseIdentifier .


            

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


@prefix 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:ElectricalPhaseIdentifier-C a s223:Class,
        s223:ElectricalPhaseIdentifier-C,
        sh:NodeShape ;
    rdfs:label "Electrical phase identifier C" ;
    rdfs:comment "ElectricalPhaseIdentifier-C" ;
    rdfs:subClassOf s223:EnumerationKind-ElectricalPhaseIdentifier .


            

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


@prefix 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:ElectricalPhaseIdentifier-CA a s223:Class,
        s223:ElectricalPhaseIdentifier-CA,
        sh:NodeShape ;
    rdfs:label "Electrical phase identifier CA" ;
    rdfs:comment "ElectricalPhaseIdentifier-CA" ;
    rdfs:subClassOf s223:EnumerationKind-ElectricalPhaseIdentifier .


            

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


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@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 "AC electricity" ;
    s223:hasFrequency s223:Numerical-Frequency ;
    s223:hasNumberOfElectricalPhases s223:Numerical-NumberOfElectricalPhases ;
    doc:subclauses ( pub:electricalwiringv2-p1 pub:electricalwiringv2-p2 pub:electricalwiringv2-p3 pub:electricalwiringv2-p4 pub:electricalwiringv2-p5 pub:electricalwiringv2-p6 pub:electricalwiringv2-p7 s223:hasACLineLineVoltage s223:hasACLineNeutralVoltage s223:hasFrequency s223:hasNumberOfElectricalPhases ) ;
    rdfs:comment """This class and its enumerated subclasses represent common AC electricity services.

: Electricity-AC Enumerations

| Enumeration |
|:-----------|
| `AC-24VLN-1Ph-50Hz` |
| `AC-24VLN-1Ph-60Hz` |
| `AC-110VLN-1Ph-50Hz` |
| `AC-120VLN-1Ph-60Hz` |
| `AC-127VLN-1Ph-50Hz` |
| `AC-139VLN-1Ph-50Hz` |
| `AC-190VLL-1Ph-50Hz` |
| `AC-190VLL-3Ph-50Hz` |
| `AC-190VLL-110VLN-1Ph-50Hz` |
| `AC-190VLL-110VLN-3Ph-50Hz` |
| `AC-208VLL-1Ph-60Hz` |
| `AC-208VLL-3Ph-60Hz` |
| `AC-208VLL-120VLN-1Ph-60Hz` |
| `AC-208VLL-120VLN-3Ph-60Hz` |
| `AC-208VLN-1Ph-60Hz` |
| `AC-219VLN-1Ph-60Hz` |
| `AC-220VLL-1Ph-50Hz` |
| `AC-220VLL-3Ph-50Hz` |
| `AC-220VLL-127VLN-1Ph-50Hz` |
| `AC-220VLL-127VLN-3Ph-50Hz` |
| `AC-230VLN-1Ph-50Hz` |
| `AC-240VLL-1Ph-50Hz` |
| `AC-240VLL-1Ph-60Hz` |
| `AC-240VLL-3Ph-50Hz` |
| `AC-240VLL-3Ph-60Hz` |
| `AC-240VLL-120VLN-1Ph-60Hz` |
| `AC-240VLL-139VLN-1Ph-50Hz` |
| `AC-240VLL-139VLN-3Ph-50Hz` |
| `AC-240VLL-208VLN-120VLN-1Ph-60Hz` |
| `AC-240VLL-208VLN-120VLN-3Ph-60Hz` |
| `AC-240VLN-1Ph-50Hz` |
| `AC-277VLN-1Ph-60Hz` |
| `AC-347VLN-1Ph-60Hz` |
| `AC-380VLL-1Ph-60Hz` |
| `AC-380VLL-3Ph-60Hz` |
| `AC-380VLL-219VLN-1Ph-60Hz` |
| `AC-380VLL-219VLN-3Ph-60Hz` |
| `AC-400VLL-1Ph-50Hz` |
| `AC-400VLL-3Ph-50Hz` |
| `AC-400VLL-230VLN-1Ph-50Hz` |
| `AC-400VLL-230VLN-3Ph-50Hz` |
| `AC-415VLL-1Ph-50Hz` |
| `AC-415VLL-3Ph-50Hz` |
| `AC-415VLL-240VLN-1Ph-50Hz` |
| `AC-415VLL-240VLN-3Ph-50Hz` |
| `AC-480VLL-1Ph-60Hz` |
| `AC-480VLL-3Ph-60Hz` |
| `AC-480VLL-277VLN-1Ph-60Hz` |
| `AC-480VLL-277VLN-3Ph-60Hz` |
| `AC-600VLL-1Ph-60Hz` |
| `AC-600VLL-3Ph-60Hz` |
| `AC-600VLL-347VLN-1Ph-60Hz` |
| `AC-600VLL-347VLN-3Ph-60Hz` |
| `AC-1730VLN-1Ph-60Hz` |
| `AC-1900VLN-1Ph-60Hz` |
| `AC-2400VLN-1Ph-60Hz` |
| `AC-3000VLL-1Ph-60Hz` |
| `AC-3000VLL-3Ph-60Hz` |
| `AC-3000VLL-1730VLN-1Ph-60Hz` |
| `AC-3000VLL-1730VLN-3Ph-60Hz` |
| `AC-3300VLL-1Ph-60Hz` |
| `AC-3300VLL-3Ph-60Hz` |
| `AC-3300VLL-1900VLN-1Ph-60Hz` |
| `AC-3300VLL-1900VLN-3Ph-60Hz` |
| `AC-3460VLN-1Ph-60Hz` |
| `AC-3810VLN-1Ph-60Hz` |
| `AC-4160VLL-1Ph-60Hz` |
| `AC-4160VLL-3Ph-60Hz` |
| `AC-4160VLL-2400VLN-1Ph-60Hz` |
| `AC-4160VLL-2400VLN-3Ph-60Hz` |
| `AC-5770VLN-1Ph-60Hz` |
| `AC-6000VLL-1Ph-60Hz` |
| `AC-6000VLL-3Ph-60Hz` |
| `AC-6000VLL-3460VLN-1Ph-60Hz` |
| `AC-6000VLL-3460VLN-3Ph-60Hz` |
| `AC-6600VLL-1Ph-60Hz` |
| `AC-6600VLL-3Ph-60Hz` |
| `AC-6600VLL-3810VLN-1Ph-60Hz` |
| `AC-6600VLL-3810VLN-3Ph-60Hz` |
| `AC-10000VLL-1Ph-60Hz` |
| `AC-10000VLL-3Ph-60Hz` |
| `AC-10000VLL-5770VLN-1Ph-60Hz` |
| `AC-10000VLL-5770VLN-3Ph-60Hz` |""" ;
    rdfs:subClassOf s223:Constituent-Electricity ;
    sh:property [ rdfs:comment "An `Electricity-AC` shall be associated with zero or more `Numerical-Voltage`s using the relation `hasACLineLineVoltage`." ;
            sh:class s223:Numerical-Voltage ;
            sh:message "s223: An `Electricity-AC` shall be associated with zero or more `Numerical-Voltage`s using the relation `hasACLineLineVoltage`." ;
            sh:path s223:hasACLineLineVoltage ],
        [ rdfs:comment "An `Electricity-AC` shall be associated with at least one `Numerical-NumberOfElectricalPhases` using the relation `hasNumberOfElectricalPhases`." ;
            sh:class s223:Numerical-NumberOfElectricalPhases ;
            sh:message "s223: An `Electricity-AC` shall be associated with at least one `Numerical-NumberOfElectricalPhases` using the relation `hasNumberOfElectricalPhases`." ;
            sh:minCount 1 ;
            sh:path s223:hasNumberOfElectricalPhases ],
        [ rdfs:comment "An `Electricity-AC` shall be associated with zero or more `Numerical-Voltage`s using the relation `hasACLineNeutralVoltage`." ;
            sh:class s223:Numerical-Voltage ;
            sh:message "s223: An `Electricity-AC` shall be associated with zero or more `Numerical-Voltage`s using the relation `hasACLineNeutralVoltage`." ;
            sh:path s223:hasACLineNeutralVoltage ],
        [ rdfs:comment "An `Electricity-AC` shall be associated with at least one `Numerical-Frequency` using the relation `hasFrequency`." ;
            sh:class s223:Numerical-Frequency ;
            sh:message "s223: An `Electricity-AC` shall be associated with at least one `Numerical-Frequency` using the relation `hasFrequency`." ;
            sh:minCount 1 ;
            sh:path s223:hasFrequency ] .


            

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


@prefix doc: <http://sample.org/doc#> .
@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 "DC electricity" ;
    s223:hasDCDifferentialVoltage s223:Numerical-Voltage ;
    doc:subclauses ( s223:hasDCDifferentialVoltage s223:hasDCPositiveVoltage s223:hasDCNegativeVoltage s223:hasDCZeroVoltage s223:DC-12V s223:DC-24V s223:DC-380V s223:DC-48V s223:DC-5V s223:DC-6V s223:DC-PoE ) ;
    rdfs:comment """This class and its enumerated subclasses represent common DC electricity services.

: Electricity-DC Enumerations

| Enumeration |
|:-----------|
| `DC-5V` |
| `DC-6V` |
| `DC-12V` |
| `DC-24V` |
| `DC-48V` |
| `DC-380V` |
| `DC-PoE` |""" ;
    rdfs:subClassOf s223:Constituent-Electricity ;
    sh:property [ rdfs:comment "An `Electricity-DC` shall be associated with zero or more `Voltage-0V`s using the relation `hasDCZeroVoltage`." ;
            sh:class s223:Voltage-0V ;
            sh:message "s223: An `Electricity-DC` shall be associated with zero or more `Voltage-0V`s using the relation `hasDCZeroVoltage`." ;
            sh:path s223:hasDCZeroVoltage ],
        [ rdfs:comment "An `Electricity-DC` shall be associated with zero or more `Numerical-Voltage`s using the relation `hasDCNegativeVoltage`." ;
            sh:class s223:Numerical-Voltage ;
            sh:message "s223: An `Electricity-DC` shall be associated with zero or more `Numerical-Voltage`s using the relation `hasDCNegativeVoltage`." ;
            sh:path s223:hasDCNegativeVoltage ],
        [ rdfs:comment "An `Electricity-DC` shall be associated with at least one `Numerical-Voltage` using the relation `hasDCDifferentialVoltage`." ;
            sh:class s223:Numerical-Voltage ;
            sh:message "s223: An `Electricity-DC` shall be associated with at least one `Numerical-Voltage` using the relation `hasDCDifferentialVoltage`." ;
            sh:minCount 1 ;
            sh:path s223:hasDCDifferentialVoltage ],
        [ rdfs:comment "An `Electricity-DC` shall be associated with zero or more `Numerical-Voltage`s using the relation `hasDCPositiveVoltage`." ;
            sh:class s223:Numerical-Voltage ;
            sh:message "s223: An `Electricity-DC` shall be associated with zero or more `Numerical-Voltage`s using the relation `hasDCPositiveVoltage`." ;
            sh:path s223:hasDCPositiveVoltage ] .


            

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


@prefix 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-Earth a s223:Class,
        s223:Electricity-Earth,
        sh:NodeShape ;
    rdfs:label "Earth" ;
    rdfs:comment "`Electricity-Earth`" ;
    rdfs:subClassOf s223:Constituent-Electricity .


            

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


@prefix 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-Neutral a s223:Class,
        s223:Electricity-Neutral,
        sh:NodeShape ;
    rdfs:label "Neutral" ;
    rdfs:comment "`Electricity-Neutral`" ;
    rdfs:subClassOf s223:Constituent-Electricity .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:Electricity-Signal a s223:Class,
        s223:Electricity-Signal,
        sh:NodeShape ;
    rdfs:label "Electrical signal" ;
    doc:subclauses ( s223:Signal-WiredEthernet s223:Signal-Modulated ) ;
    rdfs:comment """This class and its enumerated subclasses represent the use of electricity for creating communication signals and common communication protocols.

: Electricity-Signal Enumerations

| Enumeration |
|:-----------|
| `Signal-EIA485` |
| `Signal-IEC14908` |
| `Signal-Modulated` (see {s223:Signal-Modulated}) |
| `Signal-USB` |
| `Signal-WiredEthernet` (see {s223:Signal-WiredEthernet}) |""" ;
    rdfs:subClassOf s223:Constituent-Electricity .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:ElectricityBreaker a s223:Class,
        sh:NodeShape ;
    rdfs:label "Electricity breaker" ;
    rdfs:comment "A piece of `Equipment` that automatically opens an electric circuit automatically at a predetermined overcurrent, so as to prevent damage to the circuit, the equipment connected to the circuit, and the building containing the circuit." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "An `ElectricityBreaker` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: An `ElectricityBreaker` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "An `ElectricityBreaker` shall have at least one outlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: An `ElectricityBreaker` shall have at least one outlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@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:ElectricityMeter a s223:Class,
        sh:NodeShape ;
    rdfs:label "Electricity meter" ;
    rdfs:comment """A piece of `Equipment` that contains at least one `VoltageSensor` and one `ElectricCurrentSensor`, and reports one or more
properties of electricity. Example reported properties include the following `QuantityKind`s: `Voltage`, `ElectricCurrent`, `ActiveEnergy`,
`ActivePower`, `ReactivePower`, `ApparentPower`, `PowerFactor`, and `Frequency` with unit Hertz. An `ElectricityMeter` may optionally contain a `Function` that represents the mathematical calculations of the reported properties of electricity.""" ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "An `ElectricityMeter` shall contain at least one `ElectricCurrentSensor`." ;
            sh:message "s223: An `ElectricityMeter` shall contain at least one `ElectricCurrentSensor`." ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:ElectricCurrentSensor ] ;
            sh:qualifiedValueShapesDisjoint true ],
        [ rdfs:comment "The medium observed by the sensors contained by an `ElectricityMeter` shall be a `Constituent-Electricity`." ;
            sh:class s223:Constituent-Electricity ;
            sh:message "s223: The medium observed by the sensors contained by an `ElectricityMeter` shall be a `Constituent-Electricity`." ;
            sh:minCount 1 ;
            sh:path ( s223:contains s223:hasObservationLocation s223:hasMedium ) ],
        [ rdfs:comment "The observation location of the sensors contained by an `ElectricityMeter` shall be either a `Connection` or a `ConnectionPoint`." ;
            sh:message "s223: The observation location of the sensors contained by an `ElectricityMeter` shall be either a `Connection` or a `ConnectionPoint`." ;
            sh:minCount 1 ;
            sh:or ( [ sh:class s223:Connection ] [ sh:class s223:ConnectionPoint ] ) ;
            sh:path ( s223:contains s223:hasObservationLocation ) ],
        [ rdfs:comment "An `ElectricityMeter` shall contain at least one `VoltageSensor`." ;
            sh:message "s223: An `ElectricityMeter` shall contain at least one `VoltageSensor`." ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:VoltageSensor ] ;
            sh:qualifiedValueShapesDisjoint true ] .


            

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


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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:ElectricityMeterSensorLocationShape a sh:NodeShape ;
    rdfs:comment "An `ElectricityMeter` shall contain a `VoltageSensor` and `ElectricCurrentSensor` with the same observation location." ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "An `ElectricityMeter` shall contain a `VoltageSensor` and `ElectricCurrentSensor` with the same observation location." ;
            sh:message "s223: {$this} does not contain a `VoltageSensor` and `ElectricCurrentSensor` with a shared observation location." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this
WHERE {
  FILTER NOT EXISTS {
    $this s223:contains ?voltageSensor .
    $this s223:contains ?currentSensor .
    ?voltageSensor a/rdfs:subClassOf* s223:VoltageSensor ;
                   s223:hasObservationLocation ?location .
    ?currentSensor a/rdfs:subClassOf* s223:ElectricCurrentSensor ;
                   s223:hasObservationLocation ?location .
  }
}
""" ] ;
    sh:targetClass s223:ElectricityMeter .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:ElectricityOutlet a s223:Class,
        sh:NodeShape ;
    rdfs:label "Electricity outlet" ;
    rdfs:comment "A piece of `Equipment` that contains one or more receptacles for connecting electrical equipment to electrical power, typically via a plug and cord. Not to be confused with an `OutletConnectionPoint` with the medium `Constituent-Electricity`." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "An `ElectricityOutlet` shall have at least one outlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: An `ElectricityOutlet` shall have at least one outlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "An `ElectricityOutlet` shall have exactly one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: An `ElectricityOutlet` shall have exactly one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMaxCount 1 ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:ElectronicDisplay a s223:Class,
        sh:NodeShape ;
    rdfs:label "Electronic display" ;
    doc:subclauses ( s223:Monitor s223:Television ) ;
    rdfs:comment "A piece of `Equipment` that receives an input electrical signal and outputs information, typically text and/or graphics, in a visual form." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ sh:message "s223: An `ElectronicDisplay` shall receive an `Electricity-Signal` or `Mix-PowerAndSignal` through an inlet or bidirectional connection point." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:or ( [ sh:class s223:Electricity-Signal ] [ sh:class s223:Mix-PowerAndSignal ] ) ;
                                    sh:path s223:hasMedium ] ] ;
                    sh:or ( [ sh:class s223:InletConnectionPoint ] [ sh:class s223:BidirectionalConnectionPoint ] ) ] ],
        [ sh:message "s223: An `ElectronicDisplay` shall receive electrical power, either as `Electricity-AC` or `Electricity-DC` through an inlet, or as a `Mix-PowerAndSignal` through an inlet or bidirectional connection point." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:or ( [ sh:class s223:InletConnectionPoint ;
                                sh:node [ sh:property [ sh:minCount 1 ;
                                                sh:or ( [ sh:class s223:Electricity-AC ] [ sh:class s223:Electricity-DC ] ) ;
                                                sh:path s223:hasMedium ] ] ] [ sh:node [ sh:property [ sh:class s223:Mix-PowerAndSignal ;
                                                sh:minCount 1 ;
                                                sh:path s223:hasMedium ] ] ;
                                sh:or ( [ sh:class s223:InletConnectionPoint ] [ sh:class s223:BidirectionalConnectionPoint ] ) ] ) ] ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:Elevator a s223:Class,
        sh:NodeShape ;
    rdfs:label "Elevator" ;
    rdfs:comment "A piece of `Equipment` that vertically transports people or freight between floors or levels of a building via a vertical shaft commonly referred to as a hoistway. The people or freight are typically situated on a platform, or in a container commonly referred to as a car, cab, cabin, cage, or carriage." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "An `Elevator` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: An `Elevator` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix doc: <http://sample.org/doc#> .
@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@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:EnumerableProperty a s223:Class,
        sh:NodeShape ;
    rdfs:label "Enumerable property" ;
    doc:subclauses ( s223:hasEnumerationKind ) ;
    rdfs:comment "An `EnumerableProperty` is a `Property` with an enumerated (fixed) set of possible values." ;
    rdfs:subClassOf s223:Property ;
    sh:property [ rdfs:comment "An `EnumerableProperty` shall be associated with exactly one `EnumerationKind` using the relation `hasEnumerationKind`." ;
            sh:class s223:EnumerationKind ;
            sh:maxCount 1 ;
            sh:message "s223: An `EnumerableProperty` shall be associated with exactly one `EnumerationKind` using the relation `hasEnumerationKind`." ;
            sh:minCount 1 ;
            sh:path s223:hasEnumerationKind ],
        [ rdfs:comment "An enumeration value shall be consistent with the stated `EnumerationKind`." ;
            sh:path s223:hasValue ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "An enumeration value shall be consistent with the stated `EnumerationKind`." ;
                    sh:message "s223: {$this} has an enumeration value of {?value} which is not a valid {?kind}." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this ?value ?kind
WHERE {
$this s223:hasValue ?value .
$this s223:hasEnumerationKind ?kind .
FILTER (NOT EXISTS {?value a/rdfs:subClassOf* ?kind}) .
}
""" ] ] .


            

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 .


            

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 `EnumeratedObservableProperty` is a `Property` with an enumerated (fixed) set of possible values that cannot be changed (can only be observed)." ;
    rdfs:subClassOf s223:EnumerableProperty,
        s223:ObservableProperty .


            

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#> .

s223:EnumerationKind a s223:Class,
        s223:EnumerationKind,
        sh:NodeShape ;
    rdfs:label "Enumeration kind" ;
    rdfs:comment """This is the encapsulating class for all `EnumerationKind`s.
`EnumerationKind`s define the closed set of permissible values for a given purpose.
For example, `EnumerationKind-DayOfWeek` enumerates the days of the week and allows no other values.

`EnumerationKind`s are arranged in a class hierarchy tree, with the root class named `EnumerationKind`. Each subclass is named
starting with its immediate superclass, followed by a hyphen and a name that is unique among the sibling classes.
Each class is also an instance of itself. This unusual modeling pattern was used to achieve:

- The ability to set an `EnumerationKind` value that is more general, or not yet fully specified
  at the time of modeling, such as `Electricity-AC` without having to state exactly what voltage or frequency it is.

- The ability to use the `sh:class` SHACL predicate at any level in the `EnumerationKind` hierarchy
  to constrain a value in the s223 specification, even if it is a more general one such as `Electricity-AC` in the above example.

Certain validation constraints exist in the standard that evaluate compatibility of `EnumerationKind`s.
Two values are deemed compatible if they are the same, if one is a direct ancestor (or descendant) of the other,
or if they are mixtures sharing at least one constituent.""" ;
    rdfs:subClassOf s223:Concept .


            

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


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@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-Aspect a s223:Class,
        s223:EnumerationKind-Aspect,
        sh:NodeShape ;
    rdfs:label "Aspect" ;
    doc:subclauses ( pub:EquipmentInformation pub:EquipmentOperation pub:OperationalLimits pub:ControlParameters pub:DeltaQuantities ) ;
    rdfs:comment "Aspect enumerations provide context to the meaning of a `Property` that would otherwise not be apparent." ;
    rdfs:subClassOf s223:EnumerationKind .


            

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


@prefix doc: <http://sample.org/doc#> .
@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-Binary a s223:Class,
        s223:EnumerationKind-Binary,
        sh:NodeShape ;
    rdfs:label "Binary" ;
    doc:subclauses ( s223:Binary-Logical s223:Binary-OnOff s223:Binary-Position ) ;
    rdfs:comment """This class and its enumerated subclasses represent common binary values.

: EnumerationKind-Binary Enumerations

| Enumeration |
|:-----------|
| `Binary-Logical` |
| `Binary-OnOff` |
| `Binary-Position` |""" ;
    rdfs:subClassOf s223:EnumerationKind .


            

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


@prefix doc: <http://sample.org/doc#> .
@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-DayOfWeek a s223:Class,
        s223:EnumerationKind-DayOfWeek,
        sh:NodeShape ;
    rdfs:label "Day of week" ;
    doc:subclauses ( s223:DayOfWeek-Weekday s223:DayOfWeek-Weekend ) ;
    rdfs:comment """This class and its enumerated subclasses represent the days of the week, according to the Gregorian calendar, i.e., Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, and Sunday. The Weekend and Weekday EnumerationKinds define subsets of this `EnumerationKind` for Mon-Fri and Sat, Sun, respectively.

: EnumerationKind-DayOfWeek Enumerations

| Enumeration |
|:-----------|
| `DayOfWeek-Weekday` |
| `DayOfWeek-Weekend` |""" ;
    rdfs:subClassOf s223:EnumerationKind .


            

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 "Domain" ;
    rdfs:comment """This class and its enumerated subclasses represent building systems and services (e.g., HVAC, Lighting, and Plumbing).

: EnumerationKind-Domain Enumerations

| Enumeration |
|:-----------|
| `Domain-ConveyanceSystems` |
| `Domain-Electrical` |
| `Domain-FireProtection` |
| `Domain-HVAC` |
| `Domain-Lighting` |
| `Domain-Networking` |
| `Domain-Occupancy` |
| `Domain-PhysicalSecurity` |
| `Domain-Plumbing` |
| `Domain-Refrigeration` |""" ;
    rdfs:subClassOf s223:EnumerationKind .


            

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


@prefix doc: <http://sample.org/doc#> .
@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-ElectricalPhaseIdentifier a s223:Class,
        s223:EnumerationKind-ElectricalPhaseIdentifier,
        sh:NodeShape ;
    rdfs:label "Electrical phase identifier" ;
    doc:subclauses ( s223:hasElectricalPhase ) ;
    rdfs:comment """This class and its enumerated subclasses represent all possible electrical phases for AC electricity service.

: EnumerationKind-ElectricalPhaseIdentifier Enumerations

| Enumeration |
|:-----------|
| `ElectricalPhaseIdentifier-A` |
| `ElectricalPhaseIdentifier-AB` |
| `ElectricalPhaseIdentifier-ABC` |
| `ElectricalPhaseIdentifier-B` |
| `ElectricalPhaseIdentifier-BC` |
| `ElectricalPhaseIdentifier-C` |
| `ElectricalPhaseIdentifier-CA` |""" ;
    rdfs:subClassOf s223:EnumerationKind .


            

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


@prefix doc: <http://sample.org/doc#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:EnumerationKind-Numerical a s223:Class,
        s223:EnumerationKind-Numerical,
        sh:NodeShape ;
    rdfs:label "Numerical" ;
    qudt:hasQuantityKind quantitykind:Unknown ;
    qudt:hasUnit unit:UNKNOWN ;
    doc:subclauses ( s223:Numerical-Frequency s223:Numerical-NumberOfElectricalPhases s223:Numerical-Voltage ) ;
    rdfs:comment """
Numerical enumeration kinds are used to support the definitions of the
`Constituent-Electricity`. The enumerations instances in these classes have names that
are recognizable by humans but are just a string for a computer application. To
avoid the need to parse strings, each of these `EnumerationKind`s have
relations with the `EnumerationKind`s that represent electrical
phase, voltage, and frequency. The purpose of these properties is to enable a
machine to query them and obtain the same information that a person would
associate with the string.
""" ;
    rdfs:subClassOf s223:EnumerationKind ;
    sh:property [ rdfs:comment "An `EnumerationKind-Numerical` shall be associated with exactly one `Unit` using the relation `qudt:hasUnit`." ;
            sh:class qudt:Unit ;
            sh:maxCount 1 ;
            sh:message "s223: An `EnumerationKind-Numerical` shall be associated with exactly one `Unit` using the relation `qudt:hasUnit`." ;
            sh:minCount 1 ;
            sh:path qudt:hasUnit ],
        [ rdfs:comment "An `EnumerationKind-Numerical` shall be associated with exactly one `QuantityKind` using the relation `qudt:hasQuantityKind`." ;
            sh:class qudt:QuantityKind ;
            sh:maxCount 1 ;
            sh:message "s223: An `EnumerationKind-Numerical` shall be associated with exactly one `QuantityKind` using the relation `qudt:hasQuantityKind`." ;
            sh:minCount 1 ;
            sh:path qudt:hasQuantityKind ],
        [ rdfs:comment "An `EnumerationKind-Numerical` shall be associated with at most one decimal value using the relation `hasValue`." ;
            sh:datatype xsd:decimal ;
            sh:maxCount 1 ;
            sh:message "s223: An `EnumerationKind-Numerical` shall be associated with at most one decimal value using the relation `hasValue`." ;
            sh:path s223:hasValue ] .


            

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


@prefix doc: <http://sample.org/doc#> .
@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-Occupancy a s223:Class,
        s223:EnumerationKind-Occupancy,
        sh:NodeShape ;
    rdfs:label "Occupancy" ;
    doc:subclauses ( s223:Occupancy-Motion s223:Occupancy-Presence s223:Occupancy-Occupied ) ;
    rdfs:comment "This class and its enumerated subclasses represent the occupancy status of a space within a building, i.e., the state of being occupied by a human being. The `Occupancy-Motion` and `Occupancy-Presence` subclasses are associated with specific characteristics of occupancy and associated means of detection, while the `Occupancy-Occupied` subclass is generic, in that it is not associated with a specific characteristic or occupancy or associated means of detection." ;
    rdfs:subClassOf s223:EnumerationKind .


            

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 and its enumerated subclasses represent roles played by entities, such as cooling, generator,
relief, and return. These enumeration kinds are intended to indicate the capability of an entity to play a given
role, rather than the role being actively played at any given point in time. For example,
a reversible piece of equipment might play a role of `Role-Cooling` at one time and `Role-Heating` at another time.
Such an entity would be modeled using the `hasRole` relation with both role values. The active role at a particular time can be modeled as a `Property` with
an `ExternalReference` to telemetry data.

: EnumerationKind-Role Enumerations

| Enumeration |
|:-----------|
| `Role-Condenser` |
| `Role-Cooling` |
| `Role-Dehumidifying` |
| `Role-Discharge` |
| `Role-Economizer` |
| `Role-Evaporator` |
| `Role-Exhaust` |
| `Role-Expansion` |
| `Role-Generator` |
| `Role-Heating` |
| `Role-HeatRecovery` |
| `Role-HeatTransfer` |
| `Role-Load` |
| `Role-OutdoorAirIntake` |
| `Role-Primary` |
| `Role-Recirculating` |
| `Role-Relief` |
| `Role-Return` |
| `Role-Secondary` |
| `Role-Supply` |
| `Role-Ventilating` |""" ;
    rdfs:subClassOf s223:EnumerationKind .


            

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


@prefix doc: <http://sample.org/doc#> .
@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@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" ;
    doc:subclauses ( s223:Substance-Medium s223:Substance-Particulate s223:Substance-Soot ) ;
    rdfs:comment """
This class and its enumerated subclasses represent substances that are produced, conveyed, sensed, controlled, or consumed.  Its enumerated subclasses differentate between media, particulates, and soot.

: EnumerationKind-Substance Enumerations

| Enumeration |
|:-----------|
| `Substance-Medium` (see {s223:Substance-Medium}) |
| `Substance-Particulate` (see {s223:Substance-Particulate}) |
| `Substance-Soot` (see {s223:Substance-Soot}) |""" ;
    rdfs:subClassOf s223:EnumerationKind ;
    sh:property [ rdfs:comment "If a substance has a constituent, that constituent may not itself have constituents." ;
            sh:path s223:composedOf ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "If a substance has a constituent, that constituent may not itself have constituents." ;
                    sh:message "s223: This substance {$this} has a constituent {?constituent} that itself is composed of {?nextConstituent}. Create new substance with only atomic constituents." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this ?constituent ?nextConstituent
WHERE {
$this s223:composedOf/s223:ofConstituent ?constituent .
?constituent s223:composedOf/s223:ofConstituent ?nextConstituent .
}
""" ] ] .


            

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


@prefix doc: <http://sample.org/doc#> .
@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-ThermodynamicPhase a s223:Class,
        s223:EnumerationKind-ThermodynamicPhase,
        sh:NodeShape ;
    rdfs:label "Thermodynamic phase" ;
    doc:subclauses ( s223:ThermodynamicPhase-Gas s223:ThermodynamicPhase-Liquid s223:hasThermodynamicPhase ) ;
    rdfs:comment """This class and its enumerated subclasses represent thermodynamic phases, also referred to as states of matter.

: EnumerationKind-ThermodynamicPhase Enumerations

| Enumeration |
|:-----------|
| `ThermodynamicPhase-Gas` (see {s223:ThermodynamicPhase-Gas}) |
| `ThermodynamicPhase-Liquid` (see {s223:ThermodynamicPhase-Liquid}) |
| `ThermodynamicPhase-Solid` |
| `ThermodynamicPhase-Vapor` |""" ;
    rdfs:subClassOf s223:EnumerationKind .


            

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


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@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 """`Equipment` is the modeling construct used to represent a thing designed to accomplish a specific task, or a complex thing
that contains component pieces of `Equipment` that are connected to each other and work together to accomplish a task. `Equipment` can have
`Connection`s and `ConnectionPoint`s through which one or more kinds of medium (see {s223:Substance-Medium}) might flow. Examples of `Equipment` defined in this ontology include `Pump`, `Fan`, `AirHeatExchanger`, `Luminaire`, and `Sensor`. `Equipment` can be connected to other `Connectable`s such as other `Equipment` or `DomainSpace`s.

The graphical depiction of Equipment used in this document is a round-cornered rectangle as shown in Figure 5-1.

![Graphical Depiction of Equipment.](figures/Figure_5-1_Graphical_Depiciton_of_Equipment.svg)""" ;
    rdfs:subClassOf s223:Connectable ;
    sh:property [ rdfs:comment "A piece of `Equipment` shall be associated with zero or more `PhysicalSpace`s using the relation `hasPhysicalLocation`." ;
            sh:class s223:PhysicalSpace ;
            sh:message "s223: A piece of `Equipment` shall be associated with zero or more `PhysicalSpace`s using the relation `hasPhysicalLocation`." ;
            sh:path s223:hasPhysicalLocation ],
        [ rdfs:comment "A piece of `Equipment` shall be associated with zero or more `EnumerationKind-Role`s using the relation `hasRole`." ;
            sh:class s223:EnumerationKind-Role ;
            sh:message "s223: A piece of `Equipment` shall be associated with zero or more `EnumerationKind-Role`s using the relation `hasRole`." ;
            sh:path s223:hasRole ],
        [ rdfs:comment "Disallow contained equipment from having external incoming connections." ;
            sh:message "s223: Disallow contained equipment from having external incoming connections." ;
            sh:path s223:connectedFrom ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "Disallow contained equipment from having external incoming connections." ;
                    sh:message "s223: {$this} should not have a connection from external equipment {?otherDev} because {?container} contains {$this}." ;
                    sh:prefixes ns6: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 .}
}
""" ] ],
        [ rdfs:comment "A piece of `Equipment` shall be associated with zero or more `ActuatableProperty`s using the relation `actuatedByProperty`." ;
            sh:class s223:ActuatableProperty ;
            sh:message "s223: A piece of `Equipment` shall be associated with zero or more `ActuatableProperty`s using the relation `actuatedByProperty`." ;
            sh:path s223:actuatedByProperty ],
        [ rdfs:comment "A piece of `Equipment` shall be associated with zero or more `Function`s using the relation `executes`." ;
            sh:class s223:Function ;
            sh:message "s223: A piece of `Equipment` shall be associated with zero or more `Function`s using the relation `executes`." ;
            sh:path s223:executes ],
        [ rdfs:comment "Warning about a subclass of `Equipment` of type A containing another piece of equipment that is in the same subclass branch." ;
            sh:message "s223: Warning about a subclass of `Equipment` of type A containing piece of equipment 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 piece of equipment that is in the same subclass branch." ;
                    sh:message "s223: {$this}, of type {?type1}, contains {?subEquip} of type {?type2}, that could result in double-counting items in the class hierarchy of {?type1}." ;
                    sh:prefixes ns6: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 sh:PropertyShape ;
            rdfs:comment "A piece of `Equipment` shall be associated with zero or more other pieces of contained `Equipment` and/or `Junction`s using the relation `contains`." ;
            sh:message "s223: A piece of `Equipment` shall be associated with zero or more other pieces of contained `Equipment` and/or `Junction`s using the relation `contains`." ;
            sh:name "device contains shape" ;
            sh:or ( [ sh:class s223:Equipment ] [ sh:class s223:Junction ] ) ;
            sh:path s223:contains ],
        [ rdfs:comment "Disallow contained equipment from having external outgoing connections." ;
            sh:message "s223: Disallow contained equipment from having external outgoing connections." ;
            sh:path s223:connectedTo ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "Disallow contained equipment from having external outgoing connections." ;
                    sh:message "s223: {$this} should not have a connection to external equipment {?otherDev} because {?container} contains {$this}." ;
                    sh:prefixes ns6: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 .}
}
""" ] ] .


            

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


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@prefix 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:EquipmentShape a sh:NodeShape ;
    sh:rule [ 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 ns4:model-rules ],
        [ 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 ns4:model-rules ] ;
    sh:targetClass s223:Equipment .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:Escalator a s223:Class,
        sh:NodeShape ;
    rdfs:label "Escalator" ;
    rdfs:comment "A piece of `Equipment` that vertically transports people between floors or levels of a building via a moving staircase." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "An `Escalator` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: An `Escalator` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:EthernetCable a s223:Class,
        sh:NodeShape ;
    rdfs:label "Ethernet cable" ;
    rdfs:comment """A type of `Conductor` that consists of 1, 2 or 4 pairs of twisted wire and is used for `Signal-WiredEthernet` communication. Subclasses of `EthernetCable` represent common types used in buildings.

: EthernetCable Subclasses

| Subclass |
|:-----------|
| `EthernetCable-Cat1` |
| `EthernetCable-Cat2` |
| `EthernetCable-Cat3` |
| `EthernetCable-Cat4` |
| `EthernetCable-Cat5` |
| `EthernetCable-Cat5e` |
| `EthernetCable-Cat6` |
| `EthernetCable-Cat6a` |
| `EthernetCable-Cat7` |
| `EthernetCable-Cat7a` |
| `EthernetCable-Cat8` |""" ;
    rdfs:subClassOf s223:Conductor ;
    sh:property [ rdfs:comment "An `EthernetCable` shall be associated with exactly one `Signal-WiredEthernet` using the relation `hasMedium`." ;
            sh:class s223:Signal-WiredEthernet ;
            sh:maxCount 1 ;
            sh:message "s223: An `EthernetCable` shall be associated with exactly one `Signal-WiredEthernet` using the relation `hasMedium`." ;
            sh:minCount 1 ;
            sh:path s223:hasMedium ] .


            

URI: http://data.ashrae.org/standard223#EthernetCable-Cat1


@prefix 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:EthernetCable-Cat1 a s223:Class,
        sh:NodeShape ;
    rdfs:label "Ethernet Cable Cat1" ;
    rdfs:comment "EthernetCable-Cat1" ;
    rdfs:subClassOf s223:EthernetCable .


            

URI: http://data.ashrae.org/standard223#EthernetCable-Cat2


@prefix 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:EthernetCable-Cat2 a s223:Class,
        sh:NodeShape ;
    rdfs:label "Ethernet Cable Cat2" ;
    rdfs:comment "EthernetCable-Cat2" ;
    rdfs:subClassOf s223:EthernetCable .


            

URI: http://data.ashrae.org/standard223#EthernetCable-Cat3


@prefix 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:EthernetCable-Cat3 a s223:Class,
        sh:NodeShape ;
    rdfs:label "Ethernet Cable Cat3" ;
    rdfs:comment "EthernetCable-Cat3" ;
    rdfs:subClassOf s223:EthernetCable .


            

URI: http://data.ashrae.org/standard223#EthernetCable-Cat4


@prefix 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:EthernetCable-Cat4 a s223:Class,
        sh:NodeShape ;
    rdfs:label "Ethernet Cable Cat4" ;
    rdfs:comment "EthernetCable-Cat4" ;
    rdfs:subClassOf s223:EthernetCable .


            

URI: http://data.ashrae.org/standard223#EthernetCable-Cat5


@prefix 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:EthernetCable-Cat5 a s223:Class,
        sh:NodeShape ;
    rdfs:label "Ethernet Cable Cat5" ;
    rdfs:comment "EthernetCable-Cat5" ;
    rdfs:subClassOf s223:EthernetCable .


            

URI: http://data.ashrae.org/standard223#EthernetCable-Cat5e


@prefix 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:EthernetCable-Cat5e a s223:Class,
        sh:NodeShape ;
    rdfs:label "Ethernet Cable Cat5e" ;
    rdfs:comment "EthernetCable-Cat5e" ;
    rdfs:subClassOf s223:EthernetCable .


            

URI: http://data.ashrae.org/standard223#EthernetCable-Cat6


@prefix 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:EthernetCable-Cat6 a s223:Class,
        sh:NodeShape ;
    rdfs:label "Ethernet Cable Cat6" ;
    rdfs:comment "EthernetCable-Cat6" ;
    rdfs:subClassOf s223:EthernetCable .


            

URI: http://data.ashrae.org/standard223#EthernetCable-Cat6a


@prefix 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:EthernetCable-Cat6a a s223:Class,
        sh:NodeShape ;
    rdfs:label "Ethernet Cable Cat6a" ;
    rdfs:comment "EthernetCable-Cat6a" ;
    rdfs:subClassOf s223:EthernetCable .


            

URI: http://data.ashrae.org/standard223#EthernetCable-Cat7


@prefix 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:EthernetCable-Cat7 a s223:Class,
        sh:NodeShape ;
    rdfs:label "Ethernet Cable Cat7" ;
    rdfs:comment "EthernetCable-Cat7" ;
    rdfs:subClassOf s223:EthernetCable .


            

URI: http://data.ashrae.org/standard223#EthernetCable-Cat7a


@prefix 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:EthernetCable-Cat7a a s223:Class,
        sh:NodeShape ;
    rdfs:label "Ethernet Cable Cat7a" ;
    rdfs:comment "EthernetCable-Cat7a" ;
    rdfs:subClassOf s223:EthernetCable .


            

URI: http://data.ashrae.org/standard223#EthernetCable-Cat8


@prefix 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:EthernetCable-Cat8 a s223:Class,
        sh:NodeShape ;
    rdfs:label "Ethernet Cable Cat8" ;
    rdfs:comment "EthernetCable-Cat8" ;
    rdfs:subClassOf s223:EthernetCable .


            

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


@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:EthernetPort a s223:Class,
        sh:NodeShape ;
    rdfs:label "Ethernet port" ;
    rdfs:comment """A piece of `Equipment` that connects a single instance of electrical equipment, such as `Computer`s and Wi-Fi access points,
to an Ethernet network so it can communicate with other equipment and, optionally, with the Internet.""" ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "An `EthernetPort` shall have at least one inlet using the medium `Electricity-DC`." ;
            sh:message "s223: An `EthernetPort` shall have at least one inlet using the medium `Electricity-DC`." ;
            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 `EthernetPort` shall have at least two bidirectional connection points using the medium `Signal-WiredEthernet` or `Signal-FiberEthernet`." ;
            sh:message "s223: An `EthernetPort` shall have at least two bidirectional connection points using the medium `Signal-WiredEthernet` or `Signal-FiberEthernet`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 2 ;
            sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
                    sh:node [ sh:property [ sh:or ( [ sh:class s223:Signal-WiredEthernet ] [ sh:class s223:Signal-FiberEthernet ] ) ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@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:EthernetSwitch a s223:Class,
        sh:NodeShape ;
    rdfs:label "Ethernet switch" ;
    rdfs:comment """A piece of `Equipment` that connects one or more instances of electrical equipment, such as `Computer`s and Wi-Fi access points,
to an Ethernet network so they can communicate with each other and, optionally, to the Internet.""" ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "An `EthernetSwitch` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: An `EthernetSwitch` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "An `EthernetSwitch` shall have at least two bidirectional connection points using the medium `Signal-WiredEthernet` or `Signal-FiberEthernet`." ;
            sh:message "s223: An `EthernetSwitch` shall have at least two bidirectional connection points using the medium `Signal-WiredEthernet` or `Signal-FiberEthernet`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 2 ;
            sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
                    sh:node [ sh:property [ sh:or ( [ sh:class s223:Signal-WiredEthernet ] [ sh:class s223:Signal-FiberEthernet ] ) ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:ExternalReference a s223:AbstractClass,
        sh:NodeShape ;
    rdfs:label "External reference" ;
    doc:subclauses ( s223:BACnetExternalReference ) ;
    rdfs:comment "`ExternalReference` is an abstract class that represents application programming interface or protocol parameter values necessary to associate a `Property` with information external to the model, such as BACnet objects or telemetry values." ;
    rdfs:subClassOf s223:Concept .


            

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 piece of `Equipment` that causes a gas (e.g., air) to flow." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `Fan` shall have at least one inlet using the medium `Fluid-Air`." ;
            sh:message "s223: A `Fan` shall have at least one inlet using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `Fan` shall have at least one outlet using the medium `Fluid-Air`." ;
            sh:message "s223: A `Fan` shall have at least one outlet using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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 piece of `Equipment` consisting of a `Coil` and a `Fan` that regulates the temperature of one or more spaces." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `FanCoilUnit` shall contain at least one `Coil`." ;
            sh:message "s223: A `FanCoilUnit` shall contain at least one `Coil`." ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:Coil ] ],
        [ rdfs:comment "A `FanCoilUnit` shall contain at least one `Fan`." ;
            sh:message "s223: A `FanCoilUnit` shall contain at least one `Fan`." ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:Fan ] ],
        [ rdfs:comment "A `FanCoilUnit` shall at least have the role `Role-Cooling` or `Role-Heating`." ;
            sh:message "s223: A `FanCoilUnit` shall at least have the role `Role-Cooling` or `Role-Heating`." ;
            sh:path s223:hasRole ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:xone ( [ sh:class s223:Role-Cooling ] [ sh:class s223:Role-Heating ] ) ] ],
        [ rdfs:comment "A `FanCoilUnit` shall have at least one inlet using the medium `Fluid-Air`." ;
            sh:message "s223: A `FanCoilUnit` shall have at least one inlet using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `FanCoilUnit` shall have at least one outlet using the medium `Fluid-Air`." ;
            sh:message "s223: A `FanCoilUnit` shall have at least one outlet using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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 terminal" ;
    rdfs:comment "A `TerminalUnit` that contains a fan, and optionally has supplemental heating or cooling. Airflow may pass through or be parallel to the fan." ;
    rdfs:subClassOf s223:TerminalUnit ;
    sh:property [ rdfs:comment "A `FanPoweredTerminal` shall contain at least one `Fan`." ;
            sh:message "s223: A `FanPoweredTerminal` shall contain at least one `Fan`." ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:Fan ] ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:Faucet a s223:Class,
        sh:NodeShape ;
    rdfs:label "Faucet" ;
    rdfs:comment "A `Valve` that allows, regulates, or stops the flow of hot or cold water from a plumbing supply system into a `Sink`, `Shower`, `Bathtub`, or other plumbing service equipment." ;
    rdfs:subClassOf s223:Valve ;
    sh:property [ rdfs:comment "A `Faucet` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `Faucet` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `Faucet` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `Faucet` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

URI: http://data.ashrae.org/standard223#FiberEthernet-1X9


@prefix 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:FiberEthernet-1X9 a s223:Class,
        s223:FiberEthernet-1X9,
        sh:NodeShape ;
    rdfs:label "Fiber Ethernet 1X9" ;
    rdfs:comment "FiberEthernet-1X9" ;
    rdfs:subClassOf s223:Signal-FiberEthernet .


            

URI: http://data.ashrae.org/standard223#FiberEthernet-300PIN


@prefix 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:FiberEthernet-300PIN a s223:Class,
        s223:FiberEthernet-300PIN,
        sh:NodeShape ;
    rdfs:label "Fiber Ethernet 300PIN" ;
    rdfs:comment "FiberEthernet-300PIN" ;
    rdfs:subClassOf s223:Signal-FiberEthernet .


            

URI: http://data.ashrae.org/standard223#FiberEthernet-CFP


@prefix 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:FiberEthernet-CFP a s223:Class,
        s223:FiberEthernet-CFP,
        sh:NodeShape ;
    rdfs:label "Fiber Ethernet CFP" ;
    rdfs:comment "FiberEthernet-CFP" ;
    rdfs:subClassOf s223:Signal-FiberEthernet .


            

URI: http://data.ashrae.org/standard223#FiberEthernet-CFP2


@prefix 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:FiberEthernet-CFP2 a s223:Class,
        s223:FiberEthernet-CFP2,
        sh:NodeShape ;
    rdfs:label "Fiber Ethernet CFP2" ;
    rdfs:comment "FiberEthernet-CFP2" ;
    rdfs:subClassOf s223:Signal-FiberEthernet .


            

URI: http://data.ashrae.org/standard223#FiberEthernet-CFP4


@prefix 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:FiberEthernet-CFP4 a s223:Class,
        s223:FiberEthernet-CFP4,
        sh:NodeShape ;
    rdfs:label "Fiber Ethernet CFP4" ;
    rdfs:comment "FiberEthernet-CFP4" ;
    rdfs:subClassOf s223:Signal-FiberEthernet .


            

URI: http://data.ashrae.org/standard223#FiberEthernet-CPAK


@prefix 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:FiberEthernet-CPAK a s223:Class,
        s223:FiberEthernet-CPAK,
        sh:NodeShape ;
    rdfs:label "Fiber Ethernet CPAK" ;
    rdfs:comment "FiberEthernet-CPAK" ;
    rdfs:subClassOf s223:Signal-FiberEthernet .


            

URI: http://data.ashrae.org/standard223#FiberEthernet-CXP


@prefix 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:FiberEthernet-CXP a s223:Class,
        s223:FiberEthernet-CXP,
        sh:NodeShape ;
    rdfs:label "Fiber Ethernet CXP" ;
    rdfs:comment "FiberEthernet-CXP" ;
    rdfs:subClassOf s223:Signal-FiberEthernet .


            

URI: http://data.ashrae.org/standard223#FiberEthernet-GBIC


@prefix 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:FiberEthernet-GBIC a s223:Class,
        s223:FiberEthernet-GBIC,
        sh:NodeShape ;
    rdfs:label "Fiber Ethernet GBIC" ;
    rdfs:comment "FiberEthernet-GBIC" ;
    rdfs:subClassOf s223:Signal-FiberEthernet .


            

URI: http://data.ashrae.org/standard223#FiberEthernet-QSFP


@prefix 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:FiberEthernet-QSFP a s223:Class,
        s223:FiberEthernet-QSFP,
        sh:NodeShape ;
    rdfs:label "Fiber Ethernet QSFP" ;
    rdfs:comment "FiberEthernet-QSFP" ;
    rdfs:subClassOf s223:Signal-FiberEthernet .


            

URI: http://data.ashrae.org/standard223#FiberEthernet-QSFP+


@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

<http://data.ashrae.org/standard223#FiberEthernet-QSFP+> a s223:Class,
        <http://data.ashrae.org/standard223#FiberEthernet-QSFP+>,
        sh:NodeShape ;
    rdfs:label "Fiber Ethernet QSFP+" ;
    rdfs:comment "FiberEthernet-QSFP+" ;
    rdfs:subClassOf s223:Signal-FiberEthernet .


            

URI: http://data.ashrae.org/standard223#FiberEthernet-QSFP28


@prefix 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:FiberEthernet-QSFP28 a s223:Class,
        s223:FiberEthernet-QSFP28,
        sh:NodeShape ;
    rdfs:label "Fiber Ethernet QSFP28" ;
    rdfs:comment "FiberEthernet-QSFP28" ;
    rdfs:subClassOf s223:Signal-FiberEthernet .


            

URI: http://data.ashrae.org/standard223#FiberEthernet-SFF


@prefix 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:FiberEthernet-SFF a s223:Class,
        s223:FiberEthernet-SFF,
        sh:NodeShape ;
    rdfs:label "Fiber Ethernet SFF" ;
    rdfs:comment "FiberEthernet-SFF" ;
    rdfs:subClassOf s223:Signal-FiberEthernet .


            

URI: http://data.ashrae.org/standard223#FiberEthernet-SFP


@prefix 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:FiberEthernet-SFP a s223:Class,
        s223:FiberEthernet-SFP,
        sh:NodeShape ;
    rdfs:label "Fiber Ethernet SFP" ;
    rdfs:comment "FiberEthernet-SFP" ;
    rdfs:subClassOf s223:Signal-FiberEthernet .


            

URI: http://data.ashrae.org/standard223#FiberEthernet-SFP+


@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

<http://data.ashrae.org/standard223#FiberEthernet-SFP+> a s223:Class,
        <http://data.ashrae.org/standard223#FiberEthernet-SFP+>,
        sh:NodeShape ;
    rdfs:label "Fiber Ethernet SFP+" ;
    rdfs:comment "FiberEthernet-SFP+" ;
    rdfs:subClassOf s223:Signal-FiberEthernet .


            

URI: http://data.ashrae.org/standard223#FiberEthernet-X2


@prefix 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:FiberEthernet-X2 a s223:Class,
        s223:FiberEthernet-X2,
        sh:NodeShape ;
    rdfs:label "Fiber Ethernet X2" ;
    rdfs:comment "FiberEthernet-X2" ;
    rdfs:subClassOf s223:Signal-FiberEthernet .


            

URI: http://data.ashrae.org/standard223#FiberEthernet-XENPAK


@prefix 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:FiberEthernet-XENPAK a s223:Class,
        s223:FiberEthernet-XENPAK,
        sh:NodeShape ;
    rdfs:label "Fiber Ethernet XENPAK" ;
    rdfs:comment "FiberEthernet-XENPAK" ;
    rdfs:subClassOf s223:Signal-FiberEthernet .


            

URI: http://data.ashrae.org/standard223#FiberEthernet-XFP


@prefix 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:FiberEthernet-XFP a s223:Class,
        s223:FiberEthernet-XFP,
        sh:NodeShape ;
    rdfs:label "Fiber Ethernet XFP" ;
    rdfs:comment "FiberEthernet-XFP" ;
    rdfs:subClassOf s223:Signal-FiberEthernet .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:FiberEthernetOutlet a s223:Class,
        sh:NodeShape ;
    rdfs:label "Fiber Ethernet outlet" ;
    rdfs:comment "A piece of `Equipment` that contains one or more receptacles for connecting electrical equipment to a fiber Ethernet communication network, typically via a fiber Ethernet cable." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `FiberEthernetOutlet` shall have exactly one inlet using the medium `Signal-FiberEthernet`." ;
            sh:message "s223: A `FiberEthernetOutlet` shall have exactly one inlet using the medium `Signal-FiberEthernet`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMaxCount 1 ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Signal-FiberEthernet ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `FiberEthernetOutlet` shall have at least one outlet using the medium `Signal-FiberEthernet`." ;
            sh:message "s223: A `FiberEthernetOutlet` shall have at least one outlet using the medium `Signal-FiberEthernet`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Signal-FiberEthernet ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@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:FiberOpticCable a s223:Class,
        sh:NodeShape ;
    rdfs:label "Fiber optic cable" ;
    rdfs:comment """A type of `Waveguide` that consists of thin, flexible strands of glass or plastic fibers that transmit data as pulses of light and is used for `Signal-FiberEthernet` or `Wideband-CATV` communication. Subclasses of `FiberOpticCable` represent common types used in buildings.

: FiberOpticCable Subclasses

| Subclass |
|:-----------|
| `FiberOpticCable-OM1` |
| `FiberOpticCable-OM2` |
| `FiberOpticCable-OM3` |
| `FiberOpticCable-OM4` |
| `FiberOpticCable-OM5` |
| `FiberOpticCable-OS1` |
| `FiberOpticCable-OS2` |""" ;
    rdfs:subClassOf s223:Waveguide ;
    sh:property [ rdfs:comment "A `FiberOpticCable` shall be associated with exactly one `Signal-FiberEthernet` or `Wideband-CATV` using the relation `hasMedium`." ;
            sh:maxCount 1 ;
            sh:message "s223: A `FiberOpticCable` shall be associated with exactly one `Signal-FiberEthernet` or `Wideband-CATV` using the relation `hasMedium`." ;
            sh:minCount 1 ;
            sh:path s223:hasMedium ;
            sh:xone ( [ sh:class s223:Signal-FiberEthernet ] [ sh:class s223:Wideband-CATV ] ) ] .


            

URI: http://data.ashrae.org/standard223#FiberOpticCable-OM1


@prefix 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:FiberOpticCable-OM1 a s223:Class,
        sh:NodeShape ;
    rdfs:label "Fiber Optic Cable OM1" ;
    rdfs:comment "FiberOpticCable-OM1" ;
    rdfs:subClassOf s223:FiberOpticCable .


            

URI: http://data.ashrae.org/standard223#FiberOpticCable-OM2


@prefix 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:FiberOpticCable-OM2 a s223:Class,
        sh:NodeShape ;
    rdfs:label "Fiber Optic Cable OM2" ;
    rdfs:comment "FiberOpticCable-OM2" ;
    rdfs:subClassOf s223:FiberOpticCable .


            

URI: http://data.ashrae.org/standard223#FiberOpticCable-OM3


@prefix 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:FiberOpticCable-OM3 a s223:Class,
        sh:NodeShape ;
    rdfs:label "Fiber Optic Cable OM3" ;
    rdfs:comment "FiberOpticCable-OM3" ;
    rdfs:subClassOf s223:FiberOpticCable .


            

URI: http://data.ashrae.org/standard223#FiberOpticCable-OM4


@prefix 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:FiberOpticCable-OM4 a s223:Class,
        sh:NodeShape ;
    rdfs:label "Fibe Optic Cable OM4" ;
    rdfs:comment "FiberOpticCable-OM4" ;
    rdfs:subClassOf s223:FiberOpticCable .


            

URI: http://data.ashrae.org/standard223#FiberOpticCable-OM5


@prefix 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:FiberOpticCable-OM5 a s223:Class,
        sh:NodeShape ;
    rdfs:label "Fiber Optic Cable OM5" ;
    rdfs:comment "FiberOpticCable-OM5" ;
    rdfs:subClassOf s223:FiberOpticCable .


            

URI: http://data.ashrae.org/standard223#FiberOpticCable-OS1


@prefix 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:FiberOpticCable-OS1 a s223:Class,
        sh:NodeShape ;
    rdfs:label "Fiber Optic Cable OS1" ;
    rdfs:comment "FiberOpticCable-OS1" ;
    rdfs:subClassOf s223:FiberOpticCable .


            

URI: http://data.ashrae.org/standard223#FiberOpticCable-OS2


@prefix 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:FiberOpticCable-OS2 a s223:Class,
        sh:NodeShape ;
    rdfs:label "Fiber Optic Cable OS2" ;
    rdfs:comment "FiberOpticCable-OS2" ;
    rdfs:subClassOf s223:FiberOpticCable .


            

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


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 piece of `Equipment` that removes contaminants from gases or liquids. See {s223:Substance-Medium} for
more details on validating compatible mediums upstream and downstream of a `Filter`.""" ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `Filter` shall have at least one inlet." ;
            sh:message "s223: A `Filter` shall have at least one inlet." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ] ],
        [ rdfs:comment "Incompatible Medium. Case 3: Associated `ConnectionPoint`s with mediums having constituents." ;
            sh:path s223:hasConnectionPoint ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "Incompatible Medium. Case 3: Two mediums with constituents." ;
                    sh:message "s223: For `Filter` {$this} there is no compatible substance between medium {?m2} and medium {?m1}." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT ?this ?m2 ?m1
WHERE {
  ?this s223:cnx ?cp1, ?cp2 .
  ?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .
  ?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .
  FILTER (?cp1 != ?cp2) .
  ?cp1 s223:hasMedium ?m1 .
  ?cp2 s223:hasMedium ?m2 .
    ?m1 s223:composedOf/s223:ofConstituent ?s1 .
    ?m2 s223:composedOf/s223:ofConstituent ?s2 .
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s11 .
    ?m2 s223:composedOf/s223:ofConstituent ?s12 .
    FILTER (?s11 = ?s12) .
  }
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s21 .
    ?m2 s223:composedOf/s223:ofConstituent ?s22 .
    {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .
  }
}
""" ] ],
        [ rdfs:comment "Incompatible Medium. Case 2: Associated `ConnectionPoint`s, one with a pure medium and one with a medium having constituents.." ;
            sh:path s223:hasConnectionPoint ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "Incompatible Medium. Case 2: A medium with constituents and a pure medium." ;
                    sh:message "s223: {$this} has an incompatible medium {?m1} with any constituent of {?m2}." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this ?m2 ?m1
WHERE {
$this s223:cnx ?cp1, ?cp2 .
?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .
?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .
FILTER (?cp1 != ?cp2) .
?cp1 s223:hasMedium ?m1 .
?cp2 s223:hasMedium ?m2 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" ] ],
        [ rdfs:comment "Incompatible Medium. Case 1: Associated `ConnectionPoint`s with two pure mediums." ;
            sh:path s223:hasConnectionPoint ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "Incompatible Medium. Case 1: Two pure mediums." ;
                    sh:message "s223: {$this} with inlet medium {?m2} is incompatible with outlet medium {?m1}." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this ?m2 ?m1
WHERE {
$this s223:cnx ?cp1, ?cp2 .
?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .
?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .
FILTER (?cp1 != ?cp2) .
?cp1 s223:hasMedium ?m1 .
?cp2 s223:hasMedium ?m2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {?m2 s223:composedOf ?c2}
FILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .
FILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .
}
""" ] ],
        [ rdfs:comment "A `Filter` shall have at least one outlet." ;
            sh:message "s223: A `Filter` shall have at least one outlet." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ] ] .


            

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 `Sensor` that `observes` a `QuantifiableObservableProperty` that represents a measure of flow of fluid, typically with a `QuantityKind` of `VolumeFlowRate`." ;
    rdfs:subClassOf s223:Sensor ;
    sh:property [ rdfs:comment "A `FlowSensor` shall always observe a `QuantifiableObservableProperty`." ;
            sh:class s223:QuantifiableObservableProperty ;
            sh:message "s223: A `FlowSensor` shall always observe a `QuantifiableObservableProperty`." ;
            sh:path s223:observes ] .


            

URI: http://data.ashrae.org/standard223#Fluid-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:Fluid-Air a s223:Class,
        s223:Fluid-Air,
        sh:NodeShape ;
    rdfs:label "Air" ;
    rdfs:comment "Fluid-Air" ;
    rdfs:subClassOf s223:Mix-Fluid .


            

URI: http://data.ashrae.org/standard223#Fluid-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:Fluid-NaturalGas a s223:Class,
        s223:Fluid-NaturalGas,
        sh:NodeShape ;
    rdfs:label "Natural gas" ;
    rdfs:comment "Fluid-NaturalGas" ;
    rdfs:subClassOf s223:Mix-Fluid .


            

URI: http://data.ashrae.org/standard223#Fluid-Oil


@prefix 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:Fluid-Oil a s223:Class,
        s223:Fluid-Oil,
        sh:NodeShape ;
    rdfs:label "Oil" ;
    rdfs:comment "Fluid-Oil" ;
    rdfs:subClassOf s223:Mix-Fluid .


            

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


@prefix doc: <http://sample.org/doc#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .

s223:Fluid-Water a s223:Class,
        s223:Fluid-Water,
        sh:NodeShape ;
    rdfs:label "Water" ;
    s223:composedOf [ a s223:QuantifiableProperty ;
            rdfs:label "H2O, i.e., pure water concentration" ;
            s223:ofConstituent s223:Constituent-H2O ;
            qudt:hasQuantityKind quantitykind:VolumeFraction ;
            qudt:hasUnit unit:PERCENT ] ;
    doc:subclauses ( s223:Water-GlycolSolution ) ;
    rdfs:comment """This class and its enumerated subclasses represent water and aqueous solutions in various states.

: Fluid-Water Enumerations

| Enumeration |
|:-----------|
| `Water-ChilledWater` |
| `Water-GlycolSolution` (see {s223:Water-GlycolSolution}) |
| `Water-HotWater` |
| `Water-Steam` |""" ;
    rdfs:subClassOf s223:Mix-Fluid .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:FlushToilet a s223:Class,
        sh:NodeShape ;
    rdfs:label "Flush toilet" ;
    rdfs:comment """A piece of `Equipment` that collects human waste (i.e., urine and/or feces, and sometimes toilet paper) in a chamber containing water,
and contains an integral manual or automatic actuator that triggers the release of an additional volume of water that flushes everything from the chamber into
a drainage system that typically carries the mixture to a sewer system or septic tank.""" ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `FlushToilet` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `FlushToilet` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `FlushToilet` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `FlushToilet` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:Freezer a s223:Class,
        sh:NodeShape ;
    rdfs:label "Freezer" ;
    rdfs:comment "A piece of `Equipment` that maintains an internal temperature below the freezing point of water." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `Freezer` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: A `Freezer` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Frequency-50Hz a s223:Class,
        s223:Frequency-50Hz,
        sh:NodeShape ;
    rdfs:label "50 Hertz" ;
    s223:hasValue 50.0 ;
    qudt:hasQuantityKind quantitykind:Frequency ;
    qudt:hasUnit unit:HZ ;
    rdfs:comment "Frequency-50Hz" ;
    rdfs:subClassOf s223:Numerical-Frequency .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Frequency-60Hz a s223:Class,
        s223:Frequency-60Hz,
        sh:NodeShape ;
    rdfs:label "60 Hertz" ;
    s223:hasValue 60.0 ;
    qudt:hasQuantityKind quantitykind:Frequency ;
    qudt:hasUnit unit:HZ ;
    rdfs:comment "Frequency-60Hz" ;
    rdfs:subClassOf s223:Numerical-Frequency .


            

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 piece of `Equipment` that is typically mounted over a work area (e.g., a space, table, or shelf) and conducts unwanted gases away from the area." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `FumeHood` shall have at least one inlet using the medium `Fluid-Air`." ;
            sh:message "s223: A `FumeHood` shall have at least one inlet using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `FumeHood` shall have at least one outlet using the medium `Fluid-Air`." ;
            sh:message "s223: A `FumeHood` shall have at least one outlet using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:Function a s223:Class,
        sh:NodeShape ;
    rdfs:label "Function" ;
    doc:subclauses ( s223:hasInput s223:hasOutput ) ;
    rdfs:comment "A `Function` is used to model transfer and/or transformation of information (i.e., `Property`). It has relations to input Properties and output Properties. The actual algorithms that perform the transformations are described in CDL and are out of scope of the 223 standard." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ rdfs:comment "A `Function` shall be associated with zero or more input `Property`s using the relation `hasInput`." ;
            sh:class s223:Property ;
            sh:message "s223: A `Function` shall be associated with zero or more input `Property`s using the relation `hasInput`." ;
            sh:path s223:hasInput ],
        [ rdfs:comment "A `Function` shall be associated with zero or more output `Property`s using the relation `hasOutput`." ;
            sh:class s223:Property ;
            sh:message "s223: A `Function` shall be associated with zero or more output `Property`s using the relation `hasOutput`." ;
            sh:path s223:hasOutput ] .


            

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


@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:FunctionPropertyShape a sh:NodeShape ;
    rdfs:label "Function property shape" ;
    rdfs:comment "A `Function` shall be associated with at least one `Property` using either the relation `hasInput` or `hasOutput`." ;
    sh:message "s223: A `Function` shall be associated with at least one `Property` using either the relation `hasInput` or `hasOutput`." ;
    sh:or ( [ sh:property [ rdfs:comment "A `Function` shall be associated with at least one `Property` using either the relation `hasInput` or `hasOutput`." ;
                        sh:class s223:Property ;
                        sh:minCount 1 ;
                        sh:path s223:hasInput ] ] [ sh:property [ rdfs:comment "A `Function` shall be associated with at least one `Property` using either the relation `hasInput` or `hasOutput`." ;
                        sh:class s223:Property ;
                        sh:minCount 1 ;
                        sh:path s223:hasOutput ] ] ) ;
    sh:severity sh:Warning ;
    sh:targetClass s223:Function .


            

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 "A piece of `Equipment` that converts fuel or electrical energy into heat." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `Furnace` shall have at least one inlet using the medium `Fluid-Air`." ;
            sh:message "s223: A `Furnace` shall have at least one inlet using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `Furnace` shall have at least one outlet using the medium `Fluid-Air`." ;
            sh:message "s223: A `Furnace` shall have at least one outlet using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix 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:Gas-Superheated a s223:Class,
        s223:Gas-Superheated,
        sh:NodeShape ;
    rdfs:label "Superheated gas" ;
    rdfs:comment "Gas-Superheated" ;
    rdfs:subClassOf s223:ThermodynamicPhase-Gas .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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:GaugePressureSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Gauge pressure sensor" ;
    rdfs:comment """A `PressureSensor` that `observes` a `QuantifiableObservableProperty` that represents a measure of pressure relative to atmospheric pressure.
Such sensors are commonly used to monitor compressed gas cylinders, for example, where a gauge reading of zero signifies that the measured pressure
is equal to the atmospheric pressure, not a vacuum.""" ;
    rdfs:subClassOf s223:PressureSensor ;
    sh:property [ rdfs:comment "A `GaugePressureSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of GaugePressure and a value of `true` for `qudt:isDeltaQuantity`." ;
            sh:class s223:QuantifiableObservableProperty ;
            sh:message "s223: A `GaugePressureSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of GaugePressure and a value of `true` for `qudt:isDeltaQuantity`." ;
            sh:node [ sh:property [ sh:in ( quantitykind:GaugePressure ) ;
                            sh:path qudt:hasQuantityKind ],
                        [ sh:in ( true ) ;
                            sh:path qudt:isDeltaQuantity ] ] ;
            sh:path s223:observes ] .


            

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 "A piece of `Equipment` that converts 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 `Constituent-Electricity`." ;
            sh:message "s223: A `Generator` shall have at least one outlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:GlycolSolution-15Percent a s223:Class,
        s223:GlycolSolution-15Percent,
        sh:NodeShape ;
    rdfs:label "15 percent glycol solution" ;
    s223:composedOf [ a s223:QuantifiableProperty ;
            rdfs:label "Water concentration" ;
            s223:hasValue 85.0 ;
            s223:ofConstituent s223:Constituent-H2O ;
            qudt:hasQuantityKind quantitykind:VolumeFraction ;
            qudt:hasUnit unit:PERCENT ],
        [ a s223:QuantifiableProperty ;
            rdfs:label "Glycol concentration" ;
            s223:hasValue 15.0 ;
            s223:ofConstituent s223:Constituent-Glycol ;
            qudt:hasQuantityKind quantitykind:VolumeFraction ;
            qudt:hasUnit unit:PERCENT ] ;
    s223:hasFreezingPoint [ a s223:QuantifiableProperty ;
            rdfs:label "Freezing point" ;
            qudt:hasQuantityKind quantitykind:Temperature ] ;
    rdfs:comment "`GlycolSolution-15Percent`" ;
    rdfs:subClassOf s223:Water-GlycolSolution .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:GlycolSolution-30Percent a s223:Class,
        s223:GlycolSolution-30Percent,
        sh:NodeShape ;
    rdfs:label "30 percent glycol solution" ;
    s223:composedOf [ a s223:QuantifiableProperty ;
            rdfs:label "Water concentration" ;
            s223:hasValue 70.0 ;
            s223:ofConstituent s223:Constituent-H2O ;
            qudt:hasQuantityKind quantitykind:VolumeFraction ;
            qudt:hasUnit unit:PERCENT ],
        [ a s223:QuantifiableProperty ;
            rdfs:label "Glycol concentration" ;
            s223:hasValue 30.0 ;
            s223:ofConstituent s223:Constituent-Glycol ;
            qudt:hasQuantityKind quantitykind:VolumeFraction ;
            qudt:hasUnit unit:PERCENT ] ;
    s223:hasFreezingPoint [ a s223:QuantifiableProperty ;
            rdfs:label "Freezing point" ;
            qudt:hasQuantityKind quantitykind:Temperature ] ;
    rdfs:comment "`GlycolSolution-30Percent`" ;
    rdfs:subClassOf s223:Water-GlycolSolution .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:GroundToAirHeatPump a s223:Class,
        sh:NodeShape ;
    rdfs:label "Ground-to-air heat pump" ;
    rdfs:comment "A `HeatPump` that transfers thermal energy between air and the ground." ;
    rdfs:subClassOf s223:HeatPump ;
    sh:property [ rdfs:comment "A `GroundToAirHeatPump` shall have at least one inlet using the medium `Fluid-Air`." ;
            sh:message "s223: A `GroundToAirHeatPump` shall have at least one inlet using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `GroundToAirHeatPump` shall have at least one bidirectional connection point using the medium `Medium-ThermalContact`." ;
            sh:message "s223: A `GroundToAirHeatPump` shall have at least one bidirectional connection point using the medium `Medium-ThermalContact`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Medium-ThermalContact ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `GroundToAirHeatPump` shall have at least one outlet using the medium `Fluid-Air`." ;
            sh:message "s223: A `GroundToAirHeatPump` shall have at least one outlet using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:HeatPump a s223:Class,
        sh:NodeShape ;
    rdfs:label "Heat pump" ;
    doc:subclauses ( s223:AirToAirHeatPump s223:GroundToAirHeatPump s223:WaterToAirHeatPump s223:WaterToWaterHeatPump ) ;
    rdfs:comment "A piece of `Equipment` that heats or cools spaces by transferring thermal energy from one thermal environment to another using a reversible refrigeration cycle." ;
    rdfs:subClassOf s223:Equipment .


            

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


@prefix 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:HeatTransferRoleShape a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "Infer the `hasRole` s223:Role-HeatTransfer relation for every instance of the listed targetClass values." ;
            sh:object s223:Role-HeatTransfer ;
            sh:predicate s223:hasRole ;
            sh:subject sh:this ] ;
    sh:targetClass s223:AirHeatExchanger,
        s223:ChilledBeam,
        s223:Coil,
        s223:ElectricResistanceElement,
        s223:HydronicHeatExchanger,
        s223:RadiantHeater,
        s223:Radiator .


            

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 is specifically used to heat air." ;
    rdfs:subClassOf s223:Coil ;
    sh:property [ rdfs:comment "A `HeatingCoil` shall at least have the role `Role-Heating`." ;
            sh:message "s223: A `HeatingCoil` shall at least have the role `Role-Heating`." ;
            sh:path s223:hasRole ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:Role-Heating ] ] .


            

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


@prefix 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:HeatingCoilShape a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "Heating coils must always have the role `Role-Heating`" ;
            sh:object s223:Role-Heating ;
            sh:predicate s223:hasRole ;
            sh:subject sh:this ] ;
    sh:targetClass s223:HeatingCoil .


            

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` that adds moisture to a gas (e.g., air)." ;
    rdfs:subClassOf s223:Equipment .


            

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 "A piece of `Equipment` that measures the relative humidity of the air and then uses this information to automatically adjust the amount of moisture in air." ;
    rdfs:subClassOf s223:Equipment .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

s223:HumiditySensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Humidity sensor" ;
    rdfs:comment "A `Sensor` that `observes` a `QuantifiableObservableProperty` that represents a measure of relative or absolute humidity." ;
    rdfs:subClassOf s223:Sensor ;
    sh:property [ rdfs:comment "A `HumiditySensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of either `RelativeHumidity` or `AbsoluteHumidity`." ;
            sh:class s223:QuantifiableObservableProperty ;
            sh:message "s223: A `HumiditySensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of either `RelativeHumidity` or `AbsoluteHumidity`." ;
            sh:node [ sh:property [ sh:in ( quantitykind:RelativeHumidity quantitykind:AbsoluteHumidity ) ;
                            sh:path qudt:hasQuantityKind ] ] ;
            sh:path s223:observes ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:HydronicHeatExchanger a s223:Class,
        sh:NodeShape ;
    rdfs:label "Hydronic heat exchanger" ;
    rdfs:comment "A piece of `Equipment` that transfers heat from one liquid stream to another while keeping the two media separate." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `HydronicHeatExchanger` shall have at least two inlets using the medium `Mix-Fluid`, each paired with an outlet." ;
            sh:message "s223: A `HydronicHeatExchanger` shall have at least two inlets using the medium `Mix-Fluid`, each paired with an outlet." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 2 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Mix-Fluid ;
                                    sh:path s223:hasMedium ],
                                [ sh:class s223:OutletConnectionPoint ;
                                    sh:minCount 1 ;
                                    sh:path s223:pairedConnectionPoint ] ] ] ],
        [ rdfs:comment "A `HydronicHeatExchanger` shall have at least two outlets using the medium `Mix-Fluid`, each paired with an inlet." ;
            sh:message "s223: A `HydronicHeatExchanger` shall have at least two outlets using the medium `Mix-Fluid`, each paired with an inlet." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 2 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Mix-Fluid ;
                                    sh:path s223:hasMedium ],
                                [ sh:class s223:InletConnectionPoint ;
                                    sh:minCount 1 ;
                                    sh:path s223:pairedConnectionPoint ] ] ] ],
        [ rdfs:comment "A `HydronicHeatExchanger` shall have no connection points using the medium `Fluid-Air`." ;
            sh:message "s223: A `HydronicHeatExchanger` shall have no connection points using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMaxCount 0 ;
            sh:qualifiedValueShape [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ],
        [ rdfs:comment "A `HydronicHeatExchanger` shall have no bidirectional connection points." ;
            sh:message "s223: A `HydronicHeatExchanger` shall have no bidirectional connection points." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMaxCount 0 ;
            sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ] ] .


            

URI: http://data.ashrae.org/standard223#ISMBand-BluetoothLE


@prefix 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:ISMBand-BluetoothLE a s223:Class,
        s223:ISMBand-BluetoothLE,
        sh:NodeShape ;
    rdfs:label "BluetoothLE" ;
    rdfs:comment "The BluetoothLE radio frequency communication protocol." ;
    rdfs:subClassOf s223:UHF-ISMBand .


            

URI: http://data.ashrae.org/standard223#ISMBand-IEEE802.11


@prefix 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:ISMBand-IEEE802.11 a s223:Class,
        s223:ISMBand-IEEE802.11,
        sh:NodeShape ;
    rdfs:label "IEEE 802.11" ;
    rdfs:comment "The IEEE 802.11 radio frequency communication protocol." ;
    rdfs:subClassOf s223:UHF-ISMBand .


            

URI: http://data.ashrae.org/standard223#ISMBand-IEEE802.15.4


@prefix 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:ISMBand-IEEE802.15.4 a s223:Class,
        s223:ISMBand-IEEE802.15.4,
        sh:NodeShape ;
    rdfs:label "IEEE 802.15.4" ;
    rdfs:comment "The IEEE 802.15.4 radio frequency communication protocol." ;
    rdfs:subClassOf s223:UHF-ISMBand .


            

URI: http://data.ashrae.org/standard223#ISMBand-LoRaWAN


@prefix 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:ISMBand-LoRaWAN a s223:Class,
        s223:ISMBand-LoRaWAN,
        sh:NodeShape ;
    rdfs:label "LoRaWAN" ;
    rdfs:comment "The LoRaWAN radio frequency communication protocol." ;
    rdfs:subClassOf s223:UHF-ISMBand .


            

URI: http://data.ashrae.org/standard223#ISMBand-NFC


@prefix 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:ISMBand-NFC a s223:Class,
        s223:ISMBand-NFC,
        sh:NodeShape ;
    rdfs:label "NFC" ;
    rdfs:comment "NFC radio frequency communication protocols." ;
    rdfs:subClassOf s223:UHF-ISMBand .


            

URI: http://data.ashrae.org/standard223#ISMBand-RFID


@prefix 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:ISMBand-RFID a s223:Class,
        s223:ISMBand-RFID,
        sh:NodeShape ;
    rdfs:label "RFID" ;
    rdfs:comment "RFID radio frequency communication protocols." ;
    rdfs:subClassOf s223:UHF-ISMBand .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:IceMaker a s223:Class,
        sh:NodeShape ;
    rdfs:label "Ice maker" ;
    rdfs:comment "A piece of `Equipment` that makes ice." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "An `IceMaker` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:message "s223: An `IceMaker` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "An `IceMaker` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: An `IceMaker` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

s223:IlluminanceSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Illuminance sensor" ;
    rdfs:comment """A `LightSensor` that `observes` a `QuantifiableObservableProperty` that represents an illuminance, defined as the areal density of the
luminous flux incident at a point on a surface.""" ;
    rdfs:subClassOf s223:LightSensor ;
    sh:property [ rdfs:comment "An `IlluminanceSensor` shall observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Illuminance`." ;
            sh:class s223:QuantifiableObservableProperty ;
            sh:message "s223: An `IlluminanceSensor` shall observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Illuminance`." ;
            sh:node [ sh:property [ sh:in ( quantitykind:Illuminance ) ;
                            sh:path qudt:hasQuantityKind ] ] ;
            sh:path s223:observes ] .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:Infrared-Signal a s223:Class,
        s223:Infrared-Signal,
        sh:NodeShape ;
    rdfs:label "Infrared signal" ;
    doc:subclauses ( s223:Signal-FiberEthernet ) ;
    rdfs:comment """ This class and its enumerated subclasses represent the use of electromagnetic energy in the infrared frequency range for creating communication signals and common communication protocols.

: Infrared-Signal Enumerations

| Enumeration |
|:-----------|
| `Signal-FiberEthernet` (see {s223:Signal-FiberEthernet}) |""" ;
    rdfs:subClassOf s223:Light-Infrared .


            

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


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@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:InletConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Inlet connection point" ;
    rdfs:comment "An `InletConnectionPoint` is a `ConnectionPoint` for which a `Substance-Medium` is expected to flow into the associated `Connectable`." ;
    rdfs:subClassOf s223:ConnectionPoint ;
    sh:property [ rdfs:comment "An `InletConnectionPoint` shall be associated with at most one other `InletConnectionPoint` using the relation `mapsTo`." ;
            sh:class s223:InletConnectionPoint ;
            sh:maxCount 1 ;
            sh:message "s223: An `InletConnectionPoint` shall be associated with at most one other `InletConnectionPoint` using the relation `mapsTo`." ;
            sh:path s223:mapsTo ],
        [ 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 "s223: {$this} must have a `mapsTo` an `InletConnectionPoint` of {?parentEquipment} and not an external `Connection` from {?sourceEquipment}." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this ?parentEquipment ?sourceEquipment
WHERE {
?equipment s223:hasConnectionPoint $this .
?parentEquipment s223:contains ?equipment .
$this s223:connectsThrough/s223:connectsFrom ?sourceEquipment .
FILTER NOT EXISTS {?parentEquipment s223:contains ?sourceEquipment} .
FILTER NOT EXISTS {$this s223:mapsTo ?anything} .
}
""" ] ],
        [ rdfs:comment "An `InletConnectionPoint` shall be associated with at most one `OutletConnectionPoint` or `BidirectionalConnectionPoint` using the relation `pairedConnectionPoint`." ;
            sh:maxCount 1 ;
            sh:message "s223: An `InletConnectionPoint` shall be associated with at most one `OutletConnectionPoint` or `BidirectionalConnectionPoint` using the relation `pairedConnectionPoint`." ;
            sh:path s223:pairedConnectionPoint ;
            sh:xone ( [ sh:class s223:OutletConnectionPoint ] [ sh:class s223:BidirectionalConnectionPoint ] ) ] .


            

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


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 a modeling construct used when a branching point within a `Connection` (see {s223:Connection}) is of significance,
such as specifying the observation location of a `Sensor`, or when a modeler wants to expose a branch point within a containing piece of `Equipment`.
When a `Junction` is used, what might have been modeled as a single, branched `Connection`
is separated into three or more separate connections, all tied together with the `Junction` and its associated connection points.

`Junction` is a subclass of `Connectable`, which gives it the ability to have connection points, but unlike `Equipment` (and like `Connection`)
it is not allowed to change the `Substance-Medium` that passes through it. This is why `Junction` is a sibling class to `Equipment` and not a subclass.
This constraint to maintain compatible mediums among a `Junction` and all of its associated `ConnectionPoint`s gives rise to multiple
validation test cases, where the specified medium might be a pure medium, or a mixture with constituents (see {s223:Substance-Medium}).""" ;
    rdfs:subClassOf s223:Connectable ;
    sh:property [ rdfs:comment "Incompatible Medium. Case 7: Two `ConnectionPoint`s with mediums with constituents." ;
            sh:name "Test for compatible declared Medium" ;
            sh:path s223:hasMedium ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "Incompatible Medium. Case 7: Two `ConnectionPoint`s with mediums with constituents." ;
                    sh:message "s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}." ;
                    sh:prefixes ns6: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 .
    ?m1 s223:composedOf/s223:ofConstituent ?s1 .
    ?m2 s223:composedOf/s223:ofConstituent ?s2 .
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s11 .
    ?m2 s223:composedOf/s223:ofConstituent ?s12 .
    FILTER (?s11 = ?s12) .
  }
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s21 .
    ?m2 s223:composedOf/s223:ofConstituent ?s22 .
    {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .
  }
}
""" ] ],
        [ rdfs:comment "Incompatible Medium. Case 3: `Junction` with a pure medium and an associated `ConnectionPoint` with constituents" ;
            sh:name "Test for compatible declared Medium" ;
            sh:path s223:hasMedium ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "Incompatible Medium. Case 3: `Junction` with a pure medium and an associated `ConnectionPoint` with constituents." ;
                    sh:message "s223: `Junction` {$this} with Medium {?m1} is incompatible with {?cp} with Medium {?m2}." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this ?m2 ?cp ?m1
WHERE {
$this s223:cnx ?cp .
?cp a/rdfs:subClassOf* s223:ConnectionPoint .
?cp s223:hasMedium ?m2 .
$this s223:hasMedium ?m1 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" ] ],
        [ rdfs:comment "Incompatible Medium. Case5: Two `ConnectionPoint`s with pure mediums." ;
            sh:name "Test for compatible declared Medium" ;
            sh:path s223:hasMedium ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "Incompatible Medium. Case 5: Two `ConnectionPoint`s with pure mediums." ;
                    sh:message "s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}." ;
                    sh:prefixes ns6: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 .
FILTER (?cp1 != ?cp2 ) .
?cp2 s223:hasMedium ?m2 .
FILTER (?m1 != ?m2 ) .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {?m2 s223:composedOf ?c2}
FILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .
FILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .
}
""" ] ],
        [ rdfs:comment "Incompatible Medium. Case 2: A `Junction` with constituents and an associated `ConnectionPoint` with a pure medium." ;
            sh:name "Test for compatible declared Medium" ;
            sh:path s223:hasMedium ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "Incompatible Medium. Case 2: A `Junction` with constituents and an associated `ConnectionPoint` with a pure medium." ;
                    sh:message "s223: `Junction` {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}." ;
                    sh:prefixes ns6: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 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" ] ],
        [ rdfs:comment "A `Junction` shall be associated with exactly one `Substance-Medium` using the relation `hasMedium`." ;
            sh:class s223:Substance-Medium ;
            sh:maxCount 1 ;
            sh:message "s223: A `Junction` shall be associated with exactly one `Substance-Medium` using the relation `hasMedium`." ;
            sh:minCount 1 ;
            sh:path s223:hasMedium ],
        [ rdfs:comment "A `Junction` shall be associated with at least two connection points using the relation `hasConnectionPoint`." ;
            sh:message "s223: A `Junction` shall be associated with at least two connection points using the relation `hasConnectionPoint`." ;
            sh:minCount 2 ;
            sh:path s223:hasConnectionPoint ],
        [ rdfs:comment "Incompatible Medium. Case 6: Two `ConnectionPoint`s, one with a medium with constituents and one a pure medium." ;
            sh:name "Test for compatible declared Medium" ;
            sh:path s223:hasMedium ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "Incompatible Medium. Case 6: Two `ConnectionPoint`s with a medium with constituents and a pure medium." ;
                    sh:message "s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}." ;
                    sh:prefixes ns6: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 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" ] ],
        [ rdfs:comment "Incompatible Medium. Case1: A `Junction` with a pure medium and an associated `ConnectionPoint` with a pure medium." ;
            sh:name "Test for compatible declared Medium" ;
            sh:path s223:hasMedium ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "Incompatible Medium. Case 1: Two pure mediums." ;
                    sh:message "s223: `Junction` {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}." ;
                    sh:prefixes ns6: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 {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {?m2 s223:composedOf ?c2}
FILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .
FILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .
}
""" ] ],
        [ rdfs:comment "Incompatible Medium. Case4: `Junction` with constituents and an associated `ConnectionPoint` with constituents." ;
            sh:name "Test for compatible declared Medium" ;
            sh:path s223:hasMedium ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "Incompatible Medium. Case 4: `Junction` with constituents and an associated `ConnectionPoint` with constituents." ;
                    sh:message "s223: `Junction` {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}." ;
                    sh:prefixes ns6: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 .
    ?m1 s223:composedOf/s223:ofConstituent ?s1 .
    ?m2 s223:composedOf/s223:ofConstituent ?s2 .
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s11 .
    ?m2 s223:composedOf/s223:ofConstituent ?s12 .
    FILTER (?s11 = ?s12) .
  }
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s21 .
    ?m2 s223:composedOf/s223:ofConstituent ?s22 .
    {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .
  }
}
""" ] ] .


            

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


@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:JunctionCPShape a sh:NodeShape ;
    rdfs:label "Junction CP shape" ;
    rdfs:comment "A `Junction` shall have at least two `ConnectionPoint`s including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point." ;
    sh:message "s223: A `Junction` shall have at least two `ConnectionPoint`s including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point." ;
    sh:or ( [ sh:property [ rdfs:comment "A `Junction` shall have at least two `ConnectionPoint`s including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point." ;
                        sh:path s223:hasConnectionPoint ;
                        sh:qualifiedMinCount 1 ;
                        sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ] ;
                        sh:qualifiedValueShapesDisjoint true ],
                    [ rdfs:comment "A `Junction` shall have at least two `ConnectionPoint`s including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point." ;
                        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 two `ConnectionPoint`s including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point." ;
                        sh:path s223:hasConnectionPoint ;
                        sh:qualifiedMinCount 1 ;
                        sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ] ;
                        sh:qualifiedValueShapesDisjoint true ] ] ) ;
    sh:severity sh:Warning ;
    sh:targetClass s223:Junction .


            

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


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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:JunctionUsageWarning a sh:NodeShape ;
    rdfs:label "Junction usage warning" ;
    rdfs:comment "This `Junction` is not used to model significant details of a branching point in a connection, and may not be required." ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "This `Junction` is not used to model significant details of a branching point in a connection, and may not be required." ;
            sh:message "s223: This `Junction` {$this} is not used to model significant details of a branching point in a connection, and may not be required." ;
            sh:prefixes ns6:model ;
            sh:select """
            SELECT $this
            WHERE {
                $this s223:hasConnectionPoint? | s223:connectedThrough? ?junc_cp_conn .

                FILTER NOT EXISTS {
                    # Connection has a relation that is not in the structural or required relationships
                    { ?junc_cp_conn ?p ?o . } UNION {?o ?p ?junc_cp_conn . }
                    FILTER (?p NOT IN (
                        s223:connected, s223:connectedTo, s223:connectedThrough, s223:hasConnectionPoint,
                        s223:connectsAt, s223:isConnectionPointOf, s223:cnx, rdf:type, rdfs:label, rdfs:comment
                    ))
                } .
            }
        """ ;
            sh:severity sh:Warning ] ;
    sh:targetClass s223:Junction .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:Light-Infrared a s223:Class,
        s223:Light-Infrared,
        sh:NodeShape ;
    rdfs:label "Infrared light" ;
    doc:subclauses ( s223:Infrared-Signal ) ;
    rdfs:comment """ This class and its enumerated subclasses represent the use of electromagnetic energy in the infrared frequency range for any defined purpose, including the creation of communication signals and common communication protocols.

: Light-Infrared Enumerations

  | Enumeration |
  |:-----------|
  | `Infrared-Signal` (see {s223:Infrared-Signal}) |""" ;
    rdfs:subClassOf s223:EM-Light .


            

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


@prefix 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:Light-Ultraviolet a s223:Class,
        s223:Light-Ultraviolet,
        sh:NodeShape ;
    rdfs:label "Ultraviolet light" ;
    rdfs:comment "`Light-Ultraviolet`" ;
    rdfs:subClassOf s223:EM-Light .


            

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


@prefix 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:Light-Visible a s223:Class,
        s223:Light-Visible,
        sh:NodeShape ;
    rdfs:label "Visible light" ;
    rdfs:comment "`Light-Visible`" ;
    rdfs:subClassOf s223:EM-Light .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:LightSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Light sensor" ;
    doc:subclauses ( s223:IlluminanceSensor s223:CorrelatedColorTemperatureSensor s223:DuvSensor ) ;
    rdfs:comment "A `Sensor` that `observes` a `QuantifiableObservableProperty` that represents an attribute of light, as specified by the `QuantityKind` of the `Property` being observed, as described in Clauses 5.6.5.1 through 5.6.5.3." ;
    rdfs:subClassOf s223:Sensor ;
    sh:property [ rdfs:comment "A `LightSensor` shall always observe a `QuantifiableObservableProperty`." ;
            sh:class s223:QuantifiableObservableProperty ;
            sh:message "s223: A `LightSensor` shall always observe a `QuantifiableObservableProperty`." ;
            sh:path s223:observes ] .


            

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


@prefix 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:Liquid-Subcooled a s223:Class,
        s223:Liquid-Subcooled,
        sh:NodeShape ;
    rdfs:label "Subcooled liquid" ;
    rdfs:comment "Liquid-Subcooled" ;
    rdfs:subClassOf s223:ThermodynamicPhase-Liquid .


            

URI: http://data.ashrae.org/standard223#Logical-False


@prefix 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:Logical-False a s223:Class,
        s223:Logical-False,
        sh:NodeShape ;
    rdfs:label "Logical false" ;
    rdfs:comment "Logical-False" ;
    rdfs:subClassOf s223:Binary-Logical .


            

URI: http://data.ashrae.org/standard223#Logical-True


@prefix 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:Logical-True a s223:Class,
        s223:Logical-True,
        sh:NodeShape ;
    rdfs:label "Logical true" ;
    rdfs:comment "Logical-True" ;
    rdfs:subClassOf s223:Binary-Logical .


            

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 piece of `Equipment` consisting of a light source(s) and ballast(s) or driver(s) (when applicable), together with the parts designed to distribute the light, to position and protect the light source(s), and to connect the light source(s) to the power supply. Also known as a light fixture." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `Luminaire` shall have at least one outlet using the medium `EM-Light`." ;
            sh:message "s223: A `Luminaire` shall have at least one outlet using the medium `EM-Light`." ;
            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 ] ] ] ],
        [ rdfs:comment "A `Luminaire` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: A `Luminaire` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:Medium-Constituent a s223:Class,
        s223:Medium-Constituent,
        sh:NodeShape ;
    rdfs:label "Constituent" ;
    doc:subclauses ( s223:Constituent-Electricity s223:Constituent-EM s223:Constituent-NOX s223:Constituent-Refrigerant ) ;
    rdfs:comment """
This class and its enumerated subclasses represent substances that may be combined to form a `Medium-Mix`. Constituents are distinguished from `Medium-Mix` and its subclasses in that constituents cannot use the `composedOf` relation to reference a concentration of other constituents.

: Medium-Constituent Enumerations

| Enumeration |
|:-----------|
| `Constituent-Ar` |
| `Constituent-CH4` |
| `Constituent-CO` |
| `Constituent-CO2` |
| `Constituent-Electricity` (see {s223:Constituent-Electricity}) |
| `Constituent-EM` (see {s223:Constituent-EM}) |
| `Constituent-Glycol` |
| `Constituent-H2O` |
| `Constituent-H2S` |
| `Constituent-N2` |
| `Constituent-NH3` |
| `Constituent-NOX` (see {s223:Constituent-NOX}) |
| `Constituent-O2` |
| `Constituent-O3` |
| `Constituent-Oil` |
| `Constituent-Radon` |
| `Constituent-Refrigerant` (see {s223:Constituent-Refrigerant}) |
| `Constituent-SO2` |
| `Constituent-VolatileOrganicCompounds` |
""" ;
    rdfs:subClassOf s223:Substance-Medium ;
    sh:property [ rdfs:comment "A `Medium-Constituent` shall not be associated with any substances using the relation `composedOf`." ;
            sh:maxCount 0 ;
            sh:message "s223: A `Medium-Constituent` shall not be associated with any substances using the relation `composedOf`." ;
            sh:path s223:composedOf ] .


            

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


@prefix 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-MechanicalLinkage a s223:Class,
        s223:Medium-MechanicalLinkage,
        sh:NodeShape ;
    rdfs:label "Mechanical linkage" ;
    rdfs:comment "This class supports the transfer of mechanical power at `ConnectionPoint`s or through `Connection`s." ;
    rdfs:subClassOf s223:Substance-Medium .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:Medium-Mix a s223:Class,
        s223:Medium-Mix,
        sh:NodeShape ;
    rdfs:label "Mixed medium" ;
    doc:subclauses ( s223:Mix-Fluid s223:Mix-PowerAndSignal ) ;
    rdfs:comment """
This class and its subclasses represent substances that are composed of constituents. The components of a `Medium-Mix` can be modeled using the relations `composedOf` and `ofConstituent`. See Figure 10-8a and Figure 10-8b.

Figure 10-8a shows `GlycolSolution-30Percent`, itself a subclass of
`Water-GlycolSolution`, `Fluid-Water`, and `Mix-Fluid`, with a _Water Concentration_
property referencing 70% `Constituent-H2O` by the relation `ofConstituent` and
a _Glycol Concentration_ property referencing 30% `Constituent-Glycol` also
by the relation `ofConstituent`.

Figure 10-8b shows `PowerAndSignal-PoE`, itself a subclass of `Mix-PowerAndSignal`,
composed of a _Power_ `Property` referencing `Electricity-DC` and a _Communications_
`Property` referencing `Signal-WiredEthernet`.

![ ](figures/Figure_10-8_Substance.svg)

: Medium-Mix Enumerations

| Enumeration |
|:-----------|
| `Mix-Fluid` (see {s223:Mix-Fluid}) |
| `Mix-PowerAndSignal` (see {s223:Mix-PowerAndSignal}) |""" ;
    rdfs:subClassOf s223:Substance-Medium ;
    sh:property [ rdfs:comment "A `Medium-Mix` shall be associated with zero or more `Property`s that identify and characterize its constituents using the relation `composedOf`. The `Property` identifies the constituent using the relation `ofConstituent`. If appropriate, a `QuantifiableProperty` may be used to also specify the amount of the constituent using the relations `qudt:hasQuantityKind`, `qudt:hasUnit`, and `hasValue`. For example, see {s223:Water-GlycolSolution}." ;
            sh:class s223:Property ;
            sh:message "s223: A `Medium-Mix` shall be associated with zero or more `Property`s that identify and characterize its constituents using the relation `composedOf`. The `Property` identifies the constituent using the relation `ofConstituent`. If appropriate, a `QuantifiableProperty` may be used to also specify the amount of the constituent using the relations `qudt:hasQuantityKind`, `qudt:hasUnit`, and `hasValue`. For example, see {s223:Water-GlycolSolution}." ;
            sh:path s223:composedOf ] .


            

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


@prefix 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-ThermalContact a s223:Class,
        s223:Medium-ThermalContact,
        sh:NodeShape ;
    rdfs:label "Thermal contact" ;
    rdfs:comment """This class supports the transfer of thermodynamic energy at `ConnectionPoint`s or through `Connection`s
that does not involve electricity or moving a fluid such as air or water.""" ;
    rdfs:subClassOf s223:Substance-Medium .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:MicrowaveOven a s223:Class,
        sh:NodeShape ;
    rdfs:label "Microwave oven" ;
    rdfs:comment "An `ElectricOven` that cooks food by exposing it to electromagnetic radiation in the microwave frequency range." ;
    rdfs:subClassOf s223:ElectricOven ;
    sh:property [ rdfs:comment "A `MicrowaveOven` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: A `MicrowaveOven` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

URI: http://data.ashrae.org/standard223#Mix-Fluid


@prefix doc: <http://sample.org/doc#> .
@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:Mix-Fluid a s223:Class,
        s223:Mix-Fluid,
        sh:NodeShape ;
    rdfs:label "Fluid mixture" ;
    doc:subclauses ( s223:Fluid-Water ) ;
    rdfs:comment """This class and its enumerated subclasses represent substances that are commonly used to convey liquids or gases.

: Mix-Fluid Enumerations

| Enumeration |
|:-----------|
| `Fluid-Air` |
| `Fluid-NaturalGas` |
| `Fluid-Oil` |
| `Fluid-Water` (see {s223:Fluid-Water}) |""" ;
    rdfs:subClassOf s223:Medium-Mix .


            

URI: http://data.ashrae.org/standard223#Mix-PowerAndSignal


@prefix 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:Mix-PowerAndSignal a s223:Class,
        s223:Mix-PowerAndSignal,
        sh:NodeShape ;
    rdfs:label "Power and signal mixture" ;
    rdfs:comment """This class and its enumerated subclasses represent substances that are used to convey the combination of electrical power and electrical communication signals.

: Mix-PowerAndSignal Enumerations

| Enumeration |
|:-----------|
| `PowerAndSignal-PoE` |""" ;
    rdfs:subClassOf s223:Medium-Mix .


            

URI: http://data.ashrae.org/standard223#Modulated-0-10V


@prefix 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:Modulated-0-10V a s223:Class,
        s223:Modulated-0-10V,
        sh:NodeShape ;
    rdfs:label "Modulated 0-10 V" ;
    rdfs:comment "Modulated-0-10V" ;
    rdfs:subClassOf s223:Signal-Modulated .


            

URI: http://data.ashrae.org/standard223#Modulated-4-20mA


@prefix 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:Modulated-4-20mA a s223:Class,
        s223:Modulated-4-20mA,
        sh:NodeShape ;
    rdfs:label "Modulated 4-20 mA" ;
    rdfs:comment "Modulated-4-20mA" ;
    rdfs:subClassOf s223:Signal-Modulated .


            

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


@prefix 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:Modulated-Resistive a s223:Class,
        s223:Modulated-Resistive,
        sh:NodeShape ;
    rdfs:label "Modulated resistive" ;
    rdfs:comment "Modulated-Resistive" ;
    rdfs:subClassOf s223:Signal-Modulated .


            

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


@prefix 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:Monitor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Monitor" ;
    rdfs:comment "An `ElectronicDisplay` designed primarily for the output of visual information supplied by a `Computer`." ;
    rdfs:subClassOf s223:ElectronicDisplay .


            

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


@prefix 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:Motion-False a s223:Class,
        s223:Motion-False,
        sh:NodeShape ;
    rdfs:label "Motion-based false" ;
    rdfs:comment "`Motion-False`" ;
    rdfs:subClassOf s223:Occupancy-Motion .


            

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


@prefix 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:Motion-True a s223:Class,
        s223:Motion-True,
        sh:NodeShape ;
    rdfs:label "Motion-based true" ;
    rdfs:comment "`Motion-True`" ;
    rdfs:subClassOf s223:Occupancy-Motion .


            

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 piece of `Equipment` that converts electrical energy into mechanical energy." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `Motor` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: A `Motor` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:MultipleContainerShape sh:property [ rdfs:comment "An entity can be contained by at most one other entity." ;
            sh:maxCount 1 ;
            sh:message "s223: An entity can be contained by at most one other entity." ;
            sh:path [ sh:inversePath s223:contains ] ] ;
    sh:targetObjectsOf s223:contains .


            

URI: http://data.ashrae.org/standard223#NOX-NO


@prefix 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:NOX-NO a s223:Class,
        s223:NOX-NO,
        sh:NodeShape ;
    rdfs:label "NO" ;
    rdfs:comment "Nitric oxide (NO)" ;
    rdfs:subClassOf s223:Constituent-NOX .


            

URI: http://data.ashrae.org/standard223#NOX-NO2


@prefix 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:NOX-NO2 a s223:Class,
        s223:NOX-NO2,
        sh:NodeShape ;
    rdfs:label "NO2" ;
    rdfs:comment "Nitrogen dioxide (NO2)" ;
    rdfs:subClassOf s223:Constituent-NOX .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:NumberOfElectricalPhases-SinglePhase a s223:Class,
        s223:NumberOfElectricalPhases-SinglePhase,
        sh:NodeShape ;
    rdfs:label "Single phase" ;
    s223:hasValue 1.0 ;
    qudt:hasQuantityKind quantitykind:NumberOfElectricalPhases ;
    qudt:hasUnit unit:NUM ;
    rdfs:comment "Single phase" ;
    rdfs:subClassOf s223:Numerical-NumberOfElectricalPhases .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:NumberOfElectricalPhases-ThreePhase a s223:Class,
        s223:NumberOfElectricalPhases-ThreePhase,
        sh:NodeShape ;
    rdfs:label "Three phase" ;
    s223:hasValue 3.0 ;
    qudt:hasQuantityKind quantitykind:NumberOfElectricalPhases ;
    qudt:hasUnit unit:NUM ;
    rdfs:comment "Three phase" ;
    rdfs:subClassOf s223:Numerical-NumberOfElectricalPhases .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .

s223:Numerical-Frequency a s223:Class,
        s223:Numerical-Frequency,
        sh:NodeShape ;
    rdfs:label "Frequency" ;
    qudt:hasQuantityKind quantitykind:Frequency ;
    qudt:hasUnit unit:HZ ;
    rdfs:comment """This class and its enumerated subclasses represent common frequencies for AC electricity service.

: Numerical-Frequency Enumerations

| Enumeration |
|:-----------|
| `Frequency-50Hz` |
| `Frequency-60Hz` |""" ;
    rdfs:subClassOf s223:EnumerationKind-Numerical ;
    sh:property [ rdfs:comment "A `Numerical-Frequency` shall have a `QuantityKind` of `Frequency`." ;
            sh:in ( quantitykind:Frequency ) ;
            sh:message "s223: A `Numerical-Frequency` shall have a `QuantityKind` of `Frequency`." ;
            sh:path qudt:hasQuantityKind ],
        [ rdfs:comment "A `Numerical-Frequency` shall have a `Unit` of `HZ` (hertz)." ;
            sh:in ( unit:HZ ) ;
            sh:message "s223: A `Numerical-Frequency` shall have a `Unit` of `HZ` (hertz)." ;
            sh:path qudt:hasUnit ] .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .

s223:Numerical-NumberOfElectricalPhases a s223:Class,
        s223:Numerical-NumberOfElectricalPhases,
        sh:NodeShape ;
    rdfs:label "Number of electrical phases" ;
    qudt:hasQuantityKind quantitykind:NumberOfElectricalPhases ;
    qudt:hasUnit unit:NUM ;
    rdfs:comment """This class and its enumerated subclasses represent all possible service phases for AC electricity service, i.e., single-phase or three-phase. The `hasNumberOfElectricalPhases` relation points to one of the values of this enumeration.

: Numerical-NumberOfElectricalPhases Enumerations

| Enumeration |
|:-----------|
| `NumberOfElectricalPhases-SinglePhase` |
| `NumberOfElectricalPhases-ThreePhase` |""" ;
    rdfs:subClassOf s223:EnumerationKind-Numerical ;
    sh:property [ rdfs:comment "A `Numerical-NumberOfElectricalPhases` shall have a `Unit` of `NUM` (number)." ;
            sh:in ( unit:NUM ) ;
            sh:message "s223: A `Numerical-NumberOfElectricalPhases` shall have a `Unit` of `NUM` (number)." ;
            sh:path qudt:hasUnit ],
        [ rdfs:comment "A `Numerical-NumberOfElectricalPhases` shall have a `QuantityKind` of `NumberOfElectricalPhases`." ;
            sh:in ( quantitykind:NumberOfElectricalPhases ) ;
            sh:message "s223: A `Numerical-NumberOfElectricalPhases` shall have a `QuantityKind` of `NumberOfElectricalPhases`." ;
            sh:path qudt:hasQuantityKind ] .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .

s223:Numerical-Voltage a s223:Class,
        s223:Numerical-Voltage,
        sh:NodeShape ;
    rdfs:label "Voltage" ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment """This class and its enumerated subclasses represent common voltages for electricity service.
  doc:subclauses (
      s223:Voltage-PoE
    ) ;


: Numerical-Voltage Enumerations

| Enumeration |
|:-----------|
| `Voltage-0V` |
| `Voltage-2.5V` |
| `Voltage-3V` |
| `Voltage-5V` |
| `Voltage-6V` |
| `Voltage-12V` |
| `Voltage-24V` |
| `Voltage-48V` |
| `Voltage-110V` |
| `Voltage-120V` |
| `Voltage-127V` |
| `Voltage-139V` |
| `Voltage-190V` |
| `Voltage-208V` |
| `Voltage-219V` |
| `Voltage-220V` |
| `Voltage-230V` |
| `Voltage-240V` |
| `Voltage-277V` |
| `Voltage-347V` |
| `Voltage-380V` |
| `Voltage-400V` |
| `Voltage-415V` |
| `Voltage-480V` |
| `Voltage-600V` |
| `Voltage-1730V` |
| `Voltage-1900V` |
| `Voltage-2400V` |
| `Voltage-3000V` |
| `Voltage-3300V` |
| `Voltage-3460V` |
| `Voltage-3810V` |
| `Voltage-4160V` |
| `Voltage-5770V` |
| `Voltage-6000V` |
| `Voltage-6600V` |
| `Voltage-10000V` |
| `Voltage-PoE` (see {s223:Voltage-PoE}) |""" ;
    rdfs:subClassOf s223:EnumerationKind-Numerical ;
    sh:property [ rdfs:comment "A `Numerical-Voltage` shall have a `QuantityKind` of `Voltage`." ;
            sh:in ( quantitykind:Voltage ) ;
            sh:message "s223: A `Numerical-Voltage` shall have a `QuantityKind` of `Voltage`." ;
            sh:path qudt:hasQuantityKind ],
        [ rdfs:comment "A `Numerical-Voltage` shall have a `Unit` of `V` (volt)." ;
            sh:in ( unit:V ) ;
            sh:message "s223: A `Numerical-Voltage` shall have a `Unit` of `V` (volt)." ;
            sh:path qudt:hasUnit ] .


            

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#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:ObservableProperty a s223:Class,
        sh:NodeShape ;
    rdfs:label "Observable property" ;
    rdfs:comment """The term "observable" implies that reading the `ObservableProperty` value will return the result of a physical observation, usually by a `Sensor`.
In contrast, the term "actuatable" (see {s223:ActuatableProperty}) implies that writing to the `ActuatableProperty` value will directly trigger a physical actuation.""" ;
    rdfs:subClassOf s223:Property ;
    sh:property [ rdfs:comment "An `ObservableProperty` is usually referred to by a `Sensor` using the relation `observes`." ;
            sh:class s223:Sensor ;
            sh:message "s223: An `ObservableProperty` is usually referred to by a `Sensor` using the relation `observes`." ;
            sh:minCount 1 ;
            sh:path [ sh:inversePath s223:observes ] ;
            sh:severity sh:Warning ] .


            

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 "Motion-based occupancy" ;
    rdfs:comment """This class and its enumerated subclasses represent the detection of human motion in a space.

: Occupancy-Motion Enumerations

| Enumeration |
|:-----------|
| `Motion-False` |
| `Motion-True` |""" ;
    rdfs:subClassOf s223:EnumerationKind-Occupancy .


            

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


@prefix 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-Occupied a s223:Class,
        s223:Occupancy-Occupied,
        sh:NodeShape ;
    rdfs:label "Generic occupancy" ;
    rdfs:comment """This class and its enumerated subclasses represent the generic detection of human occupancy in a space.

: Occupancy-Occupied Enumerations

| Enumeration |
|:-----------|
| `Occupied-False` |
| `Occupied-True` |""" ;
    rdfs:subClassOf s223:EnumerationKind-Occupancy .


            

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 "Presence-based occupancy" ;
    rdfs:comment """This class and its enumerated subclasses represent the detection of human presence in a space.

: Occupancy-Presence Enumerations

| Enumeration |
|:-----------|
| `Presence-False` |
| `Presence-True` |""" ;
    rdfs:subClassOf s223:EnumerationKind-Occupancy .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:OccupancySensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Occupancy sensor" ;
    doc:subclauses ( s223:OccupantMotionSensor s223:OccupantPresenceSensor s223:OccupantCountSensor ) ;
    rdfs:comment "A `Sensor` that `observes` an `ObservableProperty` that represents an attribute of occupancy in a space." ;
    rdfs:subClassOf s223:Sensor .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .

s223:OccupantCountSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Occupant count sensor" ;
    rdfs:comment """An `OccupancySensor` that `observes` a `QuantifiableObservableProperty` that represents a population, usually of humans, within
  a sensing region.""" ;
    rdfs:subClassOf s223:OccupancySensor ;
    sh:property [ rdfs:comment "An `OccupantCountSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Population` and a `Unit` of `NUM`." ;
            sh:class s223:QuantifiableObservableProperty ;
            sh:message "s223: An `OccupantCountSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Population` and a `Unit` of `NUM`." ;
            sh:node [ sh:property [ sh:in ( quantitykind:Population ) ;
                            sh:path qudt:hasQuantityKind ],
                        [ sh:in ( unit:NUM ) ;
                            sh:path qudt:hasUnit ] ] ;
            sh:path s223:observes ] .


            

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#> .

s223:OccupantMotionSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Occupant motion sensor" ;
    rdfs:comment "An `OccupancySensor` that `observes` an `EnumeratedObservableProperty` that represents motion within a sensing region." ;
    rdfs:subClassOf s223:OccupancySensor ;
    sh:property [ rdfs:comment "An `OccupantMotionSensor` shall always observe an `EnumeratedObservableProperty` that has an `EnumerationKind` of `Occupancy-Motion`." ;
            sh:class s223:EnumeratedObservableProperty ;
            sh:message "s223: An `OccupantMotionSensor` shall always observe an `EnumeratedObservableProperty` that has an `EnumerationKind` of `Occupancy-Motion`." ;
            sh:node [ sh:property [ sh:class s223:Occupancy-Motion ;
                            sh:path s223:hasEnumerationKind ] ] ;
            sh:path s223:observes ] .


            

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#> .

s223:OccupantPresenceSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Occupant presence sensor" ;
    rdfs:comment "An `OccupancySensor` that `observes` an `EnumeratedObservableProperty` that represents presence within a sensing region." ;
    rdfs:subClassOf s223:OccupancySensor ;
    sh:property [ rdfs:comment "An `OccupantPresenceSensor` shall always observe an `EnumeratedObservableProperty` that has an `EnumerationKind` of `Occupancy-Presence`." ;
            sh:class s223:EnumeratedObservableProperty ;
            sh:message "s223: An `OccupantPresenceSensor` shall always observe an `EnumeratedObservableProperty` that has an `EnumerationKind` of `Occupancy-Presence`." ;
            sh:node [ sh:property [ sh:class s223:Occupancy-Presence ;
                            sh:path s223:hasEnumerationKind ] ] ;
            sh:path s223:observes ] .


            

URI: http://data.ashrae.org/standard223#Occupied-False


@prefix 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:Occupied-False a s223:Class,
        s223:Occupied-False,
        sh:NodeShape ;
    rdfs:label "False" ;
    rdfs:comment "`Occupied-False`" ;
    rdfs:subClassOf s223:Occupancy-Occupied .


            

URI: http://data.ashrae.org/standard223#Occupied-True


@prefix 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:Occupied-True a s223:Class,
        s223:Occupied-True,
        sh:NodeShape ;
    rdfs:label "True" ;
    rdfs:comment "`Occupied-True`" ;
    rdfs:subClassOf s223:Occupancy-Occupied .


            

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


@prefix 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:OnOff-Off a s223:Class,
        s223:OnOff-Off,
        sh:NodeShape ;
    rdfs:label "Off" ;
    rdfs:comment "OnOff-Off" ;
    rdfs:subClassOf s223:Binary-OnOff .


            

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


@prefix 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:OnOff-On a s223:Class,
        s223:OnOff-On,
        sh:NodeShape ;
    rdfs:label "On" ;
    rdfs:comment "OnOff-On" ;
    rdfs:subClassOf s223:Binary-OnOff .


            

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


@prefix 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:OutdoorPhysicalSpace a s223:Class,
        sh:NodeShape ;
    rdfs:label "Outdoor physical space" ;
    rdfs:comment "A `PhysicalSpace` that is outside of the building where, for example, outdoor ambient properties might be measured, within a suitably defined `DomainSpace`." ;
    rdfs:subClassOf s223:PhysicalSpace .


            

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


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@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:OutletConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Outlet connection point" ;
    rdfs:comment "An `OutletConnectionPoint` is a `ConnectionPoint` for which a `Substance-Medium` is expected to flow out of the associated `Connectable`." ;
    rdfs:subClassOf s223:ConnectionPoint ;
    sh:property [ rdfs:comment "An `OutletConnectionPoint` shall be associated with at most one other `OutletConnectionPoint` using the relation `mapsTo`." ;
            sh:class s223:OutletConnectionPoint ;
            sh:maxCount 1 ;
            sh:message "s223: An `OutletConnectionPoint` shall be associated with at most one other `OutletConnectionPoint` using the relation `mapsTo`." ;
            sh:path s223:mapsTo ],
        [ 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 "s223: {$this} must have a `mapsTo` an `OutletConnectionPoint` of {?parentEquipment} and not an external `Connection` to {?destinationEquipment}." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this ?parentEquipment ?destinationEquipment
WHERE {
?equipment s223:hasConnectionPoint $this .
?parentEquipment s223:contains ?equipment .
$this s223:connectsThrough/s223:connectsTo ?destinationEquipment .
FILTER NOT EXISTS {?parentEquipment s223:contains ?destinationEquipment} .
FILTER NOT EXISTS {$this s223:mapsTo ?anything} .
}
""" ] ],
        [ rdfs:comment "An `OutletConnectionPoint` shall be associated with at most one `InletConnectionPoint` or `BidirectionalConnectionPoint` using the relation `pairedConnectionPoint`." ;
            sh:maxCount 1 ;
            sh:message "s223: An `OutletConnectionPoint` shall be associated with at most one `InletConnectionPoint` or `BidirectionalConnectionPoint` using the relation `pairedConnectionPoint`." ;
            sh:path s223:pairedConnectionPoint ;
            sh:xone ( [ sh:class s223:InletConnectionPoint ] [ sh:class s223:BidirectionalConnectionPoint ] ) ] .


            

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


@prefix 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:Particulate-PM1.0 a s223:Class,
        s223:Particulate-PM1.0,
        sh:NodeShape ;
    rdfs:label "PM 1.0" ;
    rdfs:comment "Particulate-PM1.0" ;
    rdfs:subClassOf s223:Substance-Particulate .


            

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


@prefix 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:Particulate-PM10.0 a s223:Class,
        s223:Particulate-PM10.0,
        sh:NodeShape ;
    rdfs:label "PM 10.0" ;
    rdfs:comment "Particulate-PM10.0" ;
    rdfs:subClassOf s223:Substance-Particulate .


            

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


@prefix 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:Particulate-PM2.5 a s223:Class,
        s223:Particulate-PM2.5,
        sh:NodeShape ;
    rdfs:label "PM 2.5" ;
    rdfs:comment "Particulate-PM2.5" ;
    rdfs:subClassOf s223:Substance-Particulate .


            

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


@prefix 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:Particulate-Smoke a s223:Class,
        s223:Particulate-Smoke,
        sh:NodeShape ;
    rdfs:label "Smoke" ;
    rdfs:comment "Smoke as a particulate of unspecified size, but formed as a product of combustion" ;
    rdfs:subClassOf s223:Substance-Particulate .


            

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 `Sensor` that `observes` a `QuantifiableObservableProperty` that represents an amount of a particulate in a medium, in contrast
to a `ConcentrationSensor` that `observes` a `QuantifiableObservableProperty` that represents a concentration of a miscible constituent in a medium
(see {s223:ConcentrationSensor}).

The 223 standard does not constrain the `Unit` or `QuantityKind` reported by a `ParticulateSensor`, but possible
`QuantityKind`s include `Density` (mass per volume), `ParticleNumberDensity` (count per volume), and `DimensionlessRatio` (with units such as `PPM` or
`PPB`). Some particulate sensors may claim to report a raw count of particles, for which a `QuantityKind` of `Count` could be used, but the required
context for such a measurement should be provided in the sensor's documentation to specify if it in fact measures a count per volume (e.g., `ParticleNumberDensity`),
time (e.g., `CountRate` or `ParticleCurrent`), or some
other combination. Explicitly declaring the `QuantityKind` of a sensor's output is preferable to relying on implicit assumptions.""" ;
    rdfs:subClassOf s223:Sensor ;
    sh:property [ rdfs:comment "A `ParticulateSensor` shall always observe a `QuantifiableObservableProperty`." ;
            sh:class s223:QuantifiableObservableProperty ;
            sh:message "s223: A `ParticulateSensor` shall always observe a `QuantifiableObservableProperty`." ;
            sh:path s223:observes ],
        [ rdfs:comment "A `ParticulateSensor` shall be associated with zero or more `Substance-Particulate`s using the relation `ofSubstance`." ;
            sh:class s223:Substance-Particulate ;
            sh:message "s223: A `ParticulateSensor` shall be associated with zero or more `Substance-Particulate`s using the relation `ofSubstance`." ;
            sh:path s223:ofSubstance ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:PersonalComputer a s223:Class,
        sh:NodeShape ;
    rdfs:label "Personal computer" ;
    rdfs:comment "A `Computer` designed primarily for use by a single person." ;
    rdfs:subClassOf s223:Computer ;
    sh:property [ rdfs:comment "A `PersonalComputer` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: A `PersonalComputer` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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 "A `PhotovoltaicModule` shall have at least one inlet using the medium `EM-Light`." ;
            sh:message "s223: A `PhotovoltaicModule` shall have at least one inlet using the medium `EM-Light`." ;
            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 `PhotovoltaicModule` shall have at least one outlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: A `PhotovoltaicModule` shall have at least one outlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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 "An architectural concept representing a room, a part of a room, a collection of rooms, or any other physical region in a building. PhysicalSpaces may be grouped to define larger `PhysicalSpace`s using the relation `contains` (see {s223:contains})." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ rdfs:comment "A `PhysicalSpace` shall be associated with zero or more contained `PhysicalSpace`s using the relation `contains`." ;
            sh:class s223:PhysicalSpace ;
            sh:message "s223: A `PhysicalSpace` shall be associated with zero or more contained `PhysicalSpace`s using the relation `contains`." ;
            sh:path s223:contains ],
        [ rdfs:comment "A `PhysicalSpace` shall be associated with zero or more enclosed `DomainSpace`s using the relation `encloses`." ;
            sh:class s223:DomainSpace ;
            sh:message "s223: A `PhysicalSpace` shall be associated with zero or more enclosed `DomainSpace`s using the relation `encloses`." ;
            sh:path s223:encloses ] .


            

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 `Connection` that is used primarily to transport liquids and gases such as water, sewage, natural gas, and compressed air." ;
    rdfs:subClassOf s223:Connection .


            

URI: http://data.ashrae.org/standard223#PoE-802.3af-1


@prefix 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:PoE-802.3af-1 a s223:Class,
        s223:PoE-802.3af-1,
        sh:NodeShape ;
    rdfs:label "PoE 802.3af-1" ;
    s223:hasDCDifferentialVoltage s223:Voltage-PoE ;
    rdfs:comment "PoE-802.3af-1" ;
    rdfs:subClassOf s223:DC-PoE .


            

URI: http://data.ashrae.org/standard223#PoE-802.3at-2


@prefix 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:PoE-802.3at-2 a s223:Class,
        s223:PoE-802.3at-2,
        sh:NodeShape ;
    rdfs:label "PoE 802.3at-2" ;
    s223:hasDCDifferentialVoltage s223:Voltage-PoE ;
    rdfs:comment "PoE-802.3at-2" ;
    rdfs:subClassOf s223:DC-PoE .


            

URI: http://data.ashrae.org/standard223#PoE-802.3bt-3


@prefix 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:PoE-802.3bt-3 a s223:Class,
        s223:PoE-802.3bt-3,
        sh:NodeShape ;
    rdfs:label "PoE 802.3bt-3" ;
    s223:hasDCDifferentialVoltage s223:Voltage-PoE ;
    rdfs:comment "PoE-802.3bt-3" ;
    rdfs:subClassOf s223:DC-PoE .


            

URI: http://data.ashrae.org/standard223#PoE-802.3bt-4


@prefix 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:PoE-802.3bt-4 a s223:Class,
        s223:PoE-802.3bt-4,
        sh:NodeShape ;
    rdfs:label "PoE 802.3bt-4" ;
    s223:hasDCDifferentialVoltage s223:Voltage-PoE ;
    rdfs:comment "PoE-802.3bt-4" ;
    rdfs:subClassOf s223:DC-PoE .


            

URI: http://data.ashrae.org/standard223#Position-Closed


@prefix 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:Position-Closed a s223:Class,
        s223:Position-Closed,
        sh:NodeShape ;
    rdfs:label "Closed" ;
    rdfs:comment "Position-Closed" ;
    rdfs:subClassOf s223:Binary-Position .


            

URI: http://data.ashrae.org/standard223#Position-Open


@prefix 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:Position-Open a s223:Class,
        s223:Position-Open,
        sh:NodeShape ;
    rdfs:label "Open" ;
    rdfs:comment "Position-Open" ;
    rdfs:subClassOf s223:Binary-Position .


            

URI: http://data.ashrae.org/standard223#PowerAndSignal-PoE


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:PowerAndSignal-PoE a s223:Class,
        s223:PowerAndSignal-PoE,
        sh:NodeShape ;
    rdfs:label "Power over Ethernet (PoE)" ;
    s223:composedOf [ a s223:Property ;
            rdfs:label "Unspecified" ;
            s223:ofConstituent s223:DC-PoE ],
        [ a s223:Property ;
            rdfs:label "Unspecified" ;
            s223:ofConstituent s223:Signal-WiredEthernet ] ;
    rdfs:comment "PowerAndSignal-PoE" ;
    rdfs:subClassOf s223:Mix-PowerAndSignal ;
    sh:property [ rdfs:comment "One of the constituents of a `PowerAndSignal-PoE` shall be a `DC-PoE`." ;
            sh:message "s223: One of the constituents of a `PowerAndSignal-PoE` shall be a `DC-PoE`." ;
            sh:path s223:composedOf ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:Property ;
                    sh:node [ sh:property [ sh:class s223:DC-PoE ;
                                    sh:path s223:ofConstituent ] ] ] ;
            sh:qualifiedValueShapesDisjoint true ],
        [ rdfs:comment "A `PowerAndSignal-PoE` shall be associated with at least two `Property`s using the relation `composedOf`. These characterize the constituents of Power over Ethernet (PoE)." ;
            sh:class s223:Property ;
            sh:message "s223: A `PowerAndSignal-PoE` shall be associated with at least two `Property`s using the relation `composedOf`. These characterize the constituents of Power over Ethernet (PoE)." ;
            sh:minCount 2 ;
            sh:path s223:composedOf ],
        [ rdfs:comment "One of the constituents of a `PowerAndSignal-PoE` shall be a `Signal-WiredEthernet`." ;
            sh:message "s223: One of the constituents of a `PowerAndSignal-PoE` shall be a `Signal-WiredEthernet`." ;
            sh:path s223:composedOf ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:Property ;
                    sh:node [ sh:property [ sh:class s223:Signal-WiredEthernet ;
                                    sh:path s223:ofConstituent ] ] ] ;
            sh:qualifiedValueShapesDisjoint true ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:PowerOverEthernetPort a s223:Class,
        sh:NodeShape ;
    rdfs:label "Power over ethernet port" ;
    rdfs:comment "A piece of `Equipment` that connects and is capable of powering one instance of electrical equipment, such as computers and Wi-Fi access points, as well as connect it to an Ethernet network so it can communicate with other equipment and, optionally, with the Internet." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `PowerOverEthernetPort` shall have at least one bidirectional connection point using the medium `PowerAndSignal-PoE`." ;
            sh:message "s223: A `PowerOverEthernetPort` shall have at least one bidirectional connection point using the medium `PowerAndSignal-PoE`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:PowerAndSignal-PoE ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `PowerOverEthernetPort` shall have at least one inlet using the medium `Electricity-DC`." ;
            sh:message "s223: A `PowerOverEthernetPort` shall have at least one inlet using the medium `Electricity-DC`." ;
            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 ] ] ] ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:PowerOverEthernetSwitch a s223:Class,
        sh:NodeShape ;
    rdfs:label "Power over Ethernet (PoE) switch" ;
    rdfs:comment "A piece of `Equipment` that connects and is capable of powering one or more instances of electrical equipment, such as computers and Wi-Fi access points, as well as connect the equipment to an Ethernet network so they can communicate with each other and, optionally, to the Internet." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `PowerOverEthernetSwitch` shall have at least one bidirectional connection point using the medium `PowerAndSignal-PoE`." ;
            sh:message "s223: A `PowerOverEthernetSwitch` shall have at least one bidirectional connection point using the medium `PowerAndSignal-PoE`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:PowerAndSignal-PoE ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `PowerOverEthernetSwitch` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: A `PowerOverEthernetSwitch` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix 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:Presence-False a s223:Class,
        s223:Presence-False,
        sh:NodeShape ;
    rdfs:label "Presence-based false" ;
    rdfs:comment "`Presence-False`" ;
    rdfs:subClassOf s223:Occupancy-Presence .


            

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


@prefix 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:Presence-True a s223:Class,
        s223:Presence-True,
        sh:NodeShape ;
    rdfs:label "Presence-based true" ;
    rdfs:comment "`Presence-True`" ;
    rdfs:subClassOf s223:Occupancy-Presence .


            

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


@prefix doc: <http://sample.org/doc#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

s223:PressureSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Pressure sensor" ;
    doc:subclauses ( s223:GaugePressureSensor ) ;
    rdfs:comment "A `Sensor` that `observes` a `QuantifiableObservableProperty` that represents a measure of pressure." ;
    rdfs:subClassOf s223:Sensor ;
    sh:property [ rdfs:comment "A `PressureSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Pressure` or `GaugePressure`." ;
            sh:class s223:QuantifiableObservableProperty ;
            sh:message "s223: A `PressureSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Pressure` or `GaugePressure`." ;
            sh:node [ sh:property [ sh:in ( quantitykind:Pressure quantitykind:GaugePressure ) ;
                            sh:path qudt:hasQuantityKind ] ] ;
            sh:path s223:observes ] .


            

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


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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`, a subclass of `Property` that can be modified by a user or machine outside of the model (typically by a command);
- `ObservableProperty`, a subclass of `Property` that are observed (typically measures);
- `EnumerableProperty`, a subclass of `Property` defined by `EnumerationKind`; and
- `QuantifiableProperty`, a subclass of `Property` defined by numerical values.

And their subclass combinations:

- `QuantifiableActuatableProperty`,
- `QuantifiableObservableProperty`,
- `EnumeratedObservableProperty`, and
- `EnumeratedActuatableProperty`.

A `QuantifiableProperty` (or subclass thereof) shall always be associated with a `Unit` and a `QuantityKind`, either explicitly from the `Property`,
or through the associated Value. If the `Unit` is defined, the SHACL reasoner (if invoked) will figure out and assert a `QuantityKind` if it is
unambiguous.

Enumerable properties shall be associated with an `EnumerationKind`. Different types of properties are shown in Figure 11-1.

![Different types of Properties](figures/Figure_11-1_Flavors_of_Properties.svg)

A `Property` instance that is not an instance of one of the subclasses is unconstrained with respect to its value.""" ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ rdfs:comment "A `Property` shall be associated with at most one `Substance-Medium` using the relation `ofMedium`." ;
            sh:class s223:Substance-Medium ;
            sh:maxCount 1 ;
            sh:message "s223: A `Property` shall be associated with at most one `Substance-Medium` using the relation `ofMedium`." ;
            sh:path s223:ofMedium ],
        [ rdfs:comment "A `Property` must not have both a `hasInternalReference` and a `hasExternalReference` relation." ;
            sh:path s223:hasInternalReference ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "A `Property` must not have both a `hasInternalReference` and a `hasExternalReference` relation." ;
                    sh:message "s223: {$this} cannot have both a `hasInternalReference` and a `hasExternalReference` relation." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this
WHERE {
$this s223:hasInternalReference ?int .
$this s223:hasExternalReference ?ext .
}
""" ] ],
        [ rdfs:comment "" ;
            sh:path s223:ofConstituent ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "If an incoming relation `composedOf` exists, then the `Property` must have a declared substance using the relation `ofConstituent`." ;
                    sh:message "s223: `Property` {$this} is referred to by {?something} with s223:composedOf, but the `Property` has no value for s223:ofConstituent." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this ?something
WHERE {
?something s223:composedOf $this .
FILTER NOT EXISTS {$this s223:ofConstituent ?someSubstance} .
}
""" ] ],
        [ rdfs:comment "A `Property` shall be associated with at most one value using the relation `hasValue` to provide a static value in the model. It is not meant for real-time value (see {s223:hasExternalReference})." ;
            sh:maxCount 1 ;
            sh:message "s223: A `Property` shall be associated with at most one value using the relation `hasValue` to provide a static value in the model. It is not meant for real-time value (see {s223:hasExternalReference})." ;
            sh:path s223:hasValue ],
        [ rdfs:comment "A `Property` shall be associated with at most one other `Property` using the relation `isInternalReferenceOf`." ;
            sh:class s223:Property ;
            sh:maxCount 1 ;
            sh:message "s223: A `Property` shall be associated with at most one other `Property` using the relation `isInternalReferenceOf`." ;
            sh:path s223:isInternalReferenceOf ],
        [ rdfs:comment "A `Property` shall be associated with at most one `EnumerationKind-Substance` using the relation `ofSubstance`." ;
            sh:class s223:EnumerationKind-Substance ;
            sh:maxCount 1 ;
            sh:message "s223: A `Property` shall be associated with at most one `EnumerationKind-Substance` using the relation `ofSubstance`." ;
            sh:path s223:ofSubstance ],
        [ rdfs:comment "A `Property` shall be associated with zero or more `ExternalReference`s using the relation `hasExternalReference`." ;
            sh:class s223:ExternalReference ;
            sh:message "s223: A `Property` shall be associated with zero or more `ExternalReference`s using the relation `hasExternalReference`." ;
            sh:path s223:hasExternalReference ],
        [ rdfs:comment "A `Property` shall be associated with zero or more `EnumerationKind`s using the relation `hasAspect`." ;
            sh:class s223:EnumerationKind ;
            sh:message "s223: A `Property` shall be associated with zero or more `EnumerationKind`s using the relation `hasAspect`." ;
            sh:path s223:hasAspect ],
        [ rdfs:comment "A `Property` shall be associated with at most one `Function` using the inverse of the relation `hasOutput`." ;
            sh:class s223:Function ;
            sh:maxCount 1 ;
            sh:message "s223: A `Property` shall be associated with at most one `Function` using the inverse of the relation `hasOutput`." ;
            sh:path [ sh:inversePath s223:hasOutput ] ],
        [ rdfs:comment "A `Property` must not be observed (set) by more than one entity." ;
            sh:maxCount 1 ;
            sh:message "s223: A `Property` must not be observed (set) by more than one entity." ;
            sh:path [ sh:inversePath s223:observes ] ],
        [ rdfs:comment "A `Property` shall be associated with zero or more `Property`s using the relation `hasInternalReference`." ;
            sh:class s223:Property ;
            sh:message "s223: A `Property` shall be associated with zero or more `Property`s using the relation `hasInternalReference`." ;
            sh:path s223:hasInternalReference ],
        [ rdfs:comment "If a `Property` has an `ofSubstance` relation, it should also have an `ofMedium` relation." ;
            sh:path s223:ofSubstance ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "If a `Property` has an `ofSubstance` relation, it should also have an `ofMedium` relation." ;
                    sh:message "s223: Since Property {$this} has an `ofSubstance` relation, it should also have an `ofMedium` relation." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this
WHERE {
$this s223:ofSubstance ?substance .
FILTER NOT EXISTS {$this s223:ofMedium ?medium} .
}
""" ] ],
        [ rdfs:comment "A `Property` must not have both a `hasExternalReference` and a `hasValue` relation." ;
            sh:path s223:hasValue ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "A `Property` must not have both a `hasExternalReference` and a `hasValue` relation." ;
                    sh:message "s223: {$this} cannot have both a `hasExternalReference` and a `hasValue` relation." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this
WHERE {
$this s223:hasExternalReference ?ext .
$this s223:hasValue ?val .
}
""" ] ],
        [ rdfs:comment "A `Property` must not have both a `hasInternalReference` and a `hasValue` relation." ;
            sh:path s223:hasInternalReference ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "A `Property` must not have both a `hasInternalReference` and a `hasValue` relation." ;
                    sh:message "s223: {$this} cannot have both a `hasInternalReference` and a `hasValue` relation." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this
WHERE {
$this s223:hasInternalReference ?int .
$this s223:hasValue ?val .
}
""" ] ] ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "A `Property` cannot be declared an instance of both an `ActuatableProperty` and an `ObservableProperty`." ;
            sh:message "s223: {$this} cannot be declared an instance of both an `ActuatableProperty` and an `ObservableProperty`." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this
WHERE {
$this a/rdfs:subClassOf* s223:ActuatableProperty .
$this a/rdfs:subClassOf* s223:ObservableProperty .
}
""" ] .


            

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


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@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 piece of `Equipment` that imparts energy to a fluid, drawing a fluid into itself through an inlet port, and forcing the fluid out through an outlet port." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "The non-electrical `ConnectionPoint`s of a `Pump` must have compatible media." ;
            sh:path s223:hasConnectionPoint ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "The non-electrical `ConnectionPoint`s of a `Pump` must have compatible media." ;
                    sh:message "s223: {?cpa} and {?cpb} on the `Pump` {$this} have incompatible Media {$mediuma} and {$mediumb}." ;
                    sh:prefixes ns6: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:Constituent-Electricity}) .
  ?cpb s223:hasMedium ?mediumb .
  FILTER (NOT EXISTS {?mediumb a/rdfs:subClassOf* s223:Constituent-Electricity}) .
  FILTER (?mediuma != ?mediumb) .
  FILTER (NOT EXISTS {?mediumb a/rdfs:subClassOf* ?mediuma}) .
  FILTER (NOT EXISTS {?mediuma a/rdfs:subClassOf* ?mediumb}) .
}
""" ] ],
        [ rdfs:comment "A `Pump` shall have at least one outlet using the medium `Fluid-Water`, `Fluid-Oil` or `Constituent-Refrigerant`." ;
            sh:message "s223: A `Pump` shall have at least one outlet using the medium `Fluid-Water`, `Fluid-Oil` or `Constituent-Refrigerant`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:or ( [ sh:class s223:Fluid-Water ] [ sh:class s223:Constituent-Refrigerant ] [ sh:class s223:Fluid-Oil ] ) ;
                                    sh:path s223:hasMedium ] ] ] ;
            sh:severity sh:Warning ],
        [ rdfs:comment "A `Pump` shall have at least one inlet using the medium `Fluid-Water`, `Fluid-Oil` or `Constituent-Refrigerant`." ;
            sh:message "s223: A `Pump` shall have at least one inlet using the medium `Fluid-Water`, `Fluid-Oil` or `Constituent-Refrigerant`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:or ( [ sh:class s223:Fluid-Water ] [ sh:class s223:Constituent-Refrigerant ] [ sh:class s223:Fluid-Oil ] ) ;
                                    sh:path s223:hasMedium ] ] ] ;
            sh:severity sh:Warning ] .


            

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 instances of `QuantifiableProperty` for which numerical values are specified to be modifiable by a user or a machine outside of the model, like a setpoint." ;
    rdfs:subClassOf s223:ActuatableProperty,
        s223:QuantifiableProperty .


            

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 instances of `QuantifiableProperty` for which numerical values are observed, like a temperature reading or a voltage measure." ;
    rdfs:subClassOf s223:ObservableProperty,
        s223:QuantifiableProperty .


            

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


@prefix doc: <http://sample.org/doc#> .
@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix qudt: <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:QuantifiableProperty a s223:Class,
        sh:NodeShape ;
    rdfs:label "Quantifiable property" ;
    doc:subclauses ( s223:hasAlarmStatus s223:hasDeadband s223:hasSetpoint s223:hasThreshold ) ;
    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 ;
    sh:property [ rdfs:comment "This `QuantifiableProperty` and the associated threshold use non-commensurate `Unit`s." ;
            sh:path qudt:hasUnit ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "This `QuantifiableProperty` and the associated threshold use non-commensurate `Unit`s." ;
                    sh:message "s223: {$this} uses `Unit` {?punit}, while threshold {?threshold} uses `Unit` {?tunit}. These are non-commensurate." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this ?threshold ?punit ?tunit
WHERE {
$this qudt:hasUnit ?punit .
$this s223:hasThreshold ?threshold .
?threshold qudt:hasUnit ?tunit .
?punit qudt:hasDimensionVector ?pdv .
?tunit qudt:hasDimensionVector ?tdv .
FILTER (?punit != ?tunit) .
FILTER (?pdv != ?tdv) .
}
""" ] ],
        [ rdfs:comment "A `QuantifiableProperty` should use `hasValue` instead of `qudt:value`." ;
            sh:maxCount 0 ;
            sh:message "s223: A `QuantifiableProperty` should use `hasValue` instead of `qudt:value`." ;
            sh:path qudt:value ],
        [ rdfs:comment "This `QuantifiableProperty` uses a different `Unit` than the setpoint associated with it." ;
            sh:path 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 "s223: {$this} uses `Unit` {?punit}, while setpoint {?setpoint} uses `Unit` {?sunit}. Be careful." ;
                    sh:prefixes ns6: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` cannot have a value without a `Unit`." ;
            sh:path s223:hasValue ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "This `QuantifiableProperty` cannot have a value without a `Unit`." ;
                    sh:message "s223: {$this} referenced by {?subject} has a value of {?v} but does not specify a `Unit`." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this ?v ?subject
WHERE {
$this s223:hasValue ?v .
FILTER NOT EXISTS {$this qudt:hasUnit ?u} .
?subject ?p $this .
}
""" ] ],
        [ rdfs:comment "This `QuantifiableProperty` and the associated setpoint use non-commensurate `Unit`s." ;
            sh:path qudt:hasUnit ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "This `QuantifiableProperty` and the associated setpoint use non-commensurate `Unit`s." ;
                    sh:message "s223: {$this} uses `Unit` {?punit}, while setpoint {?setpoint} uses `Unit` {?sunit}. These are non-commensurate." ;
                    sh:prefixes ns6: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 "A `QuantifiableProperty` shall be associated with at most one Boolean value using the relation `qudt:isDeltaQuantity`. If the relation `qudt:isDeltaQuantity` has a value of true, the associated value should be interpreted as a difference reading, such as a temperature difference. This is needed to distinguish between a temperature reading and a temperature difference reading, which affects unit conversion calculations." ;
            sh:datatype xsd:boolean ;
            sh:maxCount 1 ;
            sh:message "s223: A `QuantifiableProperty` shall be associated with at most one Boolean value using the relation `qudt:isDeltaQuantity`. If the relation `qudt:isDeltaQuantity` has a value of true, the associated value should be interpreted as a difference reading, such as a temperature difference. This is needed to distinguish between a temperature reading and a temperature difference reading, which affects unit conversion calculations." ;
            sh:path qudt:isDeltaQuantity ],
        [ rdfs:comment "This `QuantifiableProperty` uses a different `Unit` than the deadband associated with it." ;
            sh:path qudt:hasUnit ;
            sh:severity sh:Info ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "This `QuantifiableProperty` uses a different `Unit` than the deadband associated with it." ;
                    sh:message "s223: {$this} uses `Unit` {?punit}, while deadband {?deadband} uses `Unit` {?dunit}. Be careful." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this ?deadband ?punit ?dunit
WHERE {
$this qudt:hasUnit ?punit .
$this s223:hasDeadband ?deadband .
?deadband qudt:hasUnit ?dunit .
?punit qudt:hasDimensionVector ?pdv .
?dunit qudt:hasDimensionVector ?ddv .
FILTER (?punit != ?dunit) .
FILTER (?pdv = ?ddv) .
}
""" ] ],
        [ rdfs:comment "A `QuantifiableProperty` shall be associated with zero or more other `QuantifiableProperty`s using the relation `hasThreshold`." ;
            sh:class s223:QuantifiableProperty ;
            sh:message "s223: A `QuantifiableProperty` shall be associated with zero or more other `QuantifiableProperty`s using the relation `hasThreshold`." ;
            sh:path s223:hasThreshold ],
        [ rdfs:comment "A `QuantifiableProperty` shall be associated with zero or more other `QuantifiableProperty`s using the relation `hasSetpoint`. This can be used to indicate the desired value which the control process is trying to maintain." ;
            sh:class s223:QuantifiableProperty ;
            sh:message "s223: A `QuantifiableProperty` shall be associated with zero or more other `QuantifiableProperty`s using the relation `hasSetpoint`. This can be used to indicate the desired value which the control process is trying to maintain." ;
            sh:path s223:hasSetpoint ],
        [ rdfs:comment "A `QuantifiableProperty` shall be associated with zero or more `qudt:QuantityValue`s using the relation `qudt:quantityValue`. This allows for the expression of multiple equivalent combinations of a `Unit` and value. However, typically a `QuantifiableProperty` is associated with a static decimal value using `hasValue`, along with a single `Unit` and `QuantityKind`." ;
            sh:class qudt:QuantityValue ;
            sh:message "s223: A `QuantifiableProperty` shall be associated with zero or more `qudt:QuantityValue`s using the relation `qudt:quantityValue`. This allows for the expression of multiple equivalent combinations of a `Unit` and value. However, typically a `QuantifiableProperty` is associated with a static decimal value using `hasValue`, along with a single `Unit` and `QuantityKind`." ;
            sh:path qudt:quantityValue ],
        [ rdfs:comment "This `QuantifiableProperty` and the associated deadband use non-commensurate `Unit`s." ;
            sh:path qudt:hasUnit ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "This `QuantifiableProperty` and the associated deadband use non-commensurate `Unit`s." ;
                    sh:message "s223: {$this} uses `Unit` {?punit}, while deadband {?deadband} uses `Unit` {?dunit}. These are non-commensurate." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this ?deadband ?punit ?dunit
WHERE {
$this qudt:hasUnit ?punit .
$this s223:hasDeadband ?deadband .
?deadband qudt:hasUnit ?dunit .
?punit qudt:hasDimensionVector ?pdv .
?dunit qudt:hasDimensionVector ?ddv .
FILTER (?punit != ?dunit) .
FILTER (?pdv != ?ddv) .
}
""" ] ],
        [ rdfs:comment "A `QuantifiableProperty` shall be associated with at most one `Unit` using the relation `qudt:hasUnit`." ;
            sh:class qudt:Unit ;
            sh:maxCount 1 ;
            sh:message "s223: A `QuantifiableProperty` shall be associated with at most one `Unit` using the relation `qudt:hasUnit`." ;
            sh:path qudt:hasUnit ],
        [ rdfs:comment "A `QuantifiableProperty` shall be associated with zero or more `EnumerableProperty`s using the relation `hasAlarmStatus`." ;
            sh:class s223:EnumerableProperty ;
            sh:message "s223: A `QuantifiableProperty` shall be associated with zero or more `EnumerableProperty`s using the relation `hasAlarmStatus`." ;
            sh:path s223:hasAlarmStatus ],
        [ rdfs:comment "This `QuantifiableProperty` and the deadband associated with it have non-commensurate `QuantityKind`s." ;
            sh:path qudt:hasQuantityKind ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "This `QuantifiableProperty` and the deadband associated with it have non-commensurate `QuantityKind`s." ;
                    sh:message "s223: {$this} uses `QuantityKind` {?pqk} with DimensionVector {?pdv}, while deadband {?deadband} uses `QuantityKind` {?dqk} with DimensionVector {?ddv}. These are non-commensurate" ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this ?deadband ?pqk ?dqk ?pdv ?ddv
WHERE {
$this qudt:hasQuantityKind ?pqk .
$this s223:hasDeadband ?deadband .
?deadband qudt:hasQuantityKind ?dqk .
?pqk qudt:hasDimensionVector ?pdv .
?dqk qudt:hasDimensionVector ?ddv .
FILTER (?pqk != ?dqk) .
FILTER (?pdv != ?ddv) .
}
""" ] ],
        [ rdfs:comment "A `QuantifiableProperty` shall be associated with zero or more other `QuantifiableProperty`s using the relation `hasDeadband`." ;
            sh:class s223:QuantifiableProperty ;
            sh:message "s223: A `QuantifiableProperty` shall be associated with zero or more other `QuantifiableProperty`s using the relation `hasDeadband`." ;
            sh:path s223:hasDeadband ],
        [ rdfs:comment "This `QuantifiableProperty` uses a different `Unit` than the threshold associated with it." ;
            sh:path qudt:hasUnit ;
            sh:severity sh:Info ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "This `QuantifiableProperty` uses a different `Unit` than the threshold associated with it." ;
                    sh:message "s223: {$this} uses `Unit` {?punit}, while threshold {?threshold} uses `Unit` {?tunit}. Be careful." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this ?threshold ?punit ?tunit
WHERE {
$this qudt:hasUnit ?punit .
$this s223:hasThreshold ?threshold .
?threshold qudt:hasUnit ?tunit .
?punit qudt:hasDimensionVector ?pdv .
?tunit qudt:hasDimensionVector ?tdv .
FILTER (?punit != ?tunit) .
FILTER (?pdv = ?tdv) .
}
""" ] ],
        [ rdfs:comment "This `QuantifiableProperty` and the setpoint associated with it have non-commensurate `QuantityKind`s." ;
            sh:path qudt:hasQuantityKind ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "This `QuantifiableProperty` and the setpoint associated with it have non-commensurate `QuantityKind`s." ;
                    sh:message "s223: {$this} uses `QuantityKind` {?pqk} with DimensionVector {?pdv}, while Setpoint {?setpoint} uses `QuantityKind` {?sqk} with DimensionVector {?sdv}. These are non-commensurate" ;
                    sh:prefixes ns6: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 "A `QuantifiableProperty` shall be associated with exactly one `QuantityKind` using the relation `qudt:hasQuantityKind`." ;
            sh:class qudt:QuantityKind ;
            sh:maxCount 1 ;
            sh:message "s223: A `QuantifiableProperty` shall be associated with exactly one `QuantityKind` using the relation `qudt:hasQuantityKind`." ;
            sh:minCount 1 ;
            sh:path qudt:hasQuantityKind ],
        [ rdfs:comment "This `QuantifiableProperty` and the threshold associated with it have non-commensurate `QuantityKind`s." ;
            sh:path qudt:hasQuantityKind ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "This `QuantifiableProperty` and the threshold associated with it have non-commensurate `QuantityKind`s." ;
                    sh:message "s223: {$this} uses `QuantityKind` {?pqk} with DimensionVector {?pdv}, while threshold {?threshold} uses `QuantityKind` {?tqk} with DimensionVector {?tdv}. These are non-commensurate" ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this ?threshold ?pqk ?sqk ?pdv ?sdv
WHERE {
$this qudt:hasQuantityKind ?pqk .
$this s223:hasThreshold ?threshold .
?threshold qudt:hasQuantityKind ?tqk .
?pqk qudt:hasDimensionVector ?pdv .
?tqk qudt:hasDimensionVector ?tdv .
FILTER (?pqk != ?tqk) .
FILTER (?pdv != ?tdv) .
}
""" ] ] ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Check for consistent dimension vectors for a `QuantityKind` and the `Unit`" ;
            sh:message "s223: Inconsistent dimensionalities among the `Property`'s `Unit` and `Property`'s `QuantityKind`" ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this
   WHERE
{
      $this qudt:hasQuantityKind/qudt:hasDimensionVector ?qkdv1 .
      $this qudt:hasUnit/qudt:hasDimensionVector ?qkdv2 .
FILTER (?qkdv1 != ?qkdv2) .
}
""" ] .


            

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


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@prefix 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:QuantifiablePropertyShape a sh:NodeShape ;
    sh:rule [ a sh:SPARQLRule ;
            rdfs:comment "Infer the `hasAspect s223:Aspect-Setpoint` for properties referred to by `hasSetpoint`" ;
            sh:construct """
CONSTRUCT {?y s223:hasAspect  s223:Aspect-Setpoint}
WHERE {
?prop s223:hasSetpoint ?y .
FILTER NOT EXISTS {?y s223:hasAspect s223:Aspect-Setpoint}
}
""" ;
            sh:prefixes ns4:model-rules ],
        [ a sh:SPARQLRule ;
            rdfs:comment "Infer the `hasAspect s223:Aspect-Deadband` for properties referred to by `hasDeadband`" ;
            sh:construct """
CONSTRUCT {?y s223:hasAspect  s223:Aspect-Deadband}
WHERE {
?prop s223:hasDeadband ?y .
FILTER NOT EXISTS {?y s223:hasAspect s223:Aspect-Deadband}
}
""" ;
            sh:prefixes ns4:model-rules ],
        [ a sh:SPARQLRule ;
            rdfs:comment "Infer the `hasAspect s223:Aspect-Threshold` for properties referred to by `hasThreshold`" ;
            sh:construct """
CONSTRUCT {?y s223:hasAspect  s223:Aspect-Threshold}
WHERE {
?prop s223:hasThreshold ?y .
FILTER NOT EXISTS {?y s223:hasAspect s223:Aspect-Threshold}
}
""" ;
            sh:prefixes ns4:model-rules ],
        [ a sh:SPARQLRule ;
            rdfs:comment "Infer the `hasQuantityKind` relation 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 ns4:model-rules ] ;
    sh:targetClass s223:QuantifiableProperty .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:RF-Signal a s223:Class,
        s223:RF-Signal,
        sh:NodeShape ;
    rdfs:label "Radio frequency signal" ;
    doc:subclauses ( s223:Signal-UHF s223:Signal-Wideband ) ;
    rdfs:comment """This class and its enumerated subclasses represent the use of radio frequency for creating communication signals and common communication protocols. The radio spectrum of frequencies (`RF-Signal`) is divided into bands (i.e., subclasses) with conventional names designated by the International Telecommunication Union (e.g., UHF for Ultra High Frequency).

: RF-Signal Enumerations

| Enumeration |
|:-----------|
| `Signal-EHF` |
| `Signal-ELF` |
| `Signal-HF` |
| `Signal-LF` |
| `Signal-MF` |
| `Signal-SHF` |
| `Signal-SLF` |
| `Signal-THF` |
| `Signal-UHF` (see {s223:Signal-UHF}) |
| `Signal-ULF` |
| `Signal-VHF` |
| `Signal-VLF` |
| `Signal-Wideband` (see {s223:Signal-Wideband}) |""" ;
    rdfs:subClassOf s223:EM-RF .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:RFOutlet a s223:Class,
        sh:NodeShape ;
    rdfs:label "Radio frequency outlet" ;
    rdfs:comment "A piece of `Equipment` that contains one or more receptacles for connecting electrical equipment to a radio frequency (RF) communication network, via, for example, a coaxial cable." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `RFOutlet` shall have at least one outlet using the medium `RF-Signal`." ;
            sh:message "s223: A `RFOutlet` shall have at least one outlet using the medium `RF-Signal`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:RF-Signal ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `RFOutlet` shall have exactly one inlet using the medium `RF-Signal`." ;
            sh:message "s223: A `RFOutlet` shall have exactly one inlet using the medium `RF-Signal`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMaxCount 1 ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:RF-Signal ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@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:RadiantHeater a s223:Class,
        sh:NodeShape ;
    rdfs:label "Radiant heater" ;
    rdfs:comment """
A piece of `Equipment` with heating or cooling surface that delivers 50% or more of its heat transfer by radiation.
A `RadiantHeater` shall:

- Have the role `Role-Heating`.

- Have at least one outlet connection point using the medium `Light-Infrared`.

- Conform to exactly one of the following patterns:
  - **Pattern 1:**
    - Exactly one inlet connection point using the medium `Constituent-Electricity` or `Fluid-NaturalGas`.
  - **Pattern 2:**
    - Exactly one inlet connection point using the medium `Fluid-Water`.
    - Exactly one outlet connection point using the medium `Fluid-Water`.
""" ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `RadiantHeater` shall at least have the role `Role-Heating`." ;
            sh:message "s223: A `RadiantHeater` shall at least have the role `Role-Heating`." ;
            sh:path s223:hasRole ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:Role-Heating ] ],
        [ rdfs:comment "A `RadiantHeater` shall have at least one outlet using the medium `Light-Infrared`." ;
            sh:message "s223: A `RadiantHeater` shall have at least one outlet using the medium `Light-Infrared`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Light-Infrared ;
                                    sh:path s223:hasMedium ] ] ] ] ;
    sh:xone ( [ sh:property [ rdfs:comment "Pattern 1: A `RadiantHeater` shall have at least one inlet using the medium `Constituent-Electricity` or `Fluid-NaturalGas`." ;
                        sh:message "s223: Pattern 1: A `RadiantHeater` shall have at least one inlet using the medium `Constituent-Electricity` or `Fluid-NaturalGas`." ;
                        sh:path s223:hasConnectionPoint ;
                        sh:qualifiedMinCount 1 ;
                        sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                                sh:node [ sh:property [ sh:or ( [ sh:class s223:Constituent-Electricity ] [ sh:class s223:Fluid-NaturalGas ] ) ;
                                                sh:path s223:hasMedium ] ] ] ] ] [ sh:property [ rdfs:comment "Pattern 2: A `RadiantHeater` shall have at least one inlet using the medium `Fluid-Water`." ;
                        sh:message "s223: Pattern 2: A `RadiantHeater` shall have at least one inlet using the medium `Fluid-Water`." ;
                        sh:path s223:hasConnectionPoint ;
                        sh:qualifiedMinCount 1 ;
                        sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                                sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                                sh:path s223:hasMedium ] ] ] ],
                    [ rdfs:comment "Pattern 2: A `RadiantHeater` shall have at least one outlet using the medium `Fluid-Water`." ;
                        sh:message "s223: Pattern 2: A `RadiantHeater` shall have at least one outlet using the medium `Fluid-Water`." ;
                        sh:path s223:hasConnectionPoint ;
                        sh:qualifiedMinCount 1 ;
                        sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                                sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                                sh:path s223:hasMedium ] ] ] ] ] ) .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 piece of `Equipment` that provides primarily convective heating to a room using electricity, steam, or water
(e.g., electric baseboard heaters, heated floors, or traditional radiators).""" ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `Radiator` shall have at least one bidirectional connection point using the medium `Fluid-Air`." ;
            sh:message "s223: A `Radiator` shall have at least one bidirectional connection point using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `Radiator` shall at least have the role `Role-Heating`." ;
            sh:message "s223: A `Radiator` shall at least have the role `Role-Heating`." ;
            sh:path s223:hasRole ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:Role-Heating ] ] .


            

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


@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:RadiatorInletShape a sh:NodeShape ;
    rdfs:label "Radiator inlet shape" ;
    rdfs:comment "A `Radiator` shall have at least one inlet using the medium Electricity or inlet and outlet of Water." ;
    sh:message "s223: A `Radiator` shall have at least one inlet using the medium Electricity or inlet and outlet of Water." ;
    sh:severity sh:Warning ;
    sh:targetClass s223:Radiator ;
    sh:xone ( [ sh:property [ rdfs:comment "A `Radiator` shall have at least one inlet using the medium Electricity or inlet and outlet of Water." ;
                        sh:path s223:hasConnectionPoint ;
                        sh:qualifiedMinCount 1 ;
                        sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                                sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                                sh:path s223:hasMedium ] ] ] ] ] [ sh:property [ rdfs:comment "A `Radiator` shall have at least one inlet using the medium Electricity or Water." ;
                        sh:path s223:hasConnectionPoint ;
                        sh:qualifiedMinCount 1 ;
                        sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                                sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                                sh:path s223:hasMedium ] ] ] ],
                    [ rdfs:comment "A `Radiator` shall have at least one outlet using the medium Water." ;
                        sh:path s223:hasConnectionPoint ;
                        sh:qualifiedMinCount 1 ;
                        sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                                sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                                sh:path s223:hasMedium ] ] ] ] ] ) .


            

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


@prefix 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:Refrigerant-R-123 a s223:Class,
        s223:Refrigerant-R-123,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-123" ;
    rdfs:comment "`Refrigerant-R-123`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-1234yf


@prefix 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:Refrigerant-R-1234yf a s223:Class,
        s223:Refrigerant-R-1234yf,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-1234yf" ;
    rdfs:comment "`Refrigerant-R-1234yf`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-1234ze


@prefix 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:Refrigerant-R-1234ze a s223:Class,
        s223:Refrigerant-R-1234ze,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-1234ze" ;
    rdfs:comment "`Refrigerant-R-1234ze`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-134A


@prefix 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:Refrigerant-R-134A a s223:Class,
        s223:Refrigerant-R-134A,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-134A" ;
    rdfs:comment "`Refrigerant-R-134A`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

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


@prefix 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:Refrigerant-R-22 a s223:Class,
        s223:Refrigerant-R-22,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-22" ;
    rdfs:comment "`Refrigerant-R-22`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

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


@prefix 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:Refrigerant-R-290 a s223:Class,
        s223:Refrigerant-R-290,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-290" ;
    rdfs:comment "`Refrigerant-R-290` (Propane)" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

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


@prefix 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:Refrigerant-R-32 a s223:Class,
        s223:Refrigerant-R-32,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-32" ;
    rdfs:comment "`Refrigerant-R-32`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-404A


@prefix 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:Refrigerant-R-404A a s223:Class,
        s223:Refrigerant-R-404A,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-404A" ;
    rdfs:comment "`Refrigerant-R-404A`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-407A


@prefix 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:Refrigerant-R-407A a s223:Class,
        s223:Refrigerant-R-407A,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-407A" ;
    rdfs:comment "`Refrigerant-R-407A`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-407C


@prefix 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:Refrigerant-R-407C a s223:Class,
        s223:Refrigerant-R-407C,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-407C" ;
    rdfs:comment "`Refrigerant-R-407C`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-407F


@prefix 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:Refrigerant-R-407F a s223:Class,
        s223:Refrigerant-R-407F,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-407F" ;
    rdfs:comment "`Refrigerant-R-407F`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-410A


@prefix 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:Refrigerant-R-410A a s223:Class,
        s223:Refrigerant-R-410A,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-410A" ;
    rdfs:comment "`Refrigerant-R-410A`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-422A


@prefix 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:Refrigerant-R-422A a s223:Class,
        s223:Refrigerant-R-422A,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-422A" ;
    rdfs:comment "`Refrigerant-R-422A`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-422C


@prefix 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:Refrigerant-R-422C a s223:Class,
        s223:Refrigerant-R-422C,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-422C" ;
    rdfs:comment "`Refrigerant-R-422C`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-422D


@prefix 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:Refrigerant-R-422D a s223:Class,
        s223:Refrigerant-R-422D,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-422D" ;
    rdfs:comment "`Refrigerant-R-422D`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-427A


@prefix 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:Refrigerant-R-427A a s223:Class,
        s223:Refrigerant-R-427A,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-427A" ;
    rdfs:comment "`Refrigerant-R-427A`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-438A


@prefix 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:Refrigerant-R-438A a s223:Class,
        s223:Refrigerant-R-438A,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-438A" ;
    rdfs:comment "`Refrigerant-R-438A`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-444A


@prefix 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:Refrigerant-R-444A a s223:Class,
        s223:Refrigerant-R-444A,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-444A" ;
    rdfs:comment "`Refrigerant-R-444A`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-445A


@prefix 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:Refrigerant-R-445A a s223:Class,
        s223:Refrigerant-R-445A,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-445A" ;
    rdfs:comment "`Refrigerant-R-445A`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-448A


@prefix 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:Refrigerant-R-448A a s223:Class,
        s223:Refrigerant-R-448A,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-448A" ;
    rdfs:comment "`Refrigerant-R-448A`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-449A


@prefix 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:Refrigerant-R-449A a s223:Class,
        s223:Refrigerant-R-449A,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-449A" ;
    rdfs:comment "`Refrigerant-R-449A`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-450A


@prefix 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:Refrigerant-R-450A a s223:Class,
        s223:Refrigerant-R-450A,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-450A" ;
    rdfs:comment "`Refrigerant-R-450A`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-454A


@prefix 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:Refrigerant-R-454A a s223:Class,
        s223:Refrigerant-R-454A,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-454A" ;
    rdfs:comment "`Refrigerant-R-454A`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-454C


@prefix 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:Refrigerant-R-454C a s223:Class,
        s223:Refrigerant-R-454C,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-454C" ;
    rdfs:comment "`Refrigerant-R-454C`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-455A


@prefix 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:Refrigerant-R-455A a s223:Class,
        s223:Refrigerant-R-455A,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-455A" ;
    rdfs:comment "`Refrigerant-R-455A`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-457A


@prefix 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:Refrigerant-R-457A a s223:Class,
        s223:Refrigerant-R-457A,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-457A" ;
    rdfs:comment "`Refrigerant-R-457A`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-459B


@prefix 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:Refrigerant-R-459B a s223:Class,
        s223:Refrigerant-R-459B,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-459B" ;
    rdfs:comment "`Refrigerant-R-459B`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

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


@prefix 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:Refrigerant-R-507 a s223:Class,
        s223:Refrigerant-R-507,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-507" ;
    rdfs:comment "`Refrigerant-R-507`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-513A


@prefix 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:Refrigerant-R-513A a s223:Class,
        s223:Refrigerant-R-513A,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-513A" ;
    rdfs:comment "`Refrigerant-R-513A`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-516A


@prefix 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:Refrigerant-R-516A a s223:Class,
        s223:Refrigerant-R-516A,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-516A" ;
    rdfs:comment "`Refrigerant-R-516A`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

URI: http://data.ashrae.org/standard223#Refrigerant-R-600A


@prefix 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:Refrigerant-R-600A a s223:Class,
        s223:Refrigerant-R-600A,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-600A" ;
    rdfs:comment "`Refrigerant-R-600A`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

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


@prefix 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:Refrigerant-R-717 a s223:Class,
        s223:Refrigerant-R-717,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-717" ;
    rdfs:comment "`Refrigerant-R-717`" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

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


@prefix 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:Refrigerant-R-744 a s223:Class,
        s223:Refrigerant-R-744,
        sh:NodeShape ;
    rdfs:label "Refrigerant R-744" ;
    rdfs:comment "`Refrigerant-R-744` (Transcritical CO2)" ;
    rdfs:subClassOf s223:Constituent-Refrigerant .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:Refrigerator a s223:Class,
        sh:NodeShape ;
    rdfs:label "Refrigerator" ;
    rdfs:comment "A piece of `Equipment` that maintains an internal temperature below the surrounding ambient temperature but above the freezing point of water." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `Refrigerator` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: A `Refrigerator` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:Relation a s223:Class,
        s223:Concept,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Relation" ;
    doc:subclauses ( s223:RelationWithInverse s223:SymmetricRelation ) ;
    rdfs:comment "A `Relation` associates the subject and the object in an RDF triple, the *predicate* portion of a *(subject, predicate, object)* triple." ;
    rdfs:subClassOf s223:Concept,
        rdf:Property ;
    sh:property [ rdfs:comment "A `Relation` shall be associated with at least one label using the relation `rdfs:label`." ;
            sh:message "s223: A `Relation` shall be associated with at least one label using the relation `rdfs:label`." ;
            sh:minCount 1 ;
            sh:path rdfs:label ;
            sh:severity sh:Warning ] .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:RelationWithInverse a s223:Class,
        s223:Concept,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Relation with inverse" ;
    doc:subclauses ( s223:inverseOf ) ;
    rdfs:comment """An `RelationWithInverse` is modeling construct used to define symmetric behavior
for certain relations in the standard such as `connectedTo` and `connectedFrom`.""" ;
    rdfs:subClassOf s223:Relation ;
    sh:property [ rdfs:comment "A `RelationWithInverse` shall be associated with exactly one other `RelationWithInverse` using the relation `inverseOf`." ;
            sh:class s223:RelationWithInverse ;
            sh:maxCount 1 ;
            sh:message "s223: A `RelationWithInverse` shall be associated with exactly one other `RelationWithInverse` using the relation `inverseOf`." ;
            sh:minCount 1 ;
            sh:path s223:inverseOf ] .


            

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


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@prefix 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:RelationWithInverseShape 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 ns4:owl-subset ] ;
    sh:targetClass s223:Concept .


            

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


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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:RequiredCommentsShape1 a sh:NodeShape ;
    sh:severity sh:Info ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Every SPARQLConstraint must have an rdfs:comment." ;
            sh:message "s223: The SPARQLConstraint for path {?path} for Class {$this} must have an rdfs:comment." ;
            sh:prefixes ns6:schema ;
            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} .
}
""" ] ;
    sh:targetClass s223:Class .


            

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


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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:RequiredCommentsShape2 a sh:NodeShape ;
    sh:severity sh:Info ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Every SHACL property shape must have an rdfs:comment." ;
            sh:message "s223: The property shape with path {?path} for Class {$this} must have an rdfs:comment." ;
            sh:prefixes ns6:schema ;
            sh:select """
SELECT $this ?path
WHERE {
$this sh:property ?propshape .
?propshape sh:path ?path .
FILTER NOT EXISTS {?propshape rdfs:comment ?comment} .
}
""" ] ;
    sh:targetClass s223:Class .


            

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


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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:RequiredCommentsShape3 a sh:NodeShape ;
    sh:severity sh:Info ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Every SPARQLRule must have an rdfs:comment." ;
            sh:message "s223: Every SPARQLRule for Class {$this} must have an rdfs:comment." ;
            sh:prefixes ns6: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 .


            

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


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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:RequiredCommentsShape4 a sh:NodeShape ;
    sh:severity sh:Info ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Every TripleRule must have an rdfs:comment." ;
            sh:message "s223: The TripleRule inferring {?pred} for Class {$this} must have an rdfs:comment." ;
            sh:prefixes ns6: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} .
}
""" ] ;
    sh:targetClass s223:Class .


            

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


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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:RequiredCommentsShape5 a sh:NodeShape ;
    sh:severity sh:Info ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Every class of the 223 standard must have an rdfs:comment." ;
            sh:message "s223: Class {$this} must have an rdfs:comment." ;
            sh:prefixes ns6:schema ;
            sh:select """
SELECT $this
WHERE {
FILTER NOT EXISTS {$this rdfs:comment ?comment} .
}
""" ] ;
    sh:targetClass s223:Class .


            

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


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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:RequiredConceptShape a sh:NodeShape ;
    sh:severity sh:Info ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Every class of the 223 standard must be a direct or indirect subclass of s223:Concept." ;
            sh:message "s223: Class {$this} must be within the rdfs:subClassOf hierarchy under s223:Concept." ;
            sh:prefixes ns6:schema ;
            sh:select """
SELECT $this
WHERE {
FILTER NOT EXISTS {$this rdfs:subClassOf* rdf:Property} .
FILTER NOT EXISTS {$this rdfs:subClassOf* s223:Concept} .
}
""" ] ;
    sh:targetClass s223:Class .


            

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


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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:RequiredNodeShape a sh:NodeShape ;
    sh:severity sh:Info ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Every class of the 223 standard must also be an instance of sh:NodeShape." ;
            sh:message "s223: Class {$this} must be declared as an instance of sh:NodeShape." ;
            sh:prefixes ns6:schema ;
            sh:select """
SELECT $this
WHERE {
FILTER NOT EXISTS {$this a sh:NodeShape} .
}
""" ] ;
    sh:targetClass s223:Class .


            

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


@prefix 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:Role-Condenser a s223:Class,
        s223:Role-Condenser,
        sh:NodeShape ;
    rdfs:label "Condenser role" ;
    rdfs:comment "`Role-Condenser`" ;
    rdfs:subClassOf s223:EnumerationKind-Role .


            

URI: http://data.ashrae.org/standard223#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#> .

s223:Role-Cooling a s223:Class,
        s223:Role-Cooling,
        sh:NodeShape ;
    rdfs:label "Cooling role" ;
    rdfs:comment "`Role-Cooling`" ;
    rdfs:subClassOf s223:EnumerationKind-Role .


            

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


@prefix 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:Role-Dehumidifying a s223:Class,
        s223:Role-Dehumidifying,
        sh:NodeShape ;
    rdfs:label "Dehumidifying role" ;
    rdfs:comment "`Role-Dehumidifying`" ;
    rdfs:subClassOf s223:EnumerationKind-Role .


            

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


@prefix 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:Role-Discharge a s223:Class,
        s223:Role-Discharge,
        sh:NodeShape ;
    rdfs:label "Discharge role" ;
    rdfs:comment "`Role-Discharge`" ;
    rdfs:subClassOf s223:EnumerationKind-Role .


            

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


@prefix 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:Role-Economizer a s223:Class,
        s223:Role-Economizer,
        sh:NodeShape ;
    rdfs:label "Economizer role" ;
    rdfs:comment "`Role-Economizer`" ;
    rdfs:subClassOf s223:EnumerationKind-Role .


            

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


@prefix 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:Role-Evaporator a s223:Class,
        s223:Role-Evaporator,
        sh:NodeShape ;
    rdfs:label "Evaporator role" ;
    rdfs:comment "`Role-Evaporator`" ;
    rdfs:subClassOf s223:EnumerationKind-Role .


            

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


@prefix 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:Role-Exhaust a s223:Class,
        s223:Role-Exhaust,
        sh:NodeShape ;
    rdfs:label "Exhaust role" ;
    rdfs:comment "`Role-Exhaust`" ;
    rdfs:subClassOf s223:EnumerationKind-Role .


            

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


@prefix 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:Role-Expansion a s223:Class,
        s223:Role-Expansion,
        sh:NodeShape ;
    rdfs:label "Expansion role" ;
    rdfs:comment "`Role-Expansion`" ;
    rdfs:subClassOf s223:EnumerationKind-Role .


            

URI: http://data.ashrae.org/standard223#Role-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#> .

s223:Role-Generator a s223:Class,
        s223:Role-Generator,
        sh:NodeShape ;
    rdfs:label "Generator role" ;
    rdfs:comment "`Role-Generator`" ;
    rdfs:subClassOf s223:EnumerationKind-Role .


            

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


@prefix 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:Role-HeatRecovery a s223:Class,
        s223:Role-HeatRecovery,
        sh:NodeShape ;
    rdfs:label "Heat recovery role" ;
    rdfs:comment "Role-HeatRecovery" ;
    rdfs:subClassOf s223:EnumerationKind-Role .


            

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


@prefix 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:Role-HeatTransfer a s223:Class,
        s223:Role-HeatTransfer,
        sh:NodeShape ;
    rdfs:label "Heat transfer role" ;
    rdfs:comment "Role-HeatTransfer" ;
    rdfs:subClassOf s223:EnumerationKind-Role .


            

URI: http://data.ashrae.org/standard223#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#> .

s223:Role-Heating a s223:Class,
        s223:Role-Heating,
        sh:NodeShape ;
    rdfs:label "Heating role" ;
    rdfs:comment "`Role-Heating`" ;
    rdfs:subClassOf s223:EnumerationKind-Role .


            

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


@prefix 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:Role-Load a s223:Class,
        s223:Role-Load,
        sh:NodeShape ;
    rdfs:label "Load role" ;
    rdfs:comment "`Role-Load`" ;
    rdfs:subClassOf s223:EnumerationKind-Role .


            

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


@prefix 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:Role-OutdoorAirIntake a s223:Class,
        s223:Role-OutdoorAirIntake,
        sh:NodeShape ;
    rdfs:label "Outdoor air intake role" ;
    rdfs:comment "`Role-OutdoorAirIntake`" ;
    rdfs:subClassOf s223:EnumerationKind-Role .


            

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


@prefix 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:Role-Primary a s223:Class,
        s223:Role-Primary,
        sh:NodeShape ;
    rdfs:label "Primary role" ;
    rdfs:comment "`Role-Primary`" ;
    rdfs:subClassOf s223:EnumerationKind-Role .


            

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


@prefix 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:Role-Recirculating a s223:Class,
        s223:Role-Recirculating,
        sh:NodeShape ;
    rdfs:label "Recirculating role" ;
    rdfs:comment "`Role-Recirculating`" ;
    rdfs:subClassOf s223:EnumerationKind-Role .


            

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


@prefix 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:Role-Relief a s223:Class,
        s223:Role-Relief,
        sh:NodeShape ;
    rdfs:label "Relief role" ;
    rdfs:comment "`Role-Relief`" ;
    rdfs:subClassOf s223:EnumerationKind-Role .


            

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


@prefix 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:Role-Return a s223:Class,
        s223:Role-Return,
        sh:NodeShape ;
    rdfs:label "Return role" ;
    rdfs:comment "`Role-Return`" ;
    rdfs:subClassOf s223:EnumerationKind-Role .


            

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


@prefix 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:Role-Secondary a s223:Class,
        s223:Role-Secondary,
        sh:NodeShape ;
    rdfs:label "Secondary role" ;
    rdfs:comment "`Role-Secondary`" ;
    rdfs:subClassOf s223:EnumerationKind-Role .


            

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


@prefix 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:Role-Supply a s223:Class,
        s223:Role-Supply,
        sh:NodeShape ;
    rdfs:label "Supply role" ;
    rdfs:comment "`Role-Supply`" ;
    rdfs:subClassOf s223:EnumerationKind-Role .


            

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


@prefix 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:Role-Ventilating a s223:Class,
        s223:Role-Ventilating,
        sh:NodeShape ;
    rdfs:label "Ventilating role" ;
    rdfs:comment "`Role-Ventilating`" ;
    rdfs:subClassOf s223:EnumerationKind-Role .


            

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


@prefix doc: <http://sample.org/doc#> .
@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@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" ;
    doc:subclauses ( s223:ConcentrationSensor s223:ElectricCurrentSensor s223:FlowSensor s223:HumiditySensor s223:LightSensor s223:OccupancySensor s223:ParticulateSensor s223:PressureSensor s223:TemperatureSensor s223:VoltageSensor s223:hasMeasurementResolution s223:observes s223:hasObservationLocation s223:hasReferenceLocation ) ;
    rdfs:comment """
A piece of `Equipment` that `observes` an `ObservableProperty` (see {s223:ObservableProperty})
which may be quantifiable (see {s223:QuantifiableObservableProperty}), such as a
temperature, flow, or concentration, or enumerable (see {s223:EnumeratedObservableProperty}),
such as an occupancy state.

If a `Sensor` observes a `QuantifiableObservableProperty` relative to an assumed
or common reference point, it can be modeled with only an observation location.
For example:

```turtle
@prefix : <http://example.com/> .

:example1 a s223:TemperatureSensor ;
    s223:hasObservationLocation :location1 ;
    qudt:hasQuantityKind quantitykind:Temperature .
```

If a `Sensor` observes a `QuantifiableObservableProperty` relative to a unique
or specified reference point, it can be modeled with an observation location and
a reference location.  The difference between two values can be indicated by setting `qudt:isDeltaQuantity` to `true`. For example:

```turtle
@prefix : <http://example.com/> .

:example2 a s223:TemperatureSensor ;
    s223:hasObservationLocation :location1 ;
    s223:hasReferenceLocation :location2 ;
    qudt:hasQuantityKind quantitykind:Temperature ;
    qudt:isDeltaQuantity true .
```
""" ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `Sensor` shall be associated with exactly one `QuantifiableObservableProperty` or `EnumeratedObservableProperty` using the relation `observes`." ;
            sh:maxCount 1 ;
            sh:message "s223: A `Sensor` shall be associated with exactly one `QuantifiableObservableProperty` or `EnumeratedObservableProperty` using the relation `observes`." ;
            sh:minCount 1 ;
            sh:path s223:observes ;
            sh:xone ( [ sh:class s223:QuantifiableObservableProperty ] [ sh:class s223:EnumeratedObservableProperty ] ) ],
        [ rdfs:comment "If a `Sensor` measures a differential property, it shall be associated with exactly one `Connectable`, `Connection`, or `ConnectionPoint` using the relation `hasReferenceLocation`." ;
            sh:maxCount 1 ;
            sh:message "s223: If a `Sensor` measures a differential property, it shall be associated with exactly one `Connectable`, `Connection`, or `ConnectionPoint` using the relation `hasReferenceLocation`." ;
            sh:path s223:hasReferenceLocation ;
            sh:xone ( [ sh:class s223:Connectable ] [ sh:class s223:Connection ] [ sh:class s223:ConnectionPoint ] ) ],
        [ rdfs:comment "A `Sensor` shall be associated with exactly one `Connectable`, `Connection`, or `ConnectionPoint` using the relation `hasObservationLocation`." ;
            sh:maxCount 1 ;
            sh:message "s223: A `Sensor` shall be associated with exactly one `Connectable`, `Connection`, or `ConnectionPoint` using the relation `hasObservationLocation`." ;
            sh:minCount 1 ;
            sh:path s223:hasObservationLocation ;
            sh:xone ( [ sh:class s223:Connectable ] [ sh:class s223:Connection ] [ sh:class s223:ConnectionPoint ] ) ],
        [ rdfs:comment "A `Sensor` shall be associated with zero or more `QuantifiableProperty`s using the relation `hasMeasurementResolution`." ;
            sh:class s223:QuantifiableProperty ;
            sh:message "s223: A `Sensor` shall be associated with zero or more `QuantifiableProperty`s using the relation `hasMeasurementResolution`." ;
            sh:path s223:hasMeasurementResolution ],
        [ rdfs:comment "If the `hasReferenceLocation` relation exists, the observed `Property` shall have `qudt:isDeltaQuantity` true." ;
            sh:path s223:observes ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "If the `hasReferenceLocation` relation exists, the observed `Property` shall have `qudt:isDeltaQuantity` true." ;
                    sh:message "s223: `Sensor` {$this} has a reference location, but its `Property` lacks `qudt:isDeltaQuantity` true." ;
                    sh:prefixes ns6:model ;
                    sh:select """
          SELECT $this
          WHERE {
$this s223:hasReferenceLocation ?y .
$this s223:observes ?x .
?x a/rdfs:subClassOf* s223:QuantifiableProperty .
FILTER NOT EXISTS {$this s223:observes/qudt:isDeltaQuantity true}
}
""" ] ],
        [ rdfs:comment "If the observed `Property` has `qudt:isDeltaQuantity` true, the `Sensor` shall have a `hasReferenceLocation` relation." ;
            sh:path s223:observes ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "If the observed `Property` has `qudt:isDeltaQuantity` true, the `Sensor` shall have a `hasReferenceLocation` relation." ;
                    sh:message "s223: `Sensor` {$this} has `Property` {?x} with `qudt:isDeltaQuantity` true, but the `Sensor` lacks a reference location." ;
                    sh:prefixes ns6:model ;
                    sh:select """
          SELECT $this ?x
          WHERE {
$this s223:observes/qudt:isDeltaQuantity true .
$this s223:observes ?x .
?x a/rdfs:subClassOf* s223:QuantifiableProperty .
FILTER NOT EXISTS {$this s223:hasReferenceLocation ?y}
}
""" ] ] .


            

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


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@prefix 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:SensorShape a sh:NodeShape ;
    sh:rule [ a sh:SPARQLRule ;
            rdfs:comment "Infer the `hasObservationLocation` relation 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 ns4:model-rules ] ;
    sh:targetClass s223:Sensor .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:ServerComputer a s223:Class,
        sh:NodeShape ;
    rdfs:label "Server computer" ;
    rdfs:comment "A `Computer` that is primarily for use by multiple people, or for the execution of tasks not directly coupled to human interaction." ;
    rdfs:subClassOf s223:Computer ;
    sh:property [ rdfs:comment "A `ServerComputer` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: A `ServerComputer` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:Shower a s223:Class,
        sh:NodeShape ;
    rdfs:label "Shower" ;
    rdfs:comment "A piece of `Equipment` for showering that receives as an input hot or cold water dispensed from one or two `Faucet`s, and is designed to hold a specific volume of water and release the held water through a `Drain`." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `Shower` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `Shower` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `Shower` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `Shower` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix 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-EHF a s223:Class,
        s223:Signal-EHF,
        sh:NodeShape ;
    rdfs:label "EHF" ;
    rdfs:comment "This class represents the use of radio frequency in the Extremely High Frequency band, from 30 GHz to 300 GHz, for creating communication signals and common communication protocols." ;
    rdfs:subClassOf s223:RF-Signal .


            

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


@prefix 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-EIA485 a s223:Class,
        s223:Signal-EIA485,
        sh:NodeShape ;
    rdfs:label "EIA485" ;
    rdfs:comment "Signal EIA485" ;
    rdfs:subClassOf s223:Electricity-Signal .


            

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


@prefix 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-ELF a s223:Class,
        s223:Signal-ELF,
        sh:NodeShape ;
    rdfs:label "ELF" ;
    rdfs:comment "This class represents the use of radio frequency in the Extremely Low Frequency band, from 3 Hz to 30 Hz, for creating communication signals and common communication protocols." ;
    rdfs:subClassOf s223:RF-Signal .


            

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


@prefix 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-FiberEthernet a s223:Class,
        s223:Signal-FiberEthernet,
        sh:NodeShape ;
    rdfs:label "Fiber Ethernet" ;
    rdfs:comment """This class and its enumerated subclasses represent common fiber Ethernet communication protocols that are used to deliver data over `FiberOpticCable`s.

: Signal-FiberEthernet Enumerations

| Enumeration |
|:-----------|
| `FiberEthernet-1X9` |
| `FiberEthernet-300PIN` |
| `FiberEthernet-CFP` |
| `FiberEthernet-CFP2` |
| `FiberEthernet-CFP4` |
| `FiberEthernet-CPAK` |
| `FiberEthernet-CXP` |
| `FiberEthernet-GBIC` |
| `FiberEthernet-QSFP` |
| `FiberEthernet-QSFP+` |
| `FiberEthernet-QSFP28` |
| `FiberEthernet-SFF` |
| `FiberEthernet-SFP` |
| `FiberEthernet-SFP+` |
| `FiberEthernet-X2` |
| `FiberEthernet-XENPAK` |
| `FiberEthernet-XFP` |""" ;
    rdfs:subClassOf s223:Infrared-Signal .


            

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


@prefix 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-HF a s223:Class,
        s223:Signal-HF,
        sh:NodeShape ;
    rdfs:label "HF" ;
    rdfs:comment "This class represents the use of radio frequency in the High Frequency band, from 3 MHz to 30 MHz, for creating communication signals and common communication protocols." ;
    rdfs:subClassOf s223:RF-Signal .


            

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


@prefix 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-IEC14908 a s223:Class,
        s223:Signal-IEC14908,
        sh:NodeShape ;
    rdfs:label "IEC 14908" ;
    rdfs:comment "Signal-IEC14908" ;
    rdfs:subClassOf s223:Electricity-Signal .


            

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


@prefix 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-LF a s223:Class,
        s223:Signal-LF,
        sh:NodeShape ;
    rdfs:label "LF" ;
    rdfs:comment "This class represents the use of radio frequency in the Low Frequency band, from 30 kHz to 300 kHz, for creating communication signals and common communication protocols." ;
    rdfs:subClassOf s223:RF-Signal .


            

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


@prefix 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-MF a s223:Class,
        s223:Signal-MF,
        sh:NodeShape ;
    rdfs:label "MF" ;
    rdfs:comment "This class represents the use of radio frequency in the Medium Frequency band, from 300 kHz to 3 MHz, for creating communication signals and common communication protocols." ;
    rdfs:subClassOf s223:RF-Signal .


            

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 "Modulated signal" ;
    rdfs:comment """This class and its enumerated subclasses represent common analog communication protocols.

: Signal-Modulated Enumerations

| Enumeration |
|:-----------|
| `Modulated-0-10V` |
| `Modulated-4-20mA` |
| `Modulated-Resistive` |""" ;
    rdfs:subClassOf s223:Electricity-Signal .


            

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


@prefix 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-SHF a s223:Class,
        s223:Signal-SHF,
        sh:NodeShape ;
    rdfs:label "SHF" ;
    rdfs:comment "This class represents the use of radio frequency in the Super High Frequency band, from 3 GHz to 30 GHz, for creating communication signals and common communication protocols." ;
    rdfs:subClassOf s223:RF-Signal .


            

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


@prefix 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-SLF a s223:Class,
        s223:Signal-SLF,
        sh:NodeShape ;
    rdfs:label "SLF" ;
    rdfs:comment "This class represents the use of radio frequency in the Super Low Frequency band, from 30 Hz to 300 Hz, for creating communication signals and common communication protocols." ;
    rdfs:subClassOf s223:RF-Signal .


            

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


@prefix 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-THF a s223:Class,
        s223:Signal-THF,
        sh:NodeShape ;
    rdfs:label "THF" ;
    rdfs:comment "This class represents the use of radio frequency in the Tremendously High Frequency band, from 300 GHz to 3 THz, for creating communication signals and common communication protocols." ;
    rdfs:subClassOf s223:RF-Signal .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:Signal-UHF a s223:Class,
        s223:Signal-UHF,
        sh:NodeShape ;
    rdfs:label "UHF" ;
    doc:subclauses ( s223:UHF-LicensedBand s223:UHF-ISMBand ) ;
    rdfs:comment "This class represents the use of radio frequency in the Ultra High Frequency band, from 300 MHz to 3 GHz, for creating communication signals and common communication protocols." ;
    rdfs:subClassOf s223:RF-Signal .


            

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


@prefix 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-ULF a s223:Class,
        s223:Signal-ULF,
        sh:NodeShape ;
    rdfs:label "ULF" ;
    rdfs:comment "This class represents the use of radio frequency in the Ultra Low Frequency band, from 300 Hz to 3 kHz, for creating communication signals and common communication protocols." ;
    rdfs:subClassOf s223:RF-Signal .


            

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


@prefix 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-USB a s223:Class,
        s223:Signal-USB,
        sh:NodeShape ;
    rdfs:label "USB" ;
    rdfs:comment "The Universal Serial Bus protocol that is used to deliver data and/or power over `USBCable`s." ;
    rdfs:subClassOf s223:Electricity-Signal .


            

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


@prefix 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-VHF a s223:Class,
        s223:Signal-VHF,
        sh:NodeShape ;
    rdfs:label "VHF" ;
    rdfs:comment "This class represents the use of radio frequency in the Very High Frequency band, from 30 MHz to 300 MHz, for creating communication signals and common communication protocols." ;
    rdfs:subClassOf s223:RF-Signal .


            

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


@prefix 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-VLF a s223:Class,
        s223:Signal-VLF,
        sh:NodeShape ;
    rdfs:label "VLF" ;
    rdfs:comment "This class represents the use of radio frequency in the Very Low Frequency band, from 3 kHz to 30 kHz, for creating communication signals and common communication protocols." ;
    rdfs:subClassOf s223:RF-Signal .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:Signal-Wideband a s223:Class,
        s223:Signal-Wideband,
        sh:NodeShape ;
    rdfs:label "Wideband" ;
    doc:subclauses ( s223:Wideband-CATV s223:Wideband-DOCSIS ) ;
    rdfs:comment "This class represents the use of radio frequency over a wide frequency range for any defined purpose, including the creation of communication signals and common communication protocols" ;
    rdfs:subClassOf s223:RF-Signal .


            

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


@prefix 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-WiredEthernet a s223:Class,
        s223:Signal-WiredEthernet,
        sh:NodeShape ;
    rdfs:label "Wired Ethernet" ;
    rdfs:comment """This class and its enumerated subclasses represent common wired Ethernet communication protocols that are used to deliver data and/or power over `EthernetCable`s.

: Signal-WiredEthernet Enumerations

| Enumeration |
|:-----------|
| `WiredEthernet-2.5GBASE-T` |
| `WiredEthernet-2.5GBASE-T1` |
| `WiredEthernet-5GBASE-T` |
| `WiredEthernet-5GBASE-T1` |
| `WiredEthernet-10BASE-T` |
| `WiredEthernet-10BASE-T1L` |
| `WiredEthernet-10BASE-T1S` |
| `WiredEthernet-10GBASE-T` |
| `WiredEthernet-10GBASE-T1` |
| `WiredEthernet-25GBASE-T` |
| `WiredEthernet-40GBASE-T` |
| `WiredEthernet-100BASE-T1` |
| `WiredEthernet-100BASE-TX` |
| `WiredEthernet-1000BASE-T` |
| `WiredEthernet-1000BASE-T1` |""" ;
    rdfs:subClassOf s223:Electricity-Signal .


            

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 "A `TerminalUnit` unit that has one ducted air inlet and a damper for regulating the flow of air." ;
    rdfs:subClassOf s223:TerminalUnit ;
    sh:property [ rdfs:comment "A `SingleDuctTerminal` shall contain at least one `Damper`." ;
            sh:message "s223: A `SingleDuctTerminal` shall contain at least one `Damper`." ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:Damper ] ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:Sink a s223:Class,
        sh:NodeShape ;
    rdfs:label "Sink" ;
    rdfs:comment "A piece of `Equipment` for manually washing hands, dishes, or other items that receives as an input hot or cold water dispensed from one or two `Faucet`s, and is designed to hold a specific volume of water and release the held water through a `Drain`." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `Sink` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `Sink` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `Sink` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `Sink` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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 piece of `Equipment` that converts sunlight into thermal energy." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `SolarThermalCollector` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `SolarThermalCollector` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `SolarThermalCollector` shall have at least one inlet using the medium `EM-Light`." ;
            sh:message "s223: A `SolarThermalCollector` shall have at least one inlet using the medium `EM-Light`." ;
            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 ] ] ] ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:SteamInjector a s223:Class,
        sh:NodeShape ;
    rdfs:label "Steam injector" ;
    rdfs:comment "A piece of `Equipment` for increasing the humidity of an air stream by injecting steam into the air stream." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `SteamInjector` shall have at least one outlet using the medium `Fluid-Air`." ;
            sh:message "s223: A `SteamInjector` shall have at least one outlet using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ;
            sh:qualifiedValueShapesDisjoint true ],
        [ rdfs:comment "A `SteamInjector` shall have at least one inlet using the medium `Water-Steam`." ;
            sh:message "s223: A `SteamInjector` shall have at least one inlet using the medium `Water-Steam`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Water-Steam ;
                                    sh:path s223:hasMedium ] ] ] ;
            sh:qualifiedValueShapesDisjoint true ],
        [ rdfs:comment "A `SteamInjector` shall have at least one inlet using the medium `Fluid-Air`." ;
            sh:message "s223: A `SteamInjector` shall have at least one inlet using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ;
            sh:qualifiedValueShapesDisjoint true ] .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:Substance-Medium a s223:Class,
        s223:Substance-Medium,
        sh:NodeShape ;
    rdfs:label "Medium" ;
    doc:subclauses ( s223:Medium-Constituent s223:Medium-Mix ) ;
    rdfs:comment """This class and its enumerated subclasses represent substances that facilitate the conveyance of matter, energy, or information.  It is used to qualify `Connection`s and `ConnectionPoint`s with the relation `hasMedium` (see {s223:hasMedium}).

`Substance-Medium` is also the root of the medium hierarchy that is used to ensure compatibility of different medium designations. For example,
`Fluid-Water` and `Water-ChilledWater` are alternative but compatible ways of identifying what is flowing in a pipe, using different degrees of
specificity. `Water-ChilledWater` and `Water-HotWater` are not compatible. Compatibility is determined by testing if one medium is a subclass of the
other. This gets a bit more complicated in the case of mixtures, where at least one of the constituents of a mixture must be compatible with at least one of
the constituents of the other medium.

Testing for medium compatibility is done in the context of entities that have a `hasMedium` relation, such as

* `Connection` and its associated `ConnectionPoint`s (see {s223:Connection});

* `Junction` and its associated `ConnectionPoint`s (see {s223:Junction});

* `Filter` and its associated `ConnectionPoint`s (see {s223:Filter});

* any `Concept` that has a `hasMedium` relation, compared with an associated `Property` with an `ofMedium` relation (see {s223:Concept}).

These tests are listed in the constraint tables for the respective classes listed above, identified as Case 1, Case 2, etc.

: Substance-Medium Enumerations

| Enumeration |
|:-----------|
| `Medium-Constituent` (see {s223:Medium-Constituent}) |
| `Medium-MechanicalLinkage` |
| `Medium-Mix` (see {s223:Medium-Mix}) |
| `Medium-ThermalContact` |""" ;
    rdfs:subClassOf s223:EnumerationKind-Substance .


            

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 and its enumerated subclasses represent common size thresholds of interest for particulate matter that is suspended in a
medium in a way that maintains the physical and chemical properties of the medium.

![Particulate Concentration](figures/Figure_x-y_Particulate_Concentration.svg)

Figure 10-9 shows an instance of a `Connection` with `hasMedium` referencing
`Fluid-Air` that has a `Property` _Particulate Concentration_ of particles with a
diameter of 2.5 micrometres (0.0025 mm) or smaller in units of micrograms per
cubic meter.

![Carbon Monoxide Concentration](figures/Figure_x-y_Medium_Concentration.svg)

Figure 10-10 shows an instance of a `Property` _CO Concentration_ with `ofSubstance`
referencing carbon monoxide `Constituent-CO` and `ofMedium` referencing `Fluid-Air`
measured in parts-per-million.  This figure also shows that the value of this
`Property` can be obtained by using the BACnet protocol via the external reference
to get the `present-value` of `analog-value,67` in the device with an instance
number `12345`.

: Substance-Particulate Enumerations

| Enumeration |
|:-----------|
| `Particulate-PM1.0` |
| `Particulate-PM2.5` |
| `Particulate-PM10.0` |
| `Particulate-Smoke` |""" ;
    rdfs:subClassOf s223:EnumerationKind-Substance .


            

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


@prefix 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-Soot a s223:Class,
        s223:Substance-Soot,
        sh:NodeShape ;
    rdfs:label "Soot" ;
    rdfs:comment "Carbon particles resulting from the incomplete combustion of hydrocarbons. Soot is considered a hazardous substance with carcinogenic properties." ;
    rdfs:subClassOf s223:EnumerationKind-Substance .


            

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


@prefix 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:SymmetricRelation a s223:Class,
        s223:Concept,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Symmetric relation" ;
    rdfs:comment """A modeling construct used to define symmetric behavior
for certain relations in the standard such as `cnx`, `connected`, and `pairedConnectionPoint`.""" ;
    rdfs:subClassOf s223:Relation .


            

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


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@prefix 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:SymmetricRelationShape 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:SymmetricRelation .
}
			""" ;
            sh:prefixes ns4:owl-subset ] ;
    sh:targetClass s223:Concept .


            

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


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@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 logical grouping of one or more pieces of `Equipment`, `Junction`s, or other `System`s for some functional purpose." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ rdfs:comment "A `System` shall be associated with zero or more `ConnectionPoint`s that are the \"boundary\" of the equipment using the relation `hasBoundaryConnectionPoint`. The `hasBoundaryConnectionPoint` relation is used to reference those connection points of its equipment that must be connected, but in the context of validating the model with the system by itself, the \"dangling connection point\" should not generate a validation error." ;
            sh:class s223:ConnectionPoint ;
            sh:message "s223: A `System` shall be associated with zero or more `ConnectionPoint`s that are the \"boundary\" of the equipment using the relation `hasBoundaryConnectionPoint`. The `hasBoundaryConnectionPoint` relation is used to reference those connection points of its equipment that must be connected, but in the context of validating the model with the system by itself, the \"dangling connection point\" should not generate a validation error." ;
            sh:path s223:hasBoundaryConnectionPoint ],
        [ rdfs:comment "A `System` shall be associated with zero or more `EnumerationKind-Role`s using the relation `hasRole`." ;
            sh:class s223:EnumerationKind-Role ;
            sh:message "s223: A `System` shall be associated with zero or more `EnumerationKind-Role`s using the relation `hasRole`." ;
            sh:path s223:hasRole ],
        [ a sh:PropertyShape ;
            rdfs:comment "A `System` shall be associated with at least one piece of `Equipment`, `Junction`, or `System` using the relation `hasMember`." ;
            sh:message "s223: A `System` shall be associated with at least one piece of `Equipment`, `Junction`, or `System` using the relation `hasMember`." ;
            sh:minCount 1 ;
            sh:or ( [ sh:class s223:Equipment ] [ sh:class s223:Junction ] [ sh:class s223:System ] ) ;
            sh:path s223:hasMember ;
            sh:severity sh:Warning ],
        [ rdfs:comment "A `System` shall be associated with zero or more `ConnectionPoint`s that are the \"boundary\" of the equipment using the relation `hasBoundaryConnectionPoint`. The `hasBoundaryConnectionPoint` relation is used to reference those connection points of its equipment that must be connected, but in the context of validating the model with the system by itself, the \"dangling connection point\" should not generate a validation error." ;
            sh:class s223:ConnectionPoint ;
            sh:message "s223: A `System` shall be associated with zero or more `ConnectionPoint`s that are the \"boundary\" of the equipment using the relation `hasBoundaryConnectionPoint`. The `hasBoundaryConnectionPoint` relation is used to reference those connection points of its equipment that must be connected, but in the context of validating the model with the system by itself, the \"dangling connection point\" should not generate a validation error." ;
            sh:path s223:hasOptionalConnectionPoint ] ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Ensure that the boundary `ConnectionPoint`s of a `System` belong to only members of that `System`" ;
            sh:message "s223: `System` {$this} `hasBoundaryConnectionPoint` {?cp}, belonging to {?con} that is not a member of {?this}." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this ?cp ?con
WHERE {
$this s223:hasBoundaryConnectionPoint ?cp .
?cp s223:isConnectionPointOf ?con .
FILTER NOT EXISTS {$this s223:hasMember+ ?con}
}
""" ] .


            

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


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@prefix 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:SystemShape a sh:NodeShape ;
    sh:rule [ a sh:SPARQLRule ;
            rdfs:comment "Infer the `hasBoundaryConnectionPoint` relation using `hasOptionalConnectionPoint`." ;
            sh:construct """
CONSTRUCT {$this s223:hasBoundaryConnectionPoint ?thing .}
WHERE {
$this s223:hasOptionalConnectionPoint ?thing .
}
""" ;
            sh:name "InferredSystemToBoundaryConnectionPointFromOptional" ;
            sh:prefixes ns4:model-rules ] ;
    sh:targetClass s223:System .


            

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


@prefix 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:Television a s223:Class,
        sh:NodeShape ;
    rdfs:label "Television" ;
    rdfs:comment "An `ElectronicDisplay` that is designed primarily for the output of visual information supplied by a media broadcaster, and that typically has an integral tuner that is capable of selecting a single channel for display from the available input channel range." ;
    rdfs:subClassOf s223:ElectronicDisplay .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

s223:TemperatureSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Temperature sensor" ;
    rdfs:comment "A `Sensor` that `observes` a `QuantifiableObservableProperty` that represents a measure of temperature." ;
    rdfs:subClassOf s223:Sensor ;
    sh:property [ rdfs:comment "A `TemperatureSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Temperature`." ;
            sh:class s223:QuantifiableObservableProperty ;
            sh:message "s223: A `TemperatureSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Temperature`." ;
            sh:node [ sh:property [ sh:in ( quantitykind:Temperature ) ;
                            sh:path qudt:hasQuantityKind ] ] ;
            sh:path s223:observes ] .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:TerminalUnit a s223:Class,
        sh:NodeShape ;
    rdfs:label "Terminal unit" ;
    doc:subclauses ( s223:DualDuctTerminal s223:FanPoweredTerminal s223:SingleDuctTerminal ) ;
    rdfs:comment "A piece of `Equipment` 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 outlet using the medium `Fluid-Air`." ;
            sh:message "s223: A `TerminalUnit` shall have at least one outlet using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `TerminalUnit` shall have at least one inlet using the medium `Fluid-Air`." ;
            sh:message "s223: A `TerminalUnit` shall have at least one inlet using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:ThermalEnergyStorageUnit a s223:Class,
        sh:NodeShape ;
    rdfs:label "Thermal energy storage unit" ;
    rdfs:comment "A piece of `Equipment` that stores thermal energy." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `ThermalEnergyStorageUnit` shall be associated with at least two connection points using the relation `hasConnectionPoint`." ;
            sh:message "s223: A `ThermalEnergyStorageUnit` shall be associated with at least two connection points using the relation `hasConnectionPoint`." ;
            sh:minCount 2 ;
            sh:path s223:hasConnectionPoint ] .


            

URI: http://data.ashrae.org/standard223#ThermodynamicPhase-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:ThermodynamicPhase-Gas a s223:Class,
        s223:ThermodynamicPhase-Gas,
        sh:NodeShape ;
    rdfs:label "Gas phase" ;
    rdfs:comment """This class and its enumerated subclasses represent gas in various thermodynamic states.

: ThermodynamicPhase-Gas Enumerations

| Enumeration |
|:-----------|
| `Gas-Superheated` |""" ;
    rdfs:subClassOf s223:EnumerationKind-ThermodynamicPhase .


            

URI: http://data.ashrae.org/standard223#ThermodynamicPhase-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:ThermodynamicPhase-Liquid a s223:Class,
        s223:ThermodynamicPhase-Liquid,
        sh:NodeShape ;
    rdfs:label "Liquid phase" ;
    rdfs:comment """This class and its enumerated subclasses represent liquid in various thermodynamic states.

: ThermodynamicPhase-Liquid Enumerations

| Enumeration |
|:-----------|
| `Liquid-Subcooled` |""" ;
    rdfs:subClassOf s223:EnumerationKind-ThermodynamicPhase .


            

URI: http://data.ashrae.org/standard223#ThermodynamicPhase-Solid


@prefix 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:ThermodynamicPhase-Solid a s223:Class,
        s223:ThermodynamicPhase-Solid,
        sh:NodeShape ;
    rdfs:label "Solid phase" ;
    rdfs:comment "`ThermodynamicPhase-Solid`" ;
    rdfs:subClassOf s223:EnumerationKind-ThermodynamicPhase .


            

URI: http://data.ashrae.org/standard223#ThermodynamicPhase-Vapor


@prefix 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:ThermodynamicPhase-Vapor a s223:Class,
        s223:ThermodynamicPhase-Vapor,
        sh:NodeShape ;
    rdfs:label "Vapor phase" ;
    rdfs:comment "`ThermodynamicPhase-Vapor`" ;
    rdfs:subClassOf s223:EnumerationKind-ThermodynamicPhase .


            

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 "A piece of `Equipment` that maintains temperature at a fixed or adjustable setpoint." ;
    rdfs:subClassOf s223:Equipment .


            

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` shall be associated with at least three connection points using the relation `hasConnectionPoint`." ;
            sh:message "s223: A `ThreeWayValve` shall be associated with at least three connection points using the relation `hasConnectionPoint`." ;
            sh:minCount 3 ;
            sh:path s223:hasConnectionPoint ] .


            

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 "A piece of `Equipment` 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 `Constituent-Electricity`." ;
            sh:message "s223: A `Turbine` shall have at least one outlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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:message "s223: A `TwoWayValve` shall have at least one inlet." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ] ],
        [ rdfs:comment "A `TwoWayValve` shall have at least one outlet." ;
            sh:message "s223: A `TwoWayValve` shall have at least one outlet." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ] ] .


            

URI: http://data.ashrae.org/standard223#UHF-ISMBand


@prefix 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:UHF-ISMBand a s223:Class,
        s223:UHF-ISMBand,
        sh:NodeShape ;
    rdfs:label "ISM band" ;
    rdfs:comment """This class and its enumerated subclasses represent communication protocols that use radio frequencies that are reserved internationally for license-free support of Industrial, Scientific, and Medical applications.

: UHF-ISMBand Enumerations

| Enumeration |
|:-----------|
| `ISMBand-BluetoothLE` |
| `ISMBand-IEEE802.11` |
| `ISMBand-IEEE802.15.4` |
| `ISMBand-LoRaWAN` |
| `ISMBand-NFC` |
| `ISMBand-RFID` |""" ;
    rdfs:subClassOf s223:Signal-UHF .


            

URI: http://data.ashrae.org/standard223#UHF-LicensedBand


@prefix 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:UHF-LicensedBand a s223:Class,
        s223:UHF-LicensedBand,
        sh:NodeShape ;
    rdfs:label "Licensed band" ;
    rdfs:comment "This class represents communication protocols that use radio frequencies in licensed bands of the UHF spectrum." ;
    rdfs:subClassOf s223:Signal-UHF .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:USBCable a s223:Class,
        sh:NodeShape ;
    rdfs:label "USB cable" ;
    rdfs:comment "A type of `Conductor` that consists of 1 to 5 pairs of twisted wire and is used for `Signal-USB` communication." ;
    rdfs:subClassOf s223:Conductor ;
    sh:property [ rdfs:comment "A `USBCable` shall be associated with exactly one `Signal-USB` using the relation `hasMedium`." ;
            sh:class s223:Signal-USB ;
            sh:maxCount 1 ;
            sh:message "s223: A `USBCable` shall be associated with exactly one `Signal-USB` using the relation `hasMedium`." ;
            sh:minCount 1 ;
            sh:path s223:hasMedium ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:USBOutlet a s223:Class,
        sh:NodeShape ;
    rdfs:label "USB outlet" ;
    rdfs:comment "A piece of `Equipment` that contains one or more receptacles for connecting electrical equipment to a USB communication network, typically via a USB cable." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `USBOutlet` shall have at least one outlet using the medium `Signal-USB`." ;
            sh:message "s223: A `USBOutlet` shall have at least one outlet using the medium `Signal-USB`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Signal-USB ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `USBOutlet` shall have exactly one inlet using the medium `Signal-USB`." ;
            sh:message "s223: A `USBOutlet` shall have exactly one inlet using the medium `Signal-USB`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMaxCount 1 ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Signal-USB ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix doc: <http://sample.org/doc#> .
@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" ;
    doc:subclauses ( s223:Drain s223:Faucet s223:ThreeWayValve s223:TwoWayValve ) ;
    rdfs:comment "A piece of `Equipment` that can be adjusted to allow, regulate, or stop the flow of fluid in a pipe or a duct." ;
    rdfs:subClassOf s223:Equipment .


            

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


@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:ValveCPShape a sh:NodeShape ;
    rdfs:label "Valve CP shape" ;
    rdfs:comment "A `Valve` shall have at least one inlet and one outlet or two bidirectional connection points." ;
    sh:message "s223: A `Valve` shall have at least one inlet and one outlet or two bidirectional connection points." ;
    sh:or ( [ sh:property [ rdfs:comment "A `Valve` shall have at least one inlet and one outlet or two bidirectional connection points." ;
                        sh:message "s223: A `Valve` shall have at least one inlet and one outlet or two bidirectional connection points." ;
                        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:message "s223: A `Valve` shall have at least one inlet and one outlet or two bidirectional connection points." ;
                        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:message "s223: A `Valve` shall have at least one inlet and one outlet or two bidirectional connection points." ;
                        sh:path s223:hasConnectionPoint ;
                        sh:qualifiedMinCount 2 ;
                        sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ] ;
                        sh:qualifiedValueShapesDisjoint true ] ] ) ;
    sh:severity sh:Warning ;
    sh:targetClass s223:Valve .


            

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 "Variable frequency drive" ;
    rdfs:comment "A piece of `Equipment` that varies its output frequency to vary the rotating speed and torque of a motor, given a fixed input frequency. Used with fans or pumps to vary the flow in the system as a function of a maintained pressure." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `VariableFrequencyDrive` shall have at least one outlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: A `VariableFrequencyDrive` shall have at least one outlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `VariableFrequencyDrive` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:message "s223: A `VariableFrequencyDrive` shall have at least one inlet using the medium `Constituent-Electricity`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                                    sh:path s223:hasMedium ] ] ] ;
            sh:severity sh:Warning ],
        [ rdfs:comment "A `VariableFrequencyDrive` shall be associated with zero or more pieces of `Equipment` using the relation `connectedTo`." ;
            sh:class s223:Equipment ;
            sh:message "s223: A `VariableFrequencyDrive` shall be associated with zero or more pieces of `Equipment` using the relation `connectedTo`." ;
            sh:path s223:connectedTo ] .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-0V a s223:Class,
        s223:Voltage-0V,
        sh:NodeShape ;
    rdfs:label "0 V" ;
    s223:hasValue 0.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-0V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-10000V a s223:Class,
        s223:Voltage-10000V,
        sh:NodeShape ;
    rdfs:label "10000 V" ;
    s223:hasValue 10000.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-10000V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-110V a s223:Class,
        s223:Voltage-110V,
        sh:NodeShape ;
    rdfs:label "110 V" ;
    s223:hasValue 110.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-110V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-120V a s223:Class,
        s223:Voltage-120V,
        sh:NodeShape ;
    rdfs:label "120 V" ;
    s223:hasValue 120.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-120V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-127V a s223:Class,
        s223:Voltage-127V,
        sh:NodeShape ;
    rdfs:label "127 V" ;
    s223:hasValue 127.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-127V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-12V a s223:Class,
        s223:Voltage-12V,
        sh:NodeShape ;
    rdfs:label "12 V" ;
    s223:hasValue 12.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-12V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-139V a s223:Class,
        s223:Voltage-139V,
        sh:NodeShape ;
    rdfs:label "139 V" ;
    s223:hasValue 139.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-139V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-1730V a s223:Class,
        s223:Voltage-1730V,
        sh:NodeShape ;
    rdfs:label "1730 V" ;
    s223:hasValue 1730.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-1730V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-1900V a s223:Class,
        s223:Voltage-1900V,
        sh:NodeShape ;
    rdfs:label "1900 V" ;
    s223:hasValue 1900.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-1900V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-190V a s223:Class,
        s223:Voltage-190V,
        sh:NodeShape ;
    rdfs:label "190 V" ;
    s223:hasValue 190.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-190V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-2.5V a s223:Class,
        s223:Voltage-2.5V,
        sh:NodeShape ;
    rdfs:label "2.5 V" ;
    s223:hasValue 2.5 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-2.5V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-208V a s223:Class,
        s223:Voltage-208V,
        sh:NodeShape ;
    rdfs:label "208 V" ;
    s223:hasValue 208.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-208V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-219V a s223:Class,
        s223:Voltage-219V,
        sh:NodeShape ;
    rdfs:label "219 V" ;
    s223:hasValue 219.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-219V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-220V a s223:Class,
        s223:Voltage-220V,
        sh:NodeShape ;
    rdfs:label "220 V" ;
    s223:hasValue 220.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-220V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-230V a s223:Class,
        s223:Voltage-230V,
        sh:NodeShape ;
    rdfs:label "230 V" ;
    s223:hasValue 230.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-230V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-2400V a s223:Class,
        s223:Voltage-2400V,
        sh:NodeShape ;
    rdfs:label "2400 V" ;
    s223:hasValue 2400.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-2400V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-240V a s223:Class,
        s223:Voltage-240V,
        sh:NodeShape ;
    rdfs:label "240 V" ;
    s223:hasValue 240.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-240V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-24V a s223:Class,
        s223:Voltage-24V,
        sh:NodeShape ;
    rdfs:label "24 V" ;
    s223:hasValue 24.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-24V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-277V a s223:Class,
        s223:Voltage-277V,
        sh:NodeShape ;
    rdfs:label "277 V" ;
    s223:hasValue 277.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-277V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-3000V a s223:Class,
        s223:Voltage-3000V,
        sh:NodeShape ;
    rdfs:label "3000 V" ;
    s223:hasValue 3000.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-3000V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-3300V a s223:Class,
        s223:Voltage-3300V,
        sh:NodeShape ;
    rdfs:label "3300 V" ;
    s223:hasValue 3300.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-3300V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-3460V a s223:Class,
        s223:Voltage-3460V,
        sh:NodeShape ;
    rdfs:label "3460 V" ;
    s223:hasValue 3460.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-3460V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-347V a s223:Class,
        s223:Voltage-347V,
        sh:NodeShape ;
    rdfs:label "347 V" ;
    s223:hasValue 347.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-347V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-380V a s223:Class,
        s223:Voltage-380V,
        sh:NodeShape ;
    rdfs:label "380 V" ;
    s223:hasValue 380.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-380V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-3810V a s223:Class,
        s223:Voltage-3810V,
        sh:NodeShape ;
    rdfs:label "3810 V" ;
    s223:hasValue 3810.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-3810V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-3V a s223:Class,
        s223:Voltage-3V,
        sh:NodeShape ;
    rdfs:label "3 V" ;
    s223:hasValue 3.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-3V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-400V a s223:Class,
        s223:Voltage-400V,
        sh:NodeShape ;
    rdfs:label "400 V" ;
    s223:hasValue 400.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-400V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-415V a s223:Class,
        s223:Voltage-415V,
        sh:NodeShape ;
    rdfs:label "415 V" ;
    s223:hasValue 415.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-415V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-4160V a s223:Class,
        s223:Voltage-4160V,
        sh:NodeShape ;
    rdfs:label "4160 V" ;
    s223:hasValue 4160.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-4160V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-480V a s223:Class,
        s223:Voltage-480V,
        sh:NodeShape ;
    rdfs:label "480 V" ;
    s223:hasValue 480.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-480V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-48V a s223:Class,
        s223:Voltage-48V,
        sh:NodeShape ;
    rdfs:label "48 V" ;
    s223:hasValue 48.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-48V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-5770V a s223:Class,
        s223:Voltage-5770V,
        sh:NodeShape ;
    rdfs:label "5770 V" ;
    s223:hasValue 5770.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-5770V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-5V a s223:Class,
        s223:Voltage-5V,
        sh:NodeShape ;
    rdfs:label "5 V" ;
    s223:hasValue 5.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-5V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-6000V a s223:Class,
        s223:Voltage-6000V,
        sh:NodeShape ;
    rdfs:label "6000 V" ;
    s223:hasValue 6000.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-6000V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-600V a s223:Class,
        s223:Voltage-600V,
        sh:NodeShape ;
    rdfs:label "600 V" ;
    s223:hasValue 600.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-600V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-6600V a s223:Class,
        s223:Voltage-6600V,
        sh:NodeShape ;
    rdfs:label "6600 V" ;
    s223:hasValue 6600.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-6600V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Voltage-6V a s223:Class,
        s223:Voltage-6V,
        sh:NodeShape ;
    rdfs:label "6 V" ;
    s223:hasValue 6.0 ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "Voltage-6V" ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .

s223:Voltage-PoE a s223:Class,
        s223:Voltage-PoE,
        sh:NodeShape ;
    rdfs:label "PoE voltage" ;
    qudt:hasQuantityKind quantitykind:Voltage ;
    qudt:hasUnit unit:V ;
    rdfs:comment "This class represents the standardized 44-57VDC range that is produced by PoE Power Sourcing Equipment." ;
    rdfs:subClassOf s223:Numerical-Voltage .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

s223:VoltageSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Voltage sensor" ;
    rdfs:comment "A `Sensor` that `observes` a `QuantifiableObservableProperty` that represents a measure of voltage." ;
    rdfs:subClassOf s223:Sensor ;
    sh:property [ rdfs:comment "A `VoltageSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of Voltage." ;
            sh:class s223:QuantifiableObservableProperty ;
            sh:message "s223: A `VoltageSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of Voltage." ;
            sh:node [ sh:property [ sh:in ( quantitykind:Voltage ) ;
                            sh:path qudt:hasQuantityKind ] ] ;
            sh:path s223:observes ] .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .

s223:Water-ChilledWater a s223:Class,
        s223:Water-ChilledWater,
        sh:NodeShape ;
    rdfs:label "Chilled water" ;
    s223:composedOf [ a s223:QuantifiableProperty ;
            rdfs:label "Water concentration" ;
            s223:ofConstituent s223:Constituent-H2O ;
            qudt:hasQuantityKind quantitykind:VolumeFraction ;
            qudt:hasUnit unit:PERCENT ] ;
    rdfs:comment "Water-Chilled water" ;
    rdfs:subClassOf s223:Fluid-Water .


            

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


@prefix doc: <http://sample.org/doc#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Water-GlycolSolution a s223:Class,
        s223:Water-GlycolSolution,
        sh:NodeShape ;
    rdfs:label "Water-Glycol solution" ;
    s223:composedOf [ a s223:QuantifiableProperty ;
            rdfs:label "Unspecified" ;
            s223:ofConstituent s223:Constituent-H2O ;
            qudt:hasQuantityKind quantitykind:VolumeFraction ;
            qudt:hasUnit unit:PERCENT ],
        [ a s223:QuantifiableProperty ;
            rdfs:label "Unspecified" ;
            s223:ofConstituent s223:Constituent-Glycol ;
            qudt:hasQuantityKind quantitykind:VolumeFraction ;
            qudt:hasUnit unit:PERCENT ] ;
    s223:hasFreezingPoint [ a s223:QuantifiableProperty ;
            rdfs:label "Freezing point" ;
            qudt:hasQuantityKind quantitykind:Temperature ] ;
    doc:subclauses ( s223:hasFreezingPoint ) ;
    rdfs:comment """This class and its enumerated subclasses represent common concentrations of water-glycol solution.

: Water-GlycolSolution Enumerations

| Enumeration |
|:-----------|
| `GlycolSolution-15Percent` |
| `GlycolSolution-30Percent` |""" ;
    rdfs:subClassOf s223:Fluid-Water ;
    sh:property [ rdfs:comment "One of the constituents of a `Water-GlycolSolution` shall be a `Constituent-H2O`." ;
            sh:message "s223: One of the constituents of a `Water-GlycolSolution` shall be a `Constituent-H2O`." ;
            sh:path s223:composedOf ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:QuantifiableProperty ;
                    sh:node [ sh:property [ rdfs:comment "The `QuantityKind` of the constituent shall be `VolumeFraction`." ;
                                    sh:in ( quantitykind:VolumeFraction ) ;
                                    sh:path qudt:hasQuantityKind ],
                                [ rdfs:comment "One of the constituents of a `Water-GlycolSolution` shall be a `Constituent-H2O`." ;
                                    sh:class s223:Constituent-H2O ;
                                    sh:path s223:ofConstituent ] ] ] ;
            sh:qualifiedValueShapesDisjoint true ],
        [ rdfs:comment "A `Water-GlycolSolution` shall be associated with at least two `QuantifiableProperty`s using the relation `composedOf`. These characterize the constituents of a `Water-GlycolSolution`." ;
            sh:class s223:QuantifiableProperty ;
            sh:message "s223: A `Water-GlycolSolution` shall be associated with at least two `QuantifiableProperty`s using the relation `composedOf`. These characterize the constituents of a `Water-GlycolSolution`." ;
            sh:minCount 2 ;
            sh:path s223:composedOf ],
        [ rdfs:comment "A `Water-GlycolSolution` shall be associated with zero or more `QuantifiableProperty`s with a `QuantityKind` of `Temperature` using the relation `hasFreezingPoint`." ;
            sh:class s223:QuantifiableProperty ;
            sh:message "s223: A `Water-GlycolSolution` shall be associated with zero or more `QuantifiableProperty`s with a `QuantityKind` of `Temperature` using the relation `hasFreezingPoint`." ;
            sh:node [ sh:property [ sh:in ( quantitykind:Temperature ) ;
                            sh:path qudt:hasQuantityKind ] ] ;
            sh:path s223:hasFreezingPoint ],
        [ rdfs:comment "One of the constituents of a `Water-GlycolSolution` shall be a `Constituent-Glycol`." ;
            sh:message "s223: One of the constituents of a `Water-GlycolSolution` shall be a `Constituent-Glycol`." ;
            sh:path s223:composedOf ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:QuantifiableProperty ;
                    sh:node [ sh:property [ rdfs:comment "The `QuantityKind` of the constituent shall be `VolumeFraction`." ;
                                    sh:in ( quantitykind:VolumeFraction ) ;
                                    sh:path qudt:hasQuantityKind ],
                                [ rdfs:comment "One of the constituents of a `Water-GlycolSolution` shall be a `Constituent-Glycol`." ;
                                    sh:class s223:Constituent-Glycol ;
                                    sh:path s223:ofConstituent ] ] ] ;
            sh:qualifiedValueShapesDisjoint true ] .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .

s223:Water-HotWater a s223:Class,
        s223:Water-HotWater,
        sh:NodeShape ;
    rdfs:label "Hot water" ;
    s223:composedOf [ a s223:QuantifiableProperty ;
            rdfs:label "Water concentration" ;
            s223:ofConstituent s223:Constituent-H2O ;
            qudt:hasQuantityKind quantitykind:VolumeFraction ;
            qudt:hasUnit unit:PERCENT ] ;
    rdfs:comment "Water-Hot water" ;
    rdfs:subClassOf s223:Fluid-Water .


            

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


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .

s223:Water-Steam a s223:Class,
        s223:Water-Steam,
        sh:NodeShape ;
    rdfs:label "Steam" ;
    s223:composedOf [ a s223:QuantifiableProperty ;
            rdfs:label "Water concentration" ;
            s223:ofConstituent s223:Constituent-H2O ;
            qudt:hasQuantityKind quantitykind:VolumeFraction ;
            qudt:hasUnit unit:PERCENT ] ;
    rdfs:comment "Water-Steam" ;
    rdfs:subClassOf s223:Fluid-Water .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:WaterOutlet a s223:Class,
        sh:NodeShape ;
    rdfs:label "Water outlet" ;
    rdfs:comment "A piece of `Equipment` that contains one or more pipe fittings for connecting plumbing equipment (e.g., `Faucet`) to a plumbing system." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `WaterOutlet` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `WaterOutlet` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `WaterOutlet` shall have exactly one inlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `WaterOutlet` shall have exactly one inlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMaxCount 1 ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:WaterToAirHeatPump a s223:Class,
        sh:NodeShape ;
    rdfs:label "Water-to-air heat pump" ;
    rdfs:comment "A `HeatPump` that transfers thermal energy between air and a body of water." ;
    rdfs:subClassOf s223:HeatPump ;
    sh:property [ rdfs:comment "A `WaterToAirHeatPump` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `WaterToAirHeatPump` shall have at least one outlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `WaterToAirHeatPump` shall have at least one outlet using the medium `Fluid-Air`." ;
            sh:message "s223: A `WaterToAirHeatPump` shall have at least one outlet using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `WaterToAirHeatPump` shall have at least one inlet using the medium `Fluid-Air`." ;
            sh:message "s223: A `WaterToAirHeatPump` shall have at least one inlet using the medium `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `WaterToAirHeatPump` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:message "s223: A `WaterToAirHeatPump` shall have at least one inlet using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:WaterToWaterHeatPump a s223:Class,
        sh:NodeShape ;
    rdfs:label "Water-to-water heat pump" ;
    rdfs:comment "A `HeatPump` that transfers thermal energy between two flows of water." ;
    rdfs:subClassOf s223:HeatPump ;
    sh:property [ rdfs:comment "A `WaterToWaterHeatPump` shall have at least two outlets using the medium `Fluid-Water`." ;
            sh:message "s223: A `WaterToWaterHeatPump` shall have at least two outlets using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 2 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `WaterToWaterHeatPump` shall have at least two inlets using the medium `Fluid-Water`." ;
            sh:message "s223: A `WaterToWaterHeatPump` shall have at least two inlets using the medium `Fluid-Water`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 2 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix doc: <http://sample.org/doc#> .
@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:Waveguide a s223:Class,
        sh:NodeShape ;
    rdfs:label "Waveguide" ;
    doc:subclauses ( s223:CoaxialCable s223:FiberOpticCable ) ;
    rdfs:comment "A type of `Connection` the represents structures, such as fiber optic or coaxial cables, used to convey electromagnetic energy (i.e., `Constituent-EM`) in a specific direction. Without the physical constraint of a waveguide, waves would expand into three-dimensional space and their intensities would decrease according to the inverse square law." ;
    rdfs:subClassOf s223:Connection ;
    sh:property [ rdfs:comment "A `Waveguide` shall be associated with exactly one `Constituent-EM` using the relation `hasMedium`." ;
            sh:class s223:Constituent-EM ;
            sh:maxCount 1 ;
            sh:message "s223: A `Waveguide` shall be associated with exactly one `Constituent-EM` using the relation `hasMedium`." ;
            sh:minCount 1 ;
            sh:path s223:hasMedium ] .


            

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


@prefix 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:Weekday-Friday a s223:Class,
        s223:Weekday-Friday,
        sh:NodeShape ;
    rdfs:label "Friday" ;
    rdfs:comment "Weekday-Friday" ;
    rdfs:subClassOf s223:DayOfWeek-Weekday .


            

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


@prefix 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:Weekday-Monday a s223:Class,
        s223:Weekday-Monday,
        sh:NodeShape ;
    rdfs:label "Monday" ;
    rdfs:comment "Weekday-Monday" ;
    rdfs:subClassOf s223:DayOfWeek-Weekday .


            

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


@prefix 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:Weekday-Thursday a s223:Class,
        s223:Weekday-Thursday,
        sh:NodeShape ;
    rdfs:label "Thursday" ;
    rdfs:comment "Weekday-Thursday" ;
    rdfs:subClassOf s223:DayOfWeek-Weekday .


            

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


@prefix 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:Weekday-Tuesday a s223:Class,
        s223:Weekday-Tuesday,
        sh:NodeShape ;
    rdfs:label "Tuesday" ;
    rdfs:comment "Weekday-Tuesday" ;
    rdfs:subClassOf s223:DayOfWeek-Weekday .


            

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


@prefix 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:Weekday-Wednesday a s223:Class,
        s223:Weekday-Wednesday,
        sh:NodeShape ;
    rdfs:label "Wednesday" ;
    rdfs:comment "Weekday-Wednesday" ;
    rdfs:subClassOf s223:DayOfWeek-Weekday .


            

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


@prefix 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:Weekend-Saturday a s223:Class,
        s223:Weekend-Saturday,
        sh:NodeShape ;
    rdfs:label "Saturday" ;
    rdfs:comment "Weekend-Saturday" ;
    rdfs:subClassOf s223:DayOfWeek-Weekend .


            

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


@prefix 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:Weekend-Sunday a s223:Class,
        s223:Weekend-Sunday,
        sh:NodeShape ;
    rdfs:label "Sunday" ;
    rdfs:comment "Weekend-Sunday" ;
    rdfs:subClassOf s223:DayOfWeek-Weekend .


            

URI: http://data.ashrae.org/standard223#Wideband-CATV


@prefix 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:Wideband-CATV a s223:Class,
        s223:Wideband-CATV,
        sh:NodeShape ;
    rdfs:label "CATV" ;
    rdfs:comment "The Community Antenna Television communication protocol that is used to deliver cable TV service over `CoaxialCable`s or `FiberOpticCable`s." ;
    rdfs:subClassOf s223:Signal-Wideband .


            

URI: http://data.ashrae.org/standard223#Wideband-DOCSIS


@prefix 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:Wideband-DOCSIS a s223:Class,
        s223:Wideband-DOCSIS,
        sh:NodeShape ;
    rdfs:label "DOCSIS" ;
    rdfs:comment "The global standard Data Over Cable Service Interface Specification communication protocol that is used to deliver high-speed internet service over `CoaxialCable`s." ;
    rdfs:subClassOf s223:Signal-Wideband .


            

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


@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:Window a s223:Class,
        sh:NodeShape ;
    rdfs:label "Window" ;
    rdfs:comment "A piece of `Equipment` that provides a pathway for `EM-Light` or `Fluid-Air` (or both) to flow from a room to another room or the building exterior through a vertical or nearly vertical area of the room envelope." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `Window` shall have at least one inlet using the medium `EM-Light` or `Fluid-Air`." ;
            sh:message "s223: A `Window` shall have at least one inlet using the medium `EM-Light` or `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:or ( [ sh:class s223:EM-Light ] [ sh:class s223:Fluid-Air ] ) ;
                                    sh:path s223:hasMedium ] ] ] ;
            sh:severity sh:Warning ],
        [ rdfs:comment "A `Window` shall have at least one outlet using the medium `EM-Light` or `Fluid-Air`." ;
            sh:message "s223: A `Window` shall have at least one outlet using the medium `EM-Light` or `Fluid-Air`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:or ( [ sh:class s223:EM-Light ] [ sh:class s223:Fluid-Air ] ) ;
                                    sh:path s223:hasMedium ] ] ] ;
            sh:severity sh:Warning ] .


            

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 piece of `Equipment` that can be adjusted to allow, regulate, or stop the flow of light through a `Window`." ;
    rdfs:subClassOf s223:Equipment .


            

URI: http://data.ashrae.org/standard223#WiredEthernet-1000BASE-T


@prefix 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:WiredEthernet-1000BASE-T a s223:Class,
        s223:WiredEthernet-1000BASE-T,
        sh:NodeShape ;
    rdfs:label "Wired Ethernet 1000BASE-T" ;
    rdfs:comment "WiredEthernet-1000BASE-T" ;
    rdfs:subClassOf s223:Signal-WiredEthernet .


            

URI: http://data.ashrae.org/standard223#WiredEthernet-1000BASE-T1


@prefix 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:WiredEthernet-1000BASE-T1 a s223:Class,
        s223:WiredEthernet-1000BASE-T1,
        sh:NodeShape ;
    rdfs:label "Wired Ethernet 1000BASE-T1" ;
    rdfs:comment "WiredEthernet-1000BASE-T1" ;
    rdfs:subClassOf s223:Signal-WiredEthernet .


            

URI: http://data.ashrae.org/standard223#WiredEthernet-100BASE-T1


@prefix 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:WiredEthernet-100BASE-T1 a s223:Class,
        s223:WiredEthernet-100BASE-T1,
        sh:NodeShape ;
    rdfs:label "Wired Ethernet 100BASE-T1" ;
    rdfs:comment "WiredEthernet-100BASE-T1" ;
    rdfs:subClassOf s223:Signal-WiredEthernet .


            

URI: http://data.ashrae.org/standard223#WiredEthernet-100BASE-TX


@prefix 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:WiredEthernet-100BASE-TX a s223:Class,
        s223:WiredEthernet-100BASE-TX,
        sh:NodeShape ;
    rdfs:label "Wired Ethernet 100BASE-TX" ;
    rdfs:comment "WiredEthernet-100BASE-TX" ;
    rdfs:subClassOf s223:Signal-WiredEthernet .


            

URI: http://data.ashrae.org/standard223#WiredEthernet-10BASE-T


@prefix 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:WiredEthernet-10BASE-T a s223:Class,
        s223:WiredEthernet-10BASE-T,
        sh:NodeShape ;
    rdfs:label "Wired Ethernet 10BASE-T" ;
    rdfs:comment "WiredEthernet-10BASE-T" ;
    rdfs:subClassOf s223:Signal-WiredEthernet .


            

URI: http://data.ashrae.org/standard223#WiredEthernet-10BASE-T1L


@prefix 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:WiredEthernet-10BASE-T1L a s223:Class,
        s223:WiredEthernet-10BASE-T1L,
        sh:NodeShape ;
    rdfs:label "Wired Ethernet 10BASE-T1L" ;
    rdfs:comment "WiredEthernet-10BASE-T1L" ;
    rdfs:subClassOf s223:Signal-WiredEthernet .


            

URI: http://data.ashrae.org/standard223#WiredEthernet-10BASE-T1S


@prefix 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:WiredEthernet-10BASE-T1S a s223:Class,
        s223:WiredEthernet-10BASE-T1S,
        sh:NodeShape ;
    rdfs:label "Wired Ethernet 10BASE-T1S" ;
    rdfs:comment "WiredEthernet-10BASE-T1S" ;
    rdfs:subClassOf s223:Signal-WiredEthernet .


            

URI: http://data.ashrae.org/standard223#WiredEthernet-10GBASE-T


@prefix 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:WiredEthernet-10GBASE-T a s223:Class,
        s223:WiredEthernet-10GBASE-T,
        sh:NodeShape ;
    rdfs:label "Wired Ethernet 10GBASE-T" ;
    rdfs:comment "WiredEthernet-10GBASE-T" ;
    rdfs:subClassOf s223:Signal-WiredEthernet .


            

URI: http://data.ashrae.org/standard223#WiredEthernet-10GBASE-T1


@prefix 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:WiredEthernet-10GBASE-T1 a s223:Class,
        s223:WiredEthernet-10GBASE-T1,
        sh:NodeShape ;
    rdfs:label "Wired Ethernet 10GBASE-T1" ;
    rdfs:comment "WiredEthernet-10GBASE-T1" ;
    rdfs:subClassOf s223:Signal-WiredEthernet .


            

URI: http://data.ashrae.org/standard223#WiredEthernet-2.5GBASE-T


@prefix 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:WiredEthernet-2.5GBASE-T a s223:Class,
        s223:WiredEthernet-2.5GBASE-T,
        sh:NodeShape ;
    rdfs:label "Wired Ethernet 2.5GBASE-T" ;
    rdfs:comment "WiredEthernet-2.5GBASE-T" ;
    rdfs:subClassOf s223:Signal-WiredEthernet .


            

URI: http://data.ashrae.org/standard223#WiredEthernet-2.5GBASE-T1


@prefix 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:WiredEthernet-2.5GBASE-T1 a s223:Class,
        s223:WiredEthernet-2.5GBASE-T1,
        sh:NodeShape ;
    rdfs:label "Wired Ethernet 2.5GBASE-T1" ;
    rdfs:comment "WiredEthernet-2.5GBASE-T1" ;
    rdfs:subClassOf s223:Signal-WiredEthernet .


            

URI: http://data.ashrae.org/standard223#WiredEthernet-25GBASE-T


@prefix 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:WiredEthernet-25GBASE-T a s223:Class,
        s223:WiredEthernet-25GBASE-T,
        sh:NodeShape ;
    rdfs:label "Wired Ethernet 25GBASE-T" ;
    rdfs:comment "WiredEthernet-25GBASE-T" ;
    rdfs:subClassOf s223:Signal-WiredEthernet .


            

URI: http://data.ashrae.org/standard223#WiredEthernet-40GBASE-T


@prefix 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:WiredEthernet-40GBASE-T a s223:Class,
        s223:WiredEthernet-40GBASE-T,
        sh:NodeShape ;
    rdfs:label "Wired Ethernet 40GBASE-T" ;
    rdfs:comment "WiredEthernet-40GBASE-T" ;
    rdfs:subClassOf s223:Signal-WiredEthernet .


            

URI: http://data.ashrae.org/standard223#WiredEthernet-5GBASE-T


@prefix 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:WiredEthernet-5GBASE-T a s223:Class,
        s223:WiredEthernet-5GBASE-T,
        sh:NodeShape ;
    rdfs:label "Wired Ethernet 5GBASE-T" ;
    rdfs:comment "WiredEthernet-5GBASE-T" ;
    rdfs:subClassOf s223:Signal-WiredEthernet .


            

URI: http://data.ashrae.org/standard223#WiredEthernet-5GBASE-T1


@prefix 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:WiredEthernet-5GBASE-T1 a s223:Class,
        s223:WiredEthernet-5GBASE-T1,
        sh:NodeShape ;
    rdfs:label "Wired Ethernet 5GBASE-T1" ;
    rdfs:comment "WiredEthernet-5GBASE-T1" ;
    rdfs:subClassOf s223:Signal-WiredEthernet .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:WiredEthernetOutlet a s223:Class,
        sh:NodeShape ;
    rdfs:label "Wired Ethernet outlet" ;
    rdfs:comment "A piece of `Equipment` that contains one or more receptacles for connecting electrical equipment to a wired Ethernet communication network, typically via a wired Ethernet cable." ;
    rdfs:subClassOf s223:Equipment ;
    sh:property [ rdfs:comment "A `WiredEthernetOutlet` shall have at least one outlet using the medium `Signal-WiredEthernet`." ;
            sh:message "s223: A `WiredEthernetOutlet` shall have at least one outlet using the medium `Signal-WiredEthernet`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Signal-WiredEthernet ;
                                    sh:path s223:hasMedium ] ] ] ],
        [ rdfs:comment "A `WiredEthernetOutlet` shall have exactly one inlet using the medium `Signal-WiredEthernet`." ;
            sh:message "s223: A `WiredEthernetOutlet` shall have exactly one inlet using the medium `Signal-WiredEthernet`." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMaxCount 1 ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:class s223:Signal-WiredEthernet ;
                                    sh:path s223:hasMedium ] ] ] ] .


            

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


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@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 logical grouping of one or more `DomainSpace`s or other `Zone`s for some building service or control-related purpose. `Zone`s can have properties that are inputs or outputs to a `Function` (see {s223:Function}), which can be executed by `Controller`s (see {s223:Controller}) or other `Equipment`." ;
    rdfs:subClassOf s223:Concept ;
    sh:message "s223: A `Zone` shall be associated with at least one `DomainSpace` using the relation `hasDomainSpace` or be associated with at least one `Zone` using the relation `hasZone`." ;
    sh:property [ rdfs:comment "A `Zone` shall be associated with zero or more other `Zone`s using the relation `hasZone`." ;
            sh:class s223:Zone ;
            sh:message "s223: A `Zone` shall be associated with zero or more other `Zone`s using the relation `hasZone`." ;
            sh:path s223:hasZone ],
        [ rdfs:comment "A `Zone` shall be associated with exactly one `EnumerationKind-Domain` using the relation `hasDomain`." ;
            sh:class s223:EnumerationKind-Domain ;
            sh:maxCount 1 ;
            sh:message "s223: A `Zone` shall be associated with exactly one `EnumerationKind-Domain` using the relation `hasDomain`." ;
            sh:minCount 1 ;
            sh:path s223:hasDomain ],
        [ rdfs:comment "A `Zone` shall be associated with at least one `DomainSpace` using the relation `hasDomainSpace` or at least one `Zone` using the relation `hasZone`." ;
            sh:message "s223: A `Zone` shall be associated with at least one `DomainSpace` using the relation `hasDomainSpace` or at least one `Zone` using the relation `hasZone`." ;
            sh:minCount 1 ;
            sh:path [ sh:alternativePath ( s223:hasDomainSpace s223:hasZone ) ] ],
        [ rdfs:comment "A `Zone` shall be associated with zero or more `DomainSpace`s using the relation `hasDomainSpace`." ;
            sh:class s223:DomainSpace ;
            sh:message "s223: A `Zone` shall be associated with zero or more `DomainSpace`s using the relation `hasDomainSpace`." ;
            sh:path s223:hasDomainSpace ],
        [ rdfs:comment "The associated domain of a `Zone` and the Domain of the `DomainSpace`s it `contains` must be the same." ;
            sh:message "s223: The associated domain of a `Zone` and the Domain of the `DomainSpace`s it `contains` must be the same." ;
            sh:path s223:hasDomain ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "The associated `EnumerationKind-Domain` of a `Zone` and the `EnumerationKind-Domain` of the `DomainSpace`s it contains must be the same." ;
                    sh:message "s223: `Zone` {$this} has a Domain of {?domain}, but it contains a `DomainSpace` {?ds} which has a Domain of {?dsdomain}. These should be the same." ;
                    sh:prefixes ns6: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)
}
""" ] ] .


            

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


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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:ZoneLoopShape a sh:NodeShape ;
    rdfs:label "Zone loop shape" ;
    rdfs:comment "A `Zone` must not contain itself, directly or indirectly." ;
    sh:message "s223: A `Zone` must not contain itself, directly or indirectly." ;
    sh:property [ rdfs:comment "A `Zone` must not contain itself, directly or indirectly." ;
            sh:message "s223: A `Zone` must not contain itself, directly or indirectly." ;
            sh:path s223:hasZone ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    rdfs:comment "A `Zone` must not contain itself, directly or indirectly." ;
                    sh:message "s223: `Zone` {$this} must not contain itself (via s223:hasZone), directly or indirectly." ;
                    sh:prefixes ns6:model ;
                    sh:select """
SELECT $this
WHERE {
$this s223:hasZone+ ?nestedZone .
FILTER ($this = ?nestedZone) .
}
""" ] ] ;
    sh:targetClass s223:Zone .


            

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


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@prefix 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:ZoneShape a sh:NodeShape ;
    sh:rule [ a sh:SPARQLRule ;
            rdfs:comment "Infer a `hasDomain` relation by checking any enclosed `DomainSpace`s to determine the domain." ;
            sh:construct """
CONSTRUCT {$this s223:hasDomain ?domain .}
WHERE {
$this s223:hasDomainSpace/s223:hasDomain ?domain .
}
""" ;
            sh:prefixes ns4:model-rules ],
        [ a sh:SPARQLRule ;
            rdfs:comment "Infer a `hasDomain` relation by checking any enclosed `Zone` to determine the domain." ;
            sh:construct """
CONSTRUCT {$this s223:hasDomain ?domain .}
WHERE {
$this s223:hasZone/s223:hasDomain ?domain .
}
""" ;
            sh:prefixes ns4:model-rules ] ;
    sh:targetClass s223:Zone .


            

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


@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#> .

s223:actuatedByProperty a s223:Relation,
        rdf:Property ;
    rdfs:label "actuated by property" ;
    rdfs:comment """A `Relation` that associates a piece of `Equipment` with the `ActuatableProperty` that it responds to. If the `Equipment`
is an `Actuator` (a subclass of `Equipment`), `actuatedByProperty` is a required relation. An `Actuator` may also identify another piece of
`Equipment` being actuated (see {s223:actuates}).""" .


            

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


@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#> .

s223:actuates a s223:Relation,
        rdf:Property ;
    rdfs:label "actuates" ;
    rdfs:comment "A `Relation` that associates an `Actuator` with the `Equipment` that it actuates." .


            

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


@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#> .

s223:cnx a s223:SymmetricRelation,
        rdf:Property ;
    rdfs:label "cnx" ;
    rdfs:comment "A `Relation` that associates adjacent entities in a connection path, comprised of `Equipment`-`ConnectionPoint`-`Connection`-`ConnectionPoint`-`Equipment` sequences." .


            

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


@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#> .

s223:composedOf a s223:Relation,
        rdf:Property ;
    rdfs:label "composed of" ;
    rdfs:comment "The relation `composedOf` is used to indicate what substances constitute a material. Allowable values are instances of `Property` that in turn identify constituents defined in `Medium-Constituent` (see {s223:Medium-Constituent}) via the relation `ofConstituent`." .


            

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


@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#> .

s223:connected a s223:SymmetricRelation,
        rdf:Property ;
    rdfs:label "connected" ;
    rdfs:comment "The relation `connected` indicates that two connectable things are `connected` without regard to the direction of flow." .


            

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


@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#> .

s223:connectedFrom a s223:RelationWithInverse,
        rdf:Property ;
    rdfs:label "connected from" ;
    s223:inverseOf s223:connectedTo ;
    rdfs:comment "The relation `connectedFrom` indicates that connectable things are `connected` with a specific direction of flow. B is `connectedFrom` A, means that the direction of flow is from A to B.  The inverse direction is indicated by `connectedTo` (see {s223:connectedTo})." .


            

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


@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#> .

s223:connectedThrough a s223:Relation,
        rdf:Property ;
    rdfs:label "connected through" ;
    rdfs:comment "A `Relation` that associates a `Connectable` with a `Connection`, without regard to the direction of flow. It is used to discover what connection links two connectable things." .


            

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


@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#> .

s223:connectedTo a s223:RelationWithInverse,
        rdf:Property ;
    rdfs:label "connected to" ;
    s223:inverseOf s223:connectedFrom ;
    rdfs:comment "The relation `connectedTo` indicates that connectable things are `connected` with a specific direction of flow. A is `connectedTo` B, means a direction of flow from A to B.  The inverse direction is indicated by `connectedFrom` (see {s223:connectedFrom})." .


            

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


@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#> .

s223:connectsAt a s223:RelationWithInverse,
        rdf:Property ;
    rdfs:label "connects at" ;
    s223:inverseOf s223:connectsThrough ;
    rdfs:comment "A `Relation` that associates a `Connection` with a specific `ConnectionPoint`." .


            

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


@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#> .

s223:connectsFrom a s223:Relation,
        rdf:Property ;
    rdfs:label "connects from" ;
    rdfs:comment "A `Relation` that associates a `Connectable` with a `Connection`, with an implied direction of flow. B `connectsFrom` A indicates a flow from A to B." .


            

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


@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#> .

s223:connectsThrough a s223:RelationWithInverse,
        rdf:Property ;
    rdfs:label "connects through" ;
    s223:inverseOf s223:connectsAt ;
    rdfs:comment "A `Relation` that associates a `ConnectionPoint` with a `Connection`, without regard to the direction of flow." .


            

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


@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#> .

s223:connectsTo a s223:Relation,
        rdf:Property ;
    rdfs:label "connects to" ;
    rdfs:comment "A `Relation` that associates a `Connection` with a `Connectable`, with an implied direction of flow. A `connectsTo` B indicates a flow from A to B." .


            

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


@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#> .

s223:contains a s223:Relation,
        rdf:Property ;
    rdfs:label "contains" ;
    rdfs:comment "A `Relation` that associates a piece of `Equipment` with its component pieces of `Equipment`, or a `PhysicalSpace` (see {s223:PhysicalSpace}) with its component `PhysicalSpace`s." .


            

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


@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#> .

s223:encloses a s223:Relation,
        rdf:Property ;
    rdfs:label "encloses" ;
    rdfs:comment "A `Relation` that associates a `PhysicalSpace` with one or more `DomainSpace`s." .


            

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


@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#> .

s223:executes a s223:Relation,
        rdf:Property ;
    rdfs:label "executes" ;
    rdfs:comment "A `Relation` that associates a `Controller` (see {s223:Controller}) with the `Function`s (see {s223:Function}) that it executes." .


            

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


@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#> .

s223:hasACLineLineVoltage a s223:Relation,
        rdf:Property ;
    rdfs:label "has AC line-line voltage" ;
    rdfs:comment "A `Relation` that associates a `Constituent-Electricity` with an electrical voltage between two live lines." .


            

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


@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#> .

s223:hasACLineNeutralVoltage a s223:Relation,
        rdf:Property ;
    rdfs:label "has AC line-neutral voltage" ;
    rdfs:comment "A `Relation` that associates an `Electricity-AC` medium with an electrical voltage between a live line and a neutral line." .


            

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


@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#> .

s223:hasAlarmStatus a s223:Relation,
        rdf:Property ;
    rdfs:label "has alarm status" ;
    rdfs:comment "A `Relation` that associates an `EnumerableProperty` that describes an Alarm or Status with a `QuantifiableProperty`." .


            

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


@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#> .

s223:hasAspect a s223:Relation,
        rdf:Property ;
    rdfs:label "has aspect" ;
    rdfs:comment "`hasAspect` is used to establish the context of a `Property`. The value must be an instance of `EnumerationKind`. For example, if a `Property` has a temperature value of 45.3, the `hasAspect` relation is used to state what that represents, such as a temperature limit during working hours, etc. A `Property` can have any number of `hasAspect` relations as needed to establish the context." .


            

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


@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#> .

s223:hasBoundaryConnectionPoint a s223:Relation,
        rdf:Property ;
    rdfs:label "has boundary connection point" ;
    rdfs:comment "The `hasBoundaryConnectionPoint` relation means the `ConnectionPoint` represents the boundary of a `System` (see {s223:System}) defined by the modeler, such as a model fragment provided by the vendor of a collection of equipment intended for integration with another model. The presence of this relation is used to indicate that such a \"dangling connection point\" should not generate a validation error in a non-integrated context but should generate an error in an integrated context." .


            

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


@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#> .

s223:hasConnectionPoint a s223:RelationWithInverse,
        rdf:Property ;
    rdfs:label "has connection point" ;
    s223:inverseOf s223:isConnectionPointOf ;
    rdfs:comment "One of two `Relation`s that associates `Connectable` with a `ConnectionPoint`. It is the inverse of the relation `isConnectionPointOf` (see {s223:isConnectionPointOf})." .


            

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


@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#> .

s223:hasDCDifferentialVoltage a s223:Relation,
        rdf:Property ;
    rdfs:label "has DC differential voltage" ;
    rdfs:comment "A `Relation` that associates an `Electricity-DC` medium with a differential voltage." .


            

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


@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#> .

s223:hasDCNegativeVoltage a s223:Relation,
        rdf:Property ;
    rdfs:label "has DC negative voltage" ;
    rdfs:comment "A `Relation` that associates an `Electricity-DC` medium with a negative polarity voltage." .


            

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


@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#> .

s223:hasDCPositiveVoltage a s223:Relation,
        rdf:Property ;
    rdfs:label "has DC positive voltage" ;
    rdfs:comment "A `Relation` that associates an `Electricity-DC` medium with a positive polarity voltage." .


            

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


@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#> .

s223:hasDCZeroVoltage a s223:Relation,
        rdf:Property ;
    rdfs:label "has DC zero voltage" ;
    rdfs:comment "A `Relation` that associates an `Electricity-DC` medium with a zero value voltage." .


            

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


@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#> .

s223:hasDeadband a s223:Relation,
        rdf:Property ;
    rdfs:label "has deadband" ;
    rdfs:comment "This relation binds a control setpoint to the `QuantifiableProperty` indicating the range of values within which a sensed variable can vary without indicating a condition has changed." .


            

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


@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#> .

s223:hasDomain a s223:Relation,
        rdf:Property ;
    rdfs:label "has domain" ;
    rdfs:comment "A `Relation` that associates a `Zone` or `DomainSpace` with an `EnumerationKind-Domain` (e.g., `Domain-HVAC`, `Domain-Lighting`)." .


            

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


@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#> .

s223:hasDomainSpace a s223:Relation,
        rdf:Property ;
    rdfs:label "has domain space" ;
    rdfs:comment "A `Relation` that associates a `Zone` with its component `DomainSpace`s." .


            

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


@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#> .

s223:hasElectricalPhase a s223:Relation,
        rdf:Property ;
    rdfs:label "has electrical phase" ;
    rdfs:comment "A `Relation` that associates a `Conductor` or `ConnectionPoint` with at most one `EnumerationKind-ElectricalPhaseIdentifier`." .


            

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


@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#> .

s223:hasEnumerationKind a s223:Relation,
        rdf:Property ;
    rdfs:label "has enumeration kind" ;
    rdfs:comment "A `Relation` that associates an `EnumerableProperty` with a class of enumeration values. This is used to, for example, identify what kind of substance is transported along a `Connection` or which day of the week a setpoint is active." .


            

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


@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#> .

s223:hasExternalReference a s223:Relation,
        rdf:Property ;
    rdfs:label "has external reference" ;
    rdfs:comment "A `Relation` that associates a `Property` with an external telemetry source." .


            

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


@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#> .

s223:hasFreezingPoint a s223:Relation,
        rdf:Property ;
    rdfs:label "has freezing point" ;
    rdfs:comment "The relation `hasFreezingPoint` is used to associate a freezing point with a glycol solution, but could be used with other `Substance-Medium`s as appropriate." .


            

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


@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#> .

s223:hasFrequency a s223:Relation,
        rdf:Property ;
    rdfs:label "has frequency" ;
    rdfs:comment "A `Relation` that associates an `Electricity-AC` with its electrical frequency." .


            

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


@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#> .

s223:hasInput a s223:Relation,
        rdf:Property ;
    rdfs:label "has input" ;
    rdfs:comment "A `Relation` that associates a `Function` (see {s223:Function}) with a `Property` (see {s223:Property}) that is used as input to the `Function`." .


            

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


@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#> .

s223:hasInternalReference a s223:RelationWithInverse,
        rdf:Property ;
    rdfs:label "has internal reference" ;
    s223:inverseOf s223:isInternalReferenceOf ;
    rdfs:comment """A `Relation` that associates a `Property` with another equivalent `Property`. For example, a `Property` that represents a `Zone`
temperature could have one or more `hasInternalReference` relations to another `Property` that is a temperature measurement from one room in the zone (see Figure 11-2).

![Zone Internal Reference.](figures/Figure_11-2_Zone_Internal_Reference.svg)

Another use of `hasInternalReference` is to make a `Property` of a piece of equipment
visible as a `Property` of a piece of containing equipment.
This is illustrated in Figure 11-3.

![Equipment Containment.](figures/Figure_11-3_Equipment_Contains_3.svg)

Note that the `hasInternalReference` relation is transitive.""" .


            

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


@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#> .

s223:hasMeasurementResolution a s223:Relation,
        rdf:Property ;
    rdfs:label "has measurement resolution" ;
    rdfs:comment "A `Relation` that associates a `Sensor` with the `QuantifiableProperty` whose value indicates the smallest recognizable change in engineering units that the `Sensor` is able to measure." .


            

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


@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#> .

s223:hasMedium a s223:Relation,
        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 `Substance-Medium` (see {s223:Substance-Medium})." .


            

URI: http://data.ashrae.org/standard223#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#> .

s223:hasMember a s223:Relation,
        rdf:Property ;
    rdfs:label "has member" ;
    rdfs:comment "A `Relation` that associates a `System` with its component `Equipment` and/or `System`s." .


            

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


@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#> .

s223:hasNumberOfElectricalPhases a s223:Relation,
        rdf:Property ;
    rdfs:label "has number of electrical phases" ;
    rdfs:comment "A `Relation` that associates an AC electricity `Substance-Medium` with its number of electrical phases." .


            

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


@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#> .

s223:hasObservationLocation a s223:Relation,
        rdf:Property ;
    rdfs:label "has observation location" ;
    rdfs:comment "A `Relation` that associates a `Sensor` with the topological location where it is observing a `Property` (see {s223:observes}). The observation location shall be a `Connectable` (see {s223:Connectable}), `Connection` (see {s223:Connection}), or `ConnectionPoint` (see {s223:ConnectionPoint})." .


            

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


@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#> .

s223:hasOptionalConnectionPoint a s223:Relation,
        rdf:Property ;
    rdfs:label "has optional connection point" ;
    rdfs:comment "The `hasOptionalConnectionPoint` relation means that the `ConnectionPoint` is optional and is not required to be connected. The presence of this relation is used to indicate that such a \"dangling connection point\" should not generate a validation error in an integrated or non-integrated context." .


            

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


@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#> .

s223:hasOutput a s223:Relation,
        rdf:Property ;
    rdfs:label "has output" ;
    rdfs:comment "A `Relation` that associates a `Function` (see {s223:Function}) with a `Property` (see {s223:Property}) that is calculated by the `Function`." .


            

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


@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#> .

s223:hasPhysicalLocation a s223:Relation,
        rdf:Property ;
    rdfs:label "has physical location" ;
    rdfs:comment "A `Relation` that associates a piece of `Equipment` with its physical location (i.e., in a `PhysicalSpace`). The physical location of a piece of `Equipment` is not necessarily the same as the location affected by the operation of the `Equipment`. For example, an air handler may physically be located on the roof, but its effect is to provide conditioned air to a `Zone` or `DomainSpace` within the building. By following the path of connections, it can be determined what other equipment or spaces are possibly impacted by the `Equipment`." .


            

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


@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#> .

s223:hasProperty a s223:Relation,
        rdf:Property ;
    rdfs:label "has property" ;
    rdfs:comment "A `Relation` that associates a `Concept` with a `Property`." .


            

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


@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#> .

s223:hasReferenceLocation a s223:Relation,
        rdf:Property ;
    rdfs:label "has reference location" ;
    rdfs:comment "A `Relation` that associates  a differential sensor with the topological location of the baseline (reference) `Property` (see {s223:observes})." .


            

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


@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#> .

s223:hasRole a s223:Relation,
        rdf:Property ;
    rdfs:label "has role" ;
    rdfs:comment "A `Relation` that associates a role with of a piece of `Equipment`, a `Connection`, `ConnectionPoint`, or `System` within a building (e.g., a heating coil might be associated with `Role-Heating`). Possible values are defined in `EnumerationKind-Role` (see {s223:EnumerationKind-Role})." .


            

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


@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#> .

s223:hasSetpoint a s223:Relation,
        rdf:Property ;
    rdfs:label "has setpoint" ;
    rdfs:comment "A `Relation` that associates a control setpoint with the `QuantifiableProperty` indicating the desired value which the control process is trying to maintain." .


            

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


@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#> .

s223:hasThermodynamicPhase a s223:Relation,
        rdf:Property ;
    rdfs:label "has thermodynamic phase" ;
    rdfs:comment "A `Relation` that associates a Medium with its thermodynamic phases." .


            

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


@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#> .

s223:hasThreshold a s223:Relation,
        rdf:Property ;
    rdfs:label "has threshold" ;
    rdfs:comment "A `Relation` that associates a threshold with the `QuantifiableProperty` indicating a specific value at which an action may be taken, distinguished from an offset or a range." .


            

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


@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#> .

s223:hasValue a s223:Relation,
        rdf:Property ;
    rdfs:label "has value" ;
    rdfs:comment "A `Relation` that associates something with a fixed value, as opposed to a computed, measured, or externally derived value." .


            

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


@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#> .

s223:hasZone a s223:Relation,
        rdf:Property ;
    rdfs:label "has zone" ;
    rdfs:comment "A `Relation` that associates a `Zone` with component `Zone`s." .


            

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


@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#> .

s223:inverseOf a s223:Relation,
        rdf:Property ;
    rdfs:label "inverse of" ;
    rdfs:comment "A `Relation` that associates `Relation`s that are inverses of one another, such as `connectedTo` and `connectedFrom`." .


            

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


@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#> .

s223:isConnectionPointOf a s223:RelationWithInverse,
        rdf:Property ;
    rdfs:label "is connection point of" ;
    s223:inverseOf s223:hasConnectionPoint ;
    rdfs:comment "One of two `Relation`s that associates a `ConnectionPoint` with a `Connectable`. It is the inverse of the relation `hasConnectionPoint` (see {s223:hasConnectionPoint})." .


            

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


@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#> .

s223:isInternalReferenceOf a s223:RelationWithInverse,
        rdf:Property ;
    rdfs:label "is internal reference of" ;
    s223:inverseOf s223:hasInternalReference ;
    rdfs:comment "The inverse of the relation `hasInternalReference` (see {s223:hasInternalReference})." .


            

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


@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#> .

s223:mapsTo a s223:Relation,
        rdf:Property ;
    rdfs:label "maps to" ;
    rdfs:comment "A `Relation` that associates a `ConnectionPoint` of a `Connectable` with a corresponding `ConnectionPoint` of the one containing it. The associated `ConnectionPoint`s shall have a compatible medium (see {s223:Substance-Medium})." .


            

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


@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#> .

s223:observes a s223:Relation,
        rdf:Property ;
    rdfs:label "observes" ;
    rdfs:comment """A `Relation` that associates a `Sensor` with one `ObservableProperty` (see {s223:ObservableProperty})
which is used by the sensor to generate a measurement value (e.g., a temperature) or a simple observation of a stimulus
causing a reaction (e.g., a current binary switch that closes a dry contact when a fan is powered on).""" .


            

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


@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#> .

s223:ofConstituent a s223:Relation,
        rdf:Property ;
    rdfs:label "of constituent" ;
    rdfs:comment "A `Relation` that associates a `Property` that characterizes a `Medium-Mix` with one of the constituents of that mix (e.g., `Fluid-Water` `composedOf` `Property` `ofConstituent` `Constituent-H2O`)." .


            

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


@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#> .

s223:ofMedium a s223:Relation,
        rdf:Property ;
    rdfs:label "of medium" ;
    rdfs:comment "A `Relation` that associates a `Property` with the specific Medium it describes. A `Property` corresponding to the temperature of a medium would be associated with this medium using the relation `ofMedium`." .


            

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


@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#> .

s223:ofSubstance a s223:Relation,
        rdf:Property ;
    rdfs:label "of substance" ;
    rdfs:comment "A `Relation` that associates a `Property` being observed by a `Sensor` with the `EnumerationKind-Substance` it characterizes within a specific `Substance-Medium`. For example, to denote the concentration of a `EnumerationKind-Substance` in a `Substance-Medium`, `ofSubstance` is used. Typically, there is also an `ofMedium` relation between the observed `Property` and the `Substance-Medium` (see Figures 10-9 and 10-10). For example, to represent the concentration of CO2 in air, we use `ofSubstance` to relate to CO2 and `ofMedium` to relate to air. The term `ofSubstance` is broad enough to include situations where a sensor is used to detect constituents that should not be present in a medium, such as ammonia in air. Therefore, `ofSubstance` is used to indicate the substance of interest, while `ofConstituent` would indicate a constituent that is normally present in the composition of the mix." .


            

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


@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .

s223:pairedConnectionPoint a s223:SymmetricRelation ;
    rdfs:label "paired connection point" ;
    rdfs:comment "A `Relation` that associates two `ConnectionPoint`s where an `InletConnectionPoint` shares the same `Substance-Medium` with an `OutletConnectionPoint`." .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#ChilledWaterCoil


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

g36:ChilledWaterCoil a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "ChilledWaterCoil" ;
    rdfs:comment "A cooling coil with a connected chilled water valve." ;
    rdfs:subClassOf s223:CoolingCoil ;
    sh:property [ rdfs:comment "The ChilledWaterCoil shall be connected to a ChilledWaterValve using the relation connectedTo." ;
            sh:path s223:connectedTo ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:ChilledWaterValve ] ] .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#ChilledWaterCoilAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:ChilledWaterCoilAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:CoolingCoil matches the constraints defined by g36:ChilledWaterCoil, it will be declared as an instance of that class." ;
            sh:condition g36:ChilledWaterCoil ;
            sh:object g36:ChilledWaterCoil ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:CoolingCoil .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#ChilledWaterValve


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

g36:ChilledWaterValve a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Chilled Water Valve" ;
    rdfs:comment "A valve that controls the flow of chilled water through a chilled water coil." ;
    rdfs:subClassOf s223:Valve .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#ChilledWaterValveAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:ChilledWaterValveAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:Valve matches the constraints defined by g36:ChilledWaterValve, it will be declared as an instance of that class." ;
            sh:condition g36:ChilledWaterValve,
                g36:ChilledWaterValveOrShape1 ;
            sh:object g36:ChilledWaterValve ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:Valve .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#ChilledWaterValveOrShape1


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

g36:ChilledWaterValveOrShape1 a sh:NodeShape ;
    rdfs:label "Chilled Water Valve Or Shape 1" ;
    rdfs:comment "A ChilledWaterValve shall have at least one analog valve command property or at least two binary valve command properties using the relation hasProperty." ;
    sh:message "g36: A ChilledWaterValve shall have at least one analog valve command property or at least two binary valve command properties using the relation hasProperty." ;
    sh:or ( [ sh:property [ rdfs:comment "A ChilledWaterValve shall have at least one analog valve command property or at least two binary valve command properties using the relation hasProperty." ;
                        sh:minCount 1 ;
                        sh:path s223:hasProperty ;
                        sh:qualifiedMinCount 1 ;
                        sh:qualifiedValueShape [ sh:class s223:QuantifiableActuatableProperty ;
                                sh:node [ sh:property [ sh:hasValue quantitykind:DimensionlessRatio ;
                                                sh:maxCount 1 ;
                                                sh:minCount 1 ;
                                                sh:path qudt:hasQuantityKind ],
                                            [ sh:hasValue s223:Binary-Position ;
                                                sh:maxCount 1 ;
                                                sh:minCount 1 ;
                                                sh:path s223:hasAspect ] ] ] ] ] [ sh:property [ rdfs:comment "A ChilledWaterValve shall have at least one analog valve command property or at least two binary valve command properties using the relation hasProperty." ;
                        sh:minCount 2 ;
                        sh:path s223:hasProperty ;
                        sh:qualifiedMinCount 2 ;
                        sh:qualifiedValueShape [ sh:class s223:EnumeratedActuatableProperty ;
                                sh:node [ sh:property [ sh:hasValue s223:EnumerationKind-Binary ;
                                                sh:maxCount 1 ;
                                                sh:minCount 1 ;
                                                sh:path s223:hasEnumerationKind ],
                                            [ sh:hasValue s223:Binary-Position ;
                                                sh:maxCount 1 ;
                                                sh:minCount 1 ;
                                                sh:path s223:hasAspect ] ] ] ] ] ) ;
    sh:targetClass g36:ChilledWaterValve .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#Damper


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

g36:Damper a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Damper" ;
    rdfs:comment "A damper with an analog or two binary position command properties." ;
    rdfs:subClassOf s223:Damper .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#DamperAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:DamperAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:Damper matches the constraints defined by g36:Damper, it will be declared as an instance of that class." ;
            sh:condition g36:Damper,
                g36:DamperOrShape1 ;
            sh:object g36:Damper ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:Damper .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#DamperOrShape1


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

g36:DamperOrShape1 a sh:NodeShape ;
    rdfs:label "Damper Or Shape 1" ;
    rdfs:comment "A damper shall have at least one analog damper command property or at least two binary damper command properties using the relation hasProperty." ;
    sh:message "g36: A damper shall have at least one analog damper command property or at least two binary damper command properties using the relation hasProperty." ;
    sh:or ( [ sh:property [ rdfs:comment "A damper shall have at least one analog damper command property or at least two binary damper command properties using the relation hasProperty." ;
                        sh:minCount 1 ;
                        sh:path s223:hasProperty ;
                        sh:qualifiedMinCount 1 ;
                        sh:qualifiedValueShape [ sh:class s223:QuantifiableActuatableProperty ;
                                sh:node [ sh:property [ sh:hasValue quantitykind:DimensionlessRatio ;
                                                sh:maxCount 1 ;
                                                sh:minCount 1 ;
                                                sh:path qudt:hasQuantityKind ],
                                            [ sh:hasValue s223:Binary-Position ;
                                                sh:maxCount 1 ;
                                                sh:minCount 1 ;
                                                sh:path s223:hasAspect ] ] ] ] ] [ sh:property [ rdfs:comment "A damper shall have at least one analog damper command property or at least two binary damper command properties using the relation hasProperty." ;
                        sh:minCount 2 ;
                        sh:path s223:hasProperty ;
                        sh:qualifiedMinCount 2 ;
                        sh:qualifiedValueShape [ sh:class s223:EnumeratedActuatableProperty ;
                                sh:node [ sh:property [ sh:hasValue s223:EnumerationKind-Binary ;
                                                sh:maxCount 1 ;
                                                sh:minCount 1 ;
                                                sh:path s223:hasEnumerationKind ],
                                            [ sh:hasValue s223:Binary-Position ;
                                                sh:maxCount 1 ;
                                                sh:minCount 1 ;
                                                sh:path s223:hasAspect ] ] ] ] ] ) ;
    sh:targetClass g36:Damper .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#DualDuctTerminalWithDischargeSensor


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

g36:DualDuctTerminalWithDischargeSensor a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "DualDuctTerminalWithDischargeSensor" ;
    rdfs:comment "A dual duct air terminal mixes two independent sources of primary air. This terminal uses one discharge sensor." ;
    rdfs:subClassOf s223:DualDuctTerminal ;
    sh:property [ rdfs:comment "The DualDuctTerminalWithDischargeSensor shall connect to a Domain Space in a g36:Zone" ;
            sh:class s223:DomainSpace ;
            sh:message "g36: The DualDuctTerminalWithDischargeSensor connects to Domain Space in a g36:Zone" ;
            sh:minCount 1 ;
            sh:node [ sh:property [ sh:class g36:Zone ;
                            sh:minCount 1 ;
                            sh:path [ sh:inversePath s223:hasDomainSpace ] ] ] ;
            sh:path s223:connectedTo ],
        [ rdfs:comment "In the DualDuctTerminalWithDischargeSensor, one Damper has Role Cooling using the relation hasRole." ;
            sh:message "g36: In the DualDuctTerminalWithDischargeSensor, one Damper has Role Cooling using the relation hasRole." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:Damper ;
                    sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasRole ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:hasValue s223:Role-Cooling ] ] ] ] ],
        [ rdfs:comment "In the DualDuctTerminalWithDischargeSensor, one Damper has Role Heating using the relation hasRole." ;
            sh:message "g36: In the DualDuctTerminalWithDischargeSensor, one Damper has Role Heating using the relation hasRole." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:Damper ;
                    sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasRole ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:hasValue s223:Role-Heating ] ] ] ] ],
        [ rdfs:comment "The DualDuctTerminalWithDischargeSensor OutletConnectionPoint shall have at least one discharge airflow property using the relation hasProperty." ;
            sh:message "g36: The DualDuctTerminalWithDischargeSensor OutletConnectionPoint shall have at least one discharge airflow property using the relation hasProperty." ;
            sh:minCount 1 ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasProperty ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                            sh:node [ sh:property [ sh:hasValue quantitykind:VolumeFlowRate ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path qudt:hasQuantityKind ] ] ] ] ] ] ],
        [ rdfs:comment "The DualDuctTerminalWithDischargeSensor shall contain 2 dampers using the relation contains." ;
            sh:message "g36: The DualDuctTerminalWithDischargeSensor shall contain 2 dampers using the relation contains." ;
            sh:minCount 2 ;
            sh:path s223:contains ;
            sh:qualifiedMaxCount 2 ;
            sh:qualifiedMinCount 2 ;
            sh:qualifiedValueShape [ sh:class g36:Damper ] ] .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#DualDuctTerminalWithDischargeSensorAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:DualDuctTerminalWithDischargeSensorAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:DualDuctTerminal matches the constraints defined by g36:DualDuctTerminalWithDischargeSensor, it will be declared as an instance of that class." ;
            sh:condition g36:DualDuctTerminalWithDischargeSensor ;
            sh:object g36:DualDuctTerminalWithDischargeSensor ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:DualDuctTerminal .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#DualDuctTerminalWithInletSensors


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

g36:DualDuctTerminalWithInletSensors a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "DualDuctTerminalWithInletSensors" ;
    rdfs:comment "A dual duct air terminal mixes two independent sources of primary air. This terminal uses two inlet sensors." ;
    rdfs:subClassOf s223:DualDuctTerminal ;
    sh:property [ rdfs:comment "The DualDuctTerminalWithInletSensors shall connect to Domain Space in a g36:Zone" ;
            sh:class s223:DomainSpace ;
            sh:message "g36: The DualDuctTerminalWithInletSensors connects to Domain Space in a g36:Zone" ;
            sh:minCount 1 ;
            sh:node [ sh:property [ sh:class g36:Zone ;
                            sh:minCount 1 ;
                            sh:path [ sh:inversePath s223:hasDomainSpace ] ] ] ;
            sh:path s223:connectedTo ],
        [ rdfs:comment "The DualDuctTerminalWithInletSensors InletConnectionPoint shall have at least one heating supply airflow property using the relation hasProperty." ;
            sh:message "g36: The DualDuctTerminalWithInletSensors InletConnectionPoint shall have at least one heating supply airflow property using the relation hasProperty." ;
            sh:minCount 1 ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasProperty ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                            sh:node [ sh:property [ sh:minCount 1 ;
                                                            sh:path s223:hasAspect ;
                                                            sh:qualifiedMinCount 1 ;
                                                            sh:qualifiedValueShape [ sh:hasValue s223:Role-Heating ] ],
                                                        [ sh:hasValue quantitykind:VolumeFlowRate ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path qudt:hasQuantityKind ] ] ] ] ] ] ],
        [ rdfs:comment "DualDuctTerminalWithInletSensors shall contain 1 damper that has the Role Cooling using the relation contains." ;
            sh:message "g36: DualDuctTerminalWithInletSensors shall contain 1 damper that has the Role Cooling using the relation contains." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:Damper ;
                    sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasRole ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:hasValue s223:Role-Cooling ] ] ] ] ],
        [ rdfs:comment "DualDuctTerminalWithInletSensors shall contain 1 damper that has the Role Heating using the relation contains." ;
            sh:message "g36: DualDuctTerminalWithInletSensors shall contain 1 damper that has the Role Heating using the relation contains." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:Damper ;
                    sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasRole ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:hasValue s223:Role-Heating ] ] ] ] ],
        [ rdfs:comment "The DualDuctTerminalWithInletSensors InletConnectionPoint shall have at least one cooling supply airflow property using the relation hasProperty." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasProperty ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                            sh:node [ sh:property [ sh:minCount 1 ;
                                                            sh:path s223:hasAspect ;
                                                            sh:qualifiedMinCount 1 ;
                                                            sh:qualifiedValueShape [ sh:hasValue s223:Role-Cooling ] ],
                                                        [ sh:hasValue quantitykind:VolumeFlowRate ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path qudt:hasQuantityKind ] ] ] ] ] ] ],
        [ rdfs:comment "DualDuctTerminalWithInletSensors shall contain 2 dampers using the relation contains" ;
            sh:message "g36: DualDuctTerminalWithInletSensors shall contain 2 dampers using the relation contains" ;
            sh:minCount 2 ;
            sh:path s223:contains ;
            sh:qualifiedMaxCount 2 ;
            sh:qualifiedMinCount 2 ;
            sh:qualifiedValueShape [ sh:class g36:Damper ] ] .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#DualDuctTerminalWithInletSensorsAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:DualDuctTerminalWithInletSensorsAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:DualDuctTerminal matches the constraints defined by g36:DualDuctTerminalWithInletSensors, it will be declared as an instance of that class." ;
            sh:condition g36:DualDuctTerminalWithInletSensors ;
            sh:object g36:DualDuctTerminalWithInletSensors ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:DualDuctTerminal .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#DualFanDualDuctAirHandlingUnit


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

g36:DualFanDualDuctAirHandlingUnit a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "DualFanDualDuctAirHandlingUnit" ;
    rdfs:subClassOf s223:AirHandlingUnit ;
    sh:property [ rdfs:comment "The DualFanDualDuctAirHandlingUnit shall contain at least one HotWaterCoil or at least one ElectricHeatingCoil for heating using the relation contains." ;
            sh:message "g36: The DualFanDualDuctAirHandlingUnit shall contain at least one HotWaterCoil or at least one ElectricHeatingCoil for heating using the relation contains." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:or ( [ sh:class g36:HotWaterCoil ] [ sh:class g36:ElectricHeatingCoil ] ) ] ],
        [ rdfs:comment "A DualFanDualDuctAirHandlingUnit OutletConnectionPoint shall have at least one supply duct static pressure property using the relation hasProperty." ;
            sh:message "g36: A DualFanDualDuctAirHandlingUnit OutletConnectionPoint shall have at least one supply duct static pressure property using the relation hasProperty." ;
            sh:minCount 1 ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasProperty ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                            sh:node [ sh:property [ sh:hasValue quantitykind:Pressure ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path qudt:hasQuantityKind ],
                                                        [ sh:hasValue s223:Role-Supply ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path s223:hasAspect ] ] ] ] ] ] ],
        [ rdfs:comment "A DualFanDualDuctAirHandlingUnit OutletConnectionPoint shall have at least one supply air temperature property using the relation hasProperty." ;
            sh:message "g36: A DualFanDualDuctAirHandlingUnit OutletConnectionPoint shall have at least one supply air temperature property using the relation hasProperty." ;
            sh:minCount 1 ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasProperty ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                            sh:node [ sh:property [ sh:hasValue quantitykind:Temperature ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path qudt:hasQuantityKind ],
                                                        [ sh:hasValue s223:Role-Supply ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path s223:hasAspect ] ] ] ] ] ] ],
        [ rdfs:comment "The DualFanDualDuctAirHandlingUnit shall contain at least one supply fan with a VFD that has the role Supply using the relation contains." ;
            sh:message "g36: The DualFanDualDuctAirHandlingUnit shall contain at least one supply fan with a VFD that has the role Supply using the relation contains." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
                    sh:node [ sh:property [ sh:hasValue s223:Role-Supply ;
                                    sh:path s223:hasRole ] ] ] ] .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#DualFanDualDuctAirHandlingUnitAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:DualFanDualDuctAirHandlingUnitAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:AirHandlingUnit matches the constraints defined by g36:DualFanDualDuctAirHandlingUnit, it will be declared as an instance of that class." ;
            sh:condition g36:DualFanDualDuctAirHandlingUnit ;
            sh:object g36:DualFanDualDuctAirHandlingUnit ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:AirHandlingUnit .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#ElectricHeatingCoil


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

g36:ElectricHeatingCoil a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Electric Heating Coil" ;
    rdfs:comment "An electrical heating element with an analog heating command." ;
    rdfs:subClassOf s223:ElectricResistanceElement ;
    sh:property [ rdfs:comment "An electric heating coil shall have at least one analog heating command property using a relation hasProperty." ;
            sh:message "g36: An electric heating coil shall have at least one analog heating command property using a relation hasProperty." ;
            sh:minCount 1 ;
            sh:path s223:hasProperty ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:QuantifiableActuatableProperty ;
                    sh:node [ sh:property [ sh:hasValue quantitykind:DimensionlessRatio ;
                                    sh:maxCount 1 ;
                                    sh:minCount 1 ;
                                    sh:path qudt:hasQuantityKind ] ] ] ] .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#ElectricHeatingCoilAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:ElectricHeatingCoilAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:ElectricResistanceElement matches the constraints defined by g36:ElectricHeatingCoil, it will be declared as an instance of that class." ;
            sh:condition g36:ElectricHeatingCoil ;
            sh:object g36:ElectricHeatingCoil ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:ElectricResistanceElement .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#Fan


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

g36:Fan a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Fan" ;
    rdfs:comment "A fan with a start/stop command." ;
    rdfs:subClassOf s223:Fan ;
    sh:property [ rdfs:comment "A Fan shall have at least one Start/Stop command using the relation hasProperty." ;
            sh:message "g36: A Fan shall have at least one Start/Stop command using the relation hasProperty." ;
            sh:minCount 1 ;
            sh:path s223:hasProperty ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:EnumeratedActuatableProperty ;
                    sh:node [ sh:property [ sh:class s223:Binary-OnOff ;
                                    sh:maxCount 1 ;
                                    sh:minCount 1 ;
                                    sh:path s223:hasEnumerationKind ] ] ] ] .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#FanAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:FanAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:Fan matches the constraints defined by g36:Fan, it will be declared as an instance of that class." ;
            sh:condition g36:Fan ;
            sh:object g36:Fan ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:Fan .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#FanPoweredTerminal


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

g36:FanPoweredTerminal a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "FanPoweredTerminal" ;
    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:FanPoweredTerminal ;
    sh:property [ rdfs:comment "The FanPoweredTerminal shall connect to a Domain Space in a g36:Zone" ;
            sh:class s223:DomainSpace ;
            sh:message "g36: The FanPoweredTerminal connects to Domain Space in a g36:Zone" ;
            sh:minCount 1 ;
            sh:node [ sh:property [ sh:class g36:Zone ;
                            sh:minCount 1 ;
                            sh:path [ sh:inversePath s223:hasDomainSpace ] ] ] ;
            sh:path s223:connectedTo ],
        [ rdfs:comment "A FanPoweredTerminal shall contain at least one hot water coil or at least one electric heating coil for heating using the relation contains." ;
            sh:message "g36: A FanPoweredTerminal shall contain at least one hot water coil or at least one electric heating coil for heating using the relation contains." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMaxCount 1 ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:or ( [ sh:class g36:HotWaterCoil ] [ sh:class g36:ElectricHeatingCoil ] ) ] ],
        [ rdfs:comment "A FanPoweredTerminal shall have exactly one Fan or FanWithVFD using the relation contains." ;
            sh:message "g36: A FanPoweredTerminal shall have exactly one Fan or FanWithVFD using the relation contains." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMaxCount 1 ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:or ( [ sh:class g36:Fan ] [ sh:class g36:FanWithVFD ] ) ] ],
        [ rdfs:comment "The FanPoweredTerminal InletConnectionPoint shall have at least one supply airflow property using the relation hasProperty." ;
            sh:message "g36: The FanPoweredTerminal InletConnectionPoint shall have at least one supply airflow property using the relation hasProperty." ;
            sh:minCount 1 ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:path s223:hasProperty ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                            sh:node [ sh:property [ sh:hasValue quantitykind:VolumeFlowRate ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path qudt:hasQuantityKind ] ] ] ] ] ] ],
        [ rdfs:comment "A FanPoweredTerminal shall have exactly one Damper using the relation contains." ;
            sh:message "g36: A FanPoweredTerminal shall have exactly one Damper using the relation contains." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMaxCount 1 ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:Damper ] ],
        [ rdfs:comment "The FanPoweredTerminal OutletConnectionPoint shall have at least one discharge air temperature property using the relation hasProperty." ;
            sh:message "g36: The FanPoweredTerminal OutletConnectionPoint shall have at least one discharge air temperature property using the relation hasProperty." ;
            sh:minCount 1 ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:path s223:hasProperty ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                            sh:node [ sh:property [ sh:hasValue quantitykind:Temperature ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path qudt:hasQuantityKind ] ] ] ] ] ] ] .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#FanPoweredTerminalAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:FanPoweredTerminalAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:FanPoweredTerminal matches the constraints defined by g36:FanPoweredTerminal, it will be declared as an instance of that class." ;
            sh:condition g36:FanPoweredTerminal ;
            sh:object g36:FanPoweredTerminal ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:FanPoweredTerminal .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#FanWithVFD


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

g36:FanWithVFD a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "FanWithVFD" ;
    rdfs:comment "A fan controlled by a VFD." ;
    rdfs:subClassOf g36:Fan ;
    sh:property [ rdfs:comment "A fan with VFD shall have at least one fan speed command using the relation hasProperty." ;
            sh:message "g36: A fan with VFD shall have at least one fan speed command using the relation hasProperty." ;
            sh:minCount 1 ;
            sh:path s223:hasProperty ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:QuantifiableActuatableProperty ;
                    sh:node [ sh:property [ sh:hasValue quantitykind:DimensionlessRatio ;
                                    sh:maxCount 1 ;
                                    sh:minCount 1 ;
                                    sh:path qudt:hasQuantityKind ] ] ] ] .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#FanWithVFDAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:FanWithVFDAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:Fan matches the constraints defined by g36:FanWithVFD, it will be declared as an instance of that class." ;
            sh:condition g36:FanWithVFD ;
            sh:object g36:FanWithVFD ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:Fan .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#HotWaterCoil


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

g36:HotWaterCoil a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "HotWater/ReheatCoil" ;
    rdfs:comment "A hot water coil connected to a control valve." ;
    rdfs:subClassOf s223:HeatingCoil ;
    sh:property [ rdfs:comment "The HotWaterCoil shall be connected to a HotWaterValve using the relation connectedTo." ;
            sh:message "g36: The HotWaterCoil shall be connected to a HotWaterValve using the relation connectedTo." ;
            sh:minCount 1 ;
            sh:path s223:connectedTo ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:HotWaterValve ] ] .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#HotWaterCoilAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:HotWaterCoilAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:HeatingCoil matches the constraints defined by g36:HotWaterCoil, it will be declared as an instance of that class." ;
            sh:condition g36:HotWaterCoil ;
            sh:object g36:HotWaterCoil ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:HeatingCoil .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#HotWaterValve


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

g36:HotWaterValve a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Hot Water Valve" ;
    rdfs:comment "A valve that controls the flow of hot water through a hot water coil." ;
    rdfs:subClassOf s223:Valve .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#HotWaterValveAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:HotWaterValveAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:Valve matches the constraints defined by g36:HotWaterValve, it will be declared as an instance of that class." ;
            sh:condition g36:HotWaterValve,
                g36:HotWaterValveOrShape1 ;
            sh:object g36:HotWaterValve ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:Valve .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#HotWaterValveOrShape1


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

g36:HotWaterValveOrShape1 a sh:NodeShape ;
    rdfs:label "Hot Water Valve Or Shape 1" ;
    rdfs:comment "A HotWaterValve shall have at least one analog valve command property or at least two binary valve command properties using the relation hasProperty." ;
    sh:message "g36: A HotWaterValve shall have at least one analog valve command property or at least two binary valve command properties using the relation hasProperty." ;
    sh:or ( [ sh:property [ rdfs:comment "A HotWaterValve shall have at least one analog valve command property or at least two binary valve command properties using the relation hasProperty." ;
                        sh:minCount 1 ;
                        sh:path s223:hasProperty ;
                        sh:qualifiedMinCount 1 ;
                        sh:qualifiedValueShape [ sh:class s223:QuantifiableActuatableProperty ;
                                sh:node [ sh:property [ sh:hasValue quantitykind:DimensionlessRatio ;
                                                sh:maxCount 1 ;
                                                sh:minCount 1 ;
                                                sh:path qudt:hasQuantityKind ],
                                            [ sh:hasValue s223:Binary-Position ;
                                                sh:maxCount 1 ;
                                                sh:minCount 1 ;
                                                sh:path s223:hasAspect ] ] ] ] ] [ sh:property [ rdfs:comment "A HotWaterValve shall have at least one analog valve command property or at least two binary valve command properties using the relation hasProperty." ;
                        sh:minCount 2 ;
                        sh:path s223:hasProperty ;
                        sh:qualifiedMinCount 2 ;
                        sh:qualifiedValueShape [ sh:class s223:EnumeratedActuatableProperty ;
                                sh:node [ sh:property [ sh:hasValue s223:EnumerationKind-Binary ;
                                                sh:maxCount 1 ;
                                                sh:minCount 1 ;
                                                sh:path s223:hasEnumerationKind ],
                                            [ sh:hasValue s223:Binary-Position ;
                                                sh:maxCount 1 ;
                                                sh:minCount 1 ;
                                                sh:path s223:hasAspect ] ] ] ] ] ) ;
    sh:targetClass g36:HotWaterValve .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#MultipleZoneVAVAirHandlingUnit


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

g36:MultipleZoneVAVAirHandlingUnit a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "MultipleZoneVAVAirHandlingUnit" ;
    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. This air handling unit serves multiple zones." ;
    rdfs:subClassOf s223:AirHandlingUnit ;
    sh:property [ rdfs:comment "One MultipleZoneVAVAirHandlingUnit InletConnectionPoint shall have at least one return air temperature property using the relation hasProperty. " ;
            sh:message "g36: One MultipleZoneVAVAirHandlingUnit InletConnectionPoint shall have at least one return air temperature property using the relation hasProperty. " ;
            sh:minCount 1 ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasProperty ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                            sh:node [ sh:property [ sh:hasValue quantitykind:Temperature ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path qudt:hasQuantityKind ],
                                                        [ sh:hasValue s223:Role-Return ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path s223:hasAspect ] ] ] ] ] ] ],
        [ rdfs:comment "One MultipleZoneVAVAirHandlingUnit OutletConnectionPoint shall have at least one supply air temperature property using the relation hasProperty." ;
            sh:message "g36: One MultipleZoneVAVAirHandlingUnit OutletConnectionPoint shall have at least one supply air temperature property using the relation hasProperty." ;
            sh:minCount 1 ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasProperty ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                            sh:node [ sh:property [ sh:hasValue quantitykind:Temperature ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path qudt:hasQuantityKind ],
                                                        [ sh:hasValue s223:Role-Supply ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path s223:hasAspect ] ] ] ] ] ] ],
        [ rdfs:comment "One MultipleZoneVAVAirHandlingUnit InletConnectionPoint shall have at least one outdoor air temperature property using the relation hasProperty. " ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasProperty ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                            sh:node [ sh:property [ sh:hasValue s223:Role-OutdoorAirIntake ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path s223:hasAspect ],
                                                        [ sh:hasValue quantitykind:Temperature ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path qudt:hasQuantityKind ] ] ] ] ] ] ],
        [ rdfs:comment "The MultipleZoneVAVAirHandlingUnit shall contain at least one return air damper using the relation contains." ;
            sh:message "g36: The MultipleZoneVAVAirHandlingUnit shall contain at least one return air damper using the relation contains." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:Damper ;
                    sh:node [ sh:property [ sh:hasValue s223:Role-Return ;
                                    sh:maxCount 1 ;
                                    sh:minCount 1 ;
                                    sh:path s223:hasRole ] ] ] ],
        [ rdfs:comment "The  MultipleZoneVAVAirHandlingUnit shall contain at least one HotWaterCoil or at least one ElectricHeatingCoil for heating using the relation contains." ;
            sh:message "g36: The  MultipleZoneVAVAirHandlingUnit shall contain at least one HotWaterCoil or at least one ElectricHeatingCoil for heating using the relation contains." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:or ( [ sh:class g36:HotWaterCoil ] [ sh:class g36:ElectricHeatingCoil ] ) ] ],
        [ rdfs:comment "The MultipleZoneVAVAirHandlingUnit shall contain at least one supply fan with a VFD that has the role Supply using the relation contains" ;
            sh:message "g36: The MultipleZoneVAVAirHandlingUnit shall contain at least one supply fan with a VFD that has the role Supply using the relation contains" ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
                    sh:node [ sh:property [ sh:hasValue s223:Role-Supply ;
                                    sh:path s223:hasRole ] ] ] ],
        [ rdfs:comment "The MultipleZoneVAVAirHandlingUnit OutletConnectionPoint shall have at least one supply duct static pressure property using the relation hasProperty." ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasProperty ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                            sh:node [ sh:property [ sh:hasValue quantitykind:Pressure ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path qudt:hasQuantityKind ],
                                                        [ sh:hasValue s223:Role-Supply ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path s223:hasAspect ] ] ] ] ] ] ],
        [ rdfs:comment "The  MultipleZoneVAVAirHandlingUnit shall contain at least one ChilledWaterCoil for cooling using the relation contains." ;
            sh:message "g36: The  MultipleZoneVAVAirHandlingUnit shall contain at least one ChilledWaterCoil for cooling using the relation contains." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:ChilledWaterCoil ] ] .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#MultipleZoneVAVAirHandlingUnit-CommonDamper


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

g36:MultipleZoneVAVAirHandlingUnit-CommonDamper a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Multiple Zone VAV Air Handling Unit-Common Damper" ;
    rdfs:comment "For units with a common economizer/minimum OA damper, include the following constraints." ;
    rdfs:subClassOf g36:MultipleZoneVAVAirHandlingUnit ;
    sh:class s223:AirHandlingUnit ;
    sh:property [ rdfs:comment "Units with a common economizer/minimum OA damper, must have exactly one economizer/minimum outdoor air damper." ;
            sh:message "g36: Units with a common economizer/minimum OA damper, must have exactly one economizer/minimum outdoor air damper." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMaxCount 1 ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:Damper ;
                    sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasRole ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:hasValue s223:Role-Economizer ] ],
                                [ sh:minCount 1 ;
                                    sh:path s223:hasRole ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:hasValue s223:Role-OutdoorAirIntake ] ] ] ] ],
        [ rdfs:comment "For units with a common economizer/minimum OA damper, MultipleZoneVAVAirHandlingUnit InletConnectionPoint must have at least one outdoor airflow property." ;
            sh:message "g36: For units with a common economizer/minimum OA damper, MultipleZoneVAVAirHandlingUnit InletConnectionPoint must have at least one outdoor airflow property." ;
            sh:minCount 1 ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
                    sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasProperty ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                            sh:node [ sh:property [ sh:minCount 1 ;
                                                            sh:path s223:hasAspect ;
                                                            sh:qualifiedMinCount 1 ;
                                                            sh:qualifiedValueShape [ sh:hasValue s223:Role-OutdoorAirIntake ] ],
                                                        [ sh:hasValue quantitykind:VolumeFlowRate ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path qudt:hasQuantityKind ] ] ] ] ] ] ] .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#MultipleZoneVAVAirHandlingUnit-CommonDamperAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:MultipleZoneVAVAirHandlingUnit-CommonDamperAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:AirHandlingUnit matches the constraints defined by g36:MultipleZoneVAVAirHandlingUnit and has a common economizer/minimum outdoor air damper, it will be declared as an instance of this class." ;
            sh:condition [ sh:property [ rdfs:comment "For units with a common economizer/minimum OA damper, must have exactly one economizer/minimum outdoor air damper." ;
                            sh:minCount 1 ;
                            sh:path s223:contains ;
                            sh:qualifiedMaxCount 1 ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class g36:Damper ;
                                    sh:node [ sh:property [ sh:minCount 1 ;
                                                    sh:path s223:hasRole ;
                                                    sh:qualifiedMinCount 1 ;
                                                    sh:qualifiedValueShape [ sh:hasValue s223:Role-Economizer ] ],
                                                [ sh:minCount 1 ;
                                                    sh:path s223:hasRole ;
                                                    sh:qualifiedMinCount 1 ;
                                                    sh:qualifiedValueShape [ sh:hasValue s223:Role-OutdoorAirIntake ] ] ] ] ] ],
                g36:MultipleZoneVAVAirHandlingUnit ;
            sh:object g36:MultipleZoneVAVAirHandlingUnit-CommonDamper ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:AirHandlingUnit .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#MultipleZoneVAVAirHandlingUnit-OADandAFMS


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

g36:MultipleZoneVAVAirHandlingUnit-OADandAFMS a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Multiple Zone VAV Air Handling Unit-OAD and AFMS" ;
    rdfs:comment "A unit with a separate minimum outdoor air damper and AFMS" ;
    rdfs:subClassOf g36:MultipleZoneVAVAirHandlingUnit ;
    sh:class s223:AirHandlingUnit ;
    sh:property [ rdfs:comment "For units with a separate minimum outdoor air damper and AFMS, MultipleZoneVAVAirHandlingUnit must contain a modulating outdoor air damper with a minimum airflow property." ;
            sh:message "g36: For units with a separate minimum outdoor air damper and AFMS, MultipleZoneVAVAirHandlingUnit must contain a modulating outdoor air damper with a minimum airflow property." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMaxCount 1 ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:Damper ;
                    sh:node [ sh:not [ sh:property [ sh:minCount 1 ;
                                            sh:path s223:hasRole ;
                                            sh:qualifiedMinCount 1 ;
                                            sh:qualifiedValueShape [ sh:hasValue s223:Role-Economizer ] ] ] ;
                            sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasRole ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:hasValue s223:Role-OutdoorAirIntake ] ],
                                [ sh:minCount 1 ;
                                    sh:path s223:hasProperty ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                            sh:node [ sh:property [ sh:minCount 1 ;
                                                            sh:path s223:hasAspect ;
                                                            sh:qualifiedMinCount 1 ;
                                                            sh:qualifiedValueShape [ sh:hasValue s223:Aspect-Minimum ] ],
                                                        [ sh:hasValue quantitykind:VolumeFlowRate ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path qudt:hasQuantityKind ] ] ] ] ] ] ] .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#MultipleZoneVAVAirHandlingUnit-OADandAFMSAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:MultipleZoneVAVAirHandlingUnit-OADandAFMSAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:AirHandlingUnit matches the constraints defined by g36:MultipleZoneVAVAirHandlingUnit-OADandAFMS, it will be declared as an instance of that class." ;
            sh:condition g36:MultipleZoneVAVAirHandlingUnit-OADandAFMS ;
            sh:object g36:MultipleZoneVAVAirHandlingUnit-OADandAFMS ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:AirHandlingUnit .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#MultipleZoneVAVAirHandlingUnit-OADandDP


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

g36:MultipleZoneVAVAirHandlingUnit-OADandDP a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Multiple Zone VAV Air Handling Unit-OAD and DP" ;
    rdfs:comment "A unit with a separate minimum outdoor air damper and DP sensor" ;
    rdfs:subClassOf g36:MultipleZoneVAVAirHandlingUnit ;
    sh:class s223:AirHandlingUnit ;
    sh:property [ rdfs:comment "For units with a separate minimum outdoor air damper and DP sensor, MultipleZoneVAVAirHandlingUnit must contain a two-position outdoor air damper with a differential pressure property." ;
            sh:message "g36: For units with a separate minimum outdoor air damper and DP sensor, MultipleZoneVAVAirHandlingUnit must contain a two-position outdoor air damper with a differential pressure property." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMaxCount 1 ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:TwoPositionDamper ;
                    sh:node [ sh:not [ sh:property [ sh:minCount 1 ;
                                            sh:path s223:hasRole ;
                                            sh:qualifiedMinCount 1 ;
                                            sh:qualifiedValueShape [ sh:hasValue s223:Role-Economizer ] ] ] ;
                            sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasRole ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:hasValue s223:Role-OutdoorAirIntake ] ],
                                [ sh:minCount 1 ;
                                    sh:path s223:hasProperty ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                            sh:node [ sh:property [ sh:hasValue quantitykind:Pressure ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path qudt:hasQuantityKind ] ] ] ] ] ] ] .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#MultipleZoneVAVAirHandlingUnit-OADandDPAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:MultipleZoneVAVAirHandlingUnit-OADandDPAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:AirHandlingUnit matches the constraints defined by g36:MultipleZoneVAVAirHandlingUnit-OADandDP, it will be declared as an instance of that class." ;
            sh:condition g36:MultipleZoneVAVAirHandlingUnit-OADandDP ;
            sh:object g36:MultipleZoneVAVAirHandlingUnit-OADandDP ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:AirHandlingUnit .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#MultipleZoneVAVAirHandlingUnit-WithReliefDamper


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

g36:MultipleZoneVAVAirHandlingUnit-WithReliefDamper a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Multiple Zone VAV Air Handling Unit With Relief Damper" ;
    rdfs:comment "A unit with an actuated relief damper but no relief fan" ;
    rdfs:subClassOf g36:MultipleZoneVAVAirHandlingUnit ;
    sh:class s223:AirHandlingUnit ;
    sh:property [ rdfs:comment "For units with actuated relief dampers but no relief fan, the MultipleZoneVAVAirHandlingUnit must be connectedTo at least one VAV, which connectedTo at least one HVAC DomainSpace, which is contained by at least one Zone, which has a building static pressure property." ;
            sh:path ( [ sh:oneOrMorePath s223:connectedTo ] sh:zeroOrOnePath [ sh:inversePath s223:hasDomainSpace ] ) ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:node [ sh:property [ sh:path s223:hasProperty ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                            sh:node [ sh:property [ sh:hasValue quantitykind:Pressure ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path qudt:hasQuantityKind ] ] ] ],
                                [ sh:hasValue s223:Domain-HVAC ;
                                    sh:maxCount 1 ;
                                    sh:minCount 1 ;
                                    sh:path s223:hasDomain ] ] ] ],
        [ rdfs:comment "For units with actuated relief dampers but no relief fan, the MultipleZoneVAVAirHandlingUnit must contain a relief air damper with an analog damper command property." ;
            sh:message "g36: For units with actuated relief dampers but no relief fan, the MultipleZoneVAVAirHandlingUnit must contain a relief air damper with an analog damper command property." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMaxCount 1 ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:Damper ;
                    sh:node [ sh:property [ sh:hasValue s223:Role-Relief ;
                                    sh:maxCount 1 ;
                                    sh:minCount 1 ;
                                    sh:path s223:hasRole ] ] ] ] .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#MultipleZoneVAVAirHandlingUnit-WithReliefDamperAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:MultipleZoneVAVAirHandlingUnit-WithReliefDamperAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:AirHandlingUnit matches the constraints defined by g36:MultipleZoneVAVAirHandlingUnit and has a relief damper, it will be declared as an instance of this class." ;
            sh:condition [ sh:property [ rdfs:comment "For units with actuated relief dampers but no relief fan, the MultipleZoneVAVAirHandlingUnit must contain a relief air damper with an analog damper command property." ;
                            sh:minCount 1 ;
                            sh:path s223:contains ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class g36:Damper ;
                                    sh:node [ sh:property [ sh:hasValue s223:Role-Relief ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path s223:hasRole ] ] ] ] ],
                g36:MultipleZoneVAVAirHandlingUnit ;
            sh:object g36:MultipleZoneVAVAirHandlingUnit-WithReliefDamper ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:AirHandlingUnit .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#MultipleZoneVAVAirHandlingUnit-WithReliefFan


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

g36:MultipleZoneVAVAirHandlingUnit-WithReliefFan a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Multiple Zone VAV Air Handling Unit With Relief Fan" ;
    rdfs:comment "A unit with a relief fan" ;
    rdfs:subClassOf g36:MultipleZoneVAVAirHandlingUnit ;
    sh:class s223:AirHandlingUnit ;
    sh:property [ rdfs:comment "For units with both a relief air damper and a relief fan, the MultipleZoneVAVAirHandlingUnit must have a relief air damper with a two-position damper command property." ;
            sh:message "g36: For units with both a relief air damper and a relief fan, the MultipleZoneVAVAirHandlingUnit must have a relief air damper with a two-position damper command property." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMaxCount 1 ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:TwoPositionDamper ;
                    sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasRole ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:hasValue s223:Role-Relief ] ] ] ] ],
        [ rdfs:comment "For units with both a relief air damper and a relief fan, the MultipleZoneVAVAirHandlingUnit must have a relief fan with a VFD." ;
            sh:message "g36: For units with both a relief air damper and a relief fan, the MultipleZoneVAVAirHandlingUnit must have a relief fan with a VFD." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMaxCount 1 ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
                    sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasRole ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:hasValue s223:Role-Relief ] ] ] ] ] .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#MultipleZoneVAVAirHandlingUnit-WithReliefFanAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:MultipleZoneVAVAirHandlingUnit-WithReliefFanAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:AirHandlingUnit matches the constraints defined by g36:MultipleZoneVAVAirHandlingUnit and has a relief fan, it will be declared as an instance of this class." ;
            sh:condition [ sh:property [ rdfs:comment "For units with both a relief air damper and a relief fan, the MultipleZoneVAVAirHandlingUnit must have a relief fan with a VFD." ;
                            sh:minCount 1 ;
                            sh:path s223:contains ;
                            sh:qualifiedMaxCount 1 ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
                                    sh:node [ sh:property [ sh:minCount 1 ;
                                                    sh:path s223:hasRole ;
                                                    sh:qualifiedMinCount 1 ;
                                                    sh:qualifiedValueShape [ sh:hasValue s223:Role-Relief ] ] ] ] ] ],
                g36:MultipleZoneVAVAirHandlingUnit ;
            sh:object g36:MultipleZoneVAVAirHandlingUnit-WithReliefFan ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:AirHandlingUnit .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#MultipleZoneVAVAirHandlingUnit-WithReturnFan


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

g36:MultipleZoneVAVAirHandlingUnit-WithReturnFan a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Multiple Zone VAV Air Handling Unit With Return Fan" ;
    rdfs:comment "A unit with a return fan" ;
    rdfs:subClassOf g36:MultipleZoneVAVAirHandlingUnit ;
    sh:class s223:AirHandlingUnit ;
    sh:property [ rdfs:comment "For units with a return fan, if airflow tracking logic is used, the OutletConnectionPoint of the supply fan in the MultipleZoneVAVAirHandlingUnit must have a supply airflow property." ;
            sh:message "g36: For units with a return fan, if airflow tracking logic is used, the OutletConnectionPoint of the supply fan in the MultipleZoneVAVAirHandlingUnit must have a supply airflow property." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
                    sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasConnectionPoint ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                                            sh:node [ sh:property [ sh:minCount 1 ;
                                                            sh:path s223:hasProperty ;
                                                            sh:qualifiedMinCount 1 ;
                                                            sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                                                    sh:node [ sh:property [ sh:hasValue quantitykind:VolumeFlowRate ;
                                                                                    sh:maxCount 1 ;
                                                                                    sh:minCount 1 ;
                                                                                    sh:path qudt:hasQuantityKind ],
                                                                                [ sh:hasValue s223:Role-Supply ;
                                                                                    sh:maxCount 1 ;
                                                                                    sh:minCount 1 ;
                                                                                    sh:path s223:hasAspect ] ] ] ] ] ] ] ],
                        [ sh:property [ sh:hasValue s223:Role-Supply ;
                                    sh:path s223:hasRole ] ] ] ],
        [ rdfs:comment "For units with a return fan, if direct building pressure logic is used, the OutletConnectionPoint of the return fan in the MultipleZoneVAVAirHandlingUnit must have a return fan discharge static pressure property." ;
            sh:message "g36: For units with a return fan, if direct building pressure logic is used, the OutletConnectionPoint of the return fan in the MultipleZoneVAVAirHandlingUnit must have a return fan discharge static pressure property." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
                    sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasConnectionPoint ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                                            sh:node [ sh:property [ sh:minCount 1 ;
                                                            sh:path s223:hasProperty ;
                                                            sh:qualifiedMinCount 1 ;
                                                            sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                                                    sh:node [ sh:property [ sh:hasValue quantitykind:Pressure ;
                                                                                    sh:maxCount 1 ;
                                                                                    sh:minCount 1 ;
                                                                                    sh:path qudt:hasQuantityKind ],
                                                                                [ sh:hasValue s223:Role-Return ;
                                                                                    sh:maxCount 1 ;
                                                                                    sh:minCount 1 ;
                                                                                    sh:path s223:hasAspect ] ] ] ] ] ] ] ],
                        [ sh:property [ sh:hasValue s223:Role-Return ;
                                    sh:path s223:hasRole ] ] ] ],
        [ rdfs:comment "For units with a return fan, if direct building pressure logic is used, the MultipleZoneVAVAirHandlingUnit must be connectedTo at least one VAV, which connectedTo at least one HVAC DomainSpace, which is contained by at least one Zone, which has a building static pressure property." ;
            sh:message "g36: For units with a return fan, if direct building pressure logic is used, the MultipleZoneVAVAirHandlingUnit must be connectedTo at least one VAV, which connectedTo at least one HVAC DomainSpace, which is contained by at least one Zone, which has a building static pressure property." ;
            sh:minCount 1 ;
            sh:path ( s223:connectedTo s223:connectedTo [ sh:inversePath s223:contains ] s223:hasProperty ) ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                    sh:node [ sh:property [ sh:hasValue quantitykind:Pressure ;
                                    sh:maxCount 1 ;
                                    sh:minCount 1 ;
                                    sh:path qudt:hasQuantityKind ] ] ] ],
        [ rdfs:comment "For units with a return fan, if airflow tracking logic is used, the OutletConnectionPoint of the return fan in the MultipleZoneVAVAirHandlingUnit must have a return airflow property." ;
            sh:message "g36: For units with a return fan, if airflow tracking logic is used, the OutletConnectionPoint of the return fan in the MultipleZoneVAVAirHandlingUnit must have a return airflow property." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
                    sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasConnectionPoint ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                                            sh:node [ sh:property [ sh:minCount 1 ;
                                                            sh:path s223:hasProperty ;
                                                            sh:qualifiedMinCount 1 ;
                                                            sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                                                    sh:node [ sh:property [ sh:hasValue quantitykind:VolumeFlowRate ;
                                                                                    sh:maxCount 1 ;
                                                                                    sh:minCount 1 ;
                                                                                    sh:path qudt:hasQuantityKind ],
                                                                                [ sh:hasValue s223:Role-Return ;
                                                                                    sh:maxCount 1 ;
                                                                                    sh:minCount 1 ;
                                                                                    sh:path s223:hasAspect ] ] ] ] ] ] ] ],
                        [ sh:property [ sh:hasValue s223:Role-Return ;
                                    sh:path s223:hasRole ] ] ] ],
        [ rdfs:comment "For units with a return fan, the MultipleZoneVAVAirHandlingUnit must contain an exhaust air damper." ;
            sh:message "g36: For units with a return fan, the MultipleZoneVAVAirHandlingUnit must contain an exhaust air damper." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:Damper ;
                    sh:node [ sh:property [ sh:hasValue s223:Role-Exhaust ;
                                    sh:maxCount 1 ;
                                    sh:minCount 1 ;
                                    sh:path s223:hasRole ] ] ] ],
        [ rdfs:comment "For units with a return fan, the MultipleZoneVAVAirHandlingUnit must contain a return fan." ;
            sh:message "g36: For units with a return fan, the MultipleZoneVAVAirHandlingUnit must contain a return fan." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
                    sh:node [ sh:property [ sh:hasValue s223:Role-Return ;
                                    sh:minCount 1 ;
                                    sh:path s223:hasRole ] ] ] ] ;
    sh:severity sh:Info .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#MultipleZoneVAVAirHandlingUnit-WithReturnFanAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:MultipleZoneVAVAirHandlingUnit-WithReturnFanAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:AirHandlingUnit matches the constraints defined by g36:MultipleZoneVAVAirHandlingUnit and has a return fan, it will be declared as an instance of this class." ;
            sh:condition [ sh:property [ rdfs:comment "For units with a return fan, the MultipleZoneVAVAirHandlingUnit must contain a return fan." ;
                            sh:minCount 1 ;
                            sh:path s223:contains ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
                                    sh:node [ sh:property [ sh:hasValue s223:Role-Return ;
                                                    sh:minCount 1 ;
                                                    sh:path s223:hasRole ] ] ] ] ],
                g36:MultipleZoneVAVAirHandlingUnit ;
            sh:object g36:MultipleZoneVAVAirHandlingUnit-WithReturnFan ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:AirHandlingUnit .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#MultipleZoneVAVAirHandlingUnitAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:MultipleZoneVAVAirHandlingUnitAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:AirHandlingUnit matches the constraints defined by g36:MultipleZoneVAVAirHandlingUnit, it will be declared as an instance of that class." ;
            sh:condition g36:MultipleZoneVAVAirHandlingUnit ;
            sh:object g36:MultipleZoneVAVAirHandlingUnit ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:AirHandlingUnit .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#SingleZoneVAVAirHandlingUnit


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

g36:SingleZoneVAVAirHandlingUnit a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "SingleZoneVAVAirHandlingUnit" ;
    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. This air handling unit that serves one zone only." ;
    rdfs:subClassOf s223:AirHandlingUnit ;
    sh:property [ rdfs:comment "The SingleZoneVAVAirHandlingUnit shall contain at least one HotWaterCoil or at least one ElectricHeatingCoil for heating using the relation contains." ;
            sh:message "g36: The SingleZoneVAVAirHandlingUnit shall contain at least one HotWaterCoil or at least one ElectricHeatingCoil for heating using the relation contains." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:or ( [ sh:class g36:HotWaterCoil ] [ sh:class g36:ElectricHeatingCoil ] ) ] ],
        [ rdfs:comment "The SingleZoneVAVAirHandlingUnit shall have at least one outdoor air damper using the relation contains." ;
            sh:message "g36: The SingleZoneVAVAirHandlingUnit shall have at least one outdoor air damper using the relation contains." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:Damper ;
                    sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasRole ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:hasValue s223:Role-OutdoorAirIntake ] ] ] ] ],
        [ rdfs:comment "A SingleZoneVAVAirHandlingUnit OutletConnectionPoint shall have at least one supply air temperature property using the relation hasProperty." ;
            sh:message "g36: A SingleZoneVAVAirHandlingUnit OutletConnectionPoint shall have at least one supply air temperature property using the relation hasProperty." ;
            sh:minCount 1 ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasProperty ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                            sh:node [ sh:property [ sh:hasValue quantitykind:Temperature ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path qudt:hasQuantityKind ],
                                                        [ sh:hasValue s223:Role-Supply ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path s223:hasAspect ] ] ] ] ] ] ],
        [ rdfs:comment "The SingleZoneVAVAirHandlingUnit shall have at least one return air damper using the relation contains." ;
            sh:message "g36: The SingleZoneVAVAirHandlingUnit shall have at least one return air damper using the relation contains." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:Damper ;
                    sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasRole ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:hasValue s223:Role-Return ] ] ] ] ],
        [ rdfs:comment "The SingleZoneVAVAirHandlingUnit shall contain at least one supply fan with a VFD that has the role Supply using the relation contains." ;
            sh:message "g36: The SingleZoneVAVAirHandlingUnit shall contain at least one supply fan with a VFD that has the role Supply using the relation contains." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
                    sh:node [ sh:property [ sh:hasValue s223:Role-Supply ;
                                    sh:path s223:hasRole ] ] ] ],
        [ rdfs:comment "The  SingleZoneVAVAirHandlingUnit shall contain at least one ChilledWaterCoil for cooling using the relation contains." ;
            sh:message "g36: The  SingleZoneVAVAirHandlingUnit shall contain at least one ChilledWaterCoil for cooling using the relation contains." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:ChilledWaterCoil ] ] .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#SingleZoneVAVAirHandlingUnit-WithReliefDamper


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

g36:SingleZoneVAVAirHandlingUnit-WithReliefDamper a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Single Zone VAV Air Handling Unit With Relief Damper" ;
    rdfs:comment "A SingleZoneVAVAirHandlingUnit with a relief air damper and no relief fan" ;
    rdfs:subClassOf g36:SingleZoneVAVAirHandlingUnit ;
    sh:class s223:AirHandlingUnit ;
    sh:property [ rdfs:comment "the SingleZoneVAVAirHandlingUnit contains a relief air damper with a modulating actuator." ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:Damper ;
                    sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasProperty ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:class s223:QuantifiableActuatableProperty ;
                                            sh:node [ sh:property [ sh:hasValue quantitykind:DimensionlessRatio ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path qudt:hasQuantityKind ],
                                                        [ sh:hasValue s223:Binary-Position ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path s223:hasAspect ] ] ] ],
                                [ sh:hasValue s223:Role-Relief ;
                                    sh:maxCount 1 ;
                                    sh:minCount 1 ;
                                    sh:path s223:hasRole ] ] ] ] .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#SingleZoneVAVAirHandlingUnit-WithReliefFan


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

g36:SingleZoneVAVAirHandlingUnit-WithReliefFan a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Single Zone VAV Air Handling Unit With Relief Fan" ;
    rdfs:comment "A SingleZoneVAVAirHandlingUnit with a relief fan and relief dampers" ;
    rdfs:subClassOf g36:SingleZoneVAVAirHandlingUnit ;
    sh:class s223:AirHandlingUnit ;
    sh:property [ rdfs:comment "For the case where the SingleZoneVAVAirHandlingUnit has both a relief air damper and a relief fan, the SingleZoneVAVAirHandlingUnit must have a relief air damper with a two-position damper command property." ;
            sh:path s223:contains ;
            sh:qualifiedMaxCount 1 ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:TwoPositionDamper ;
                    sh:node [ sh:property [ sh:path s223:hasRole ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:hasValue s223:Role-Relief ] ] ] ] ],
        [ rdfs:comment "For the case where the SingleZoneVAVAirHandlingUnit has both a relief air damper and a relief fan, the SingleZoneVAVAirHandlingUnit must have a relief fan." ;
            sh:path s223:contains ;
            sh:qualifiedMaxCount 1 ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
                    sh:node [ sh:property [ sh:path s223:hasRole ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:hasValue s223:Role-Relief ] ] ] ] ],
        [ rdfs:comment "For the case where the SingleZoneVAVAirHandlingUnit has both a relief air damper and a relief fan, the SingleZoneVAVAirHandlingUnit must be connectedTo at least one VAV, which is connectedTo at least one HVAC DomainSpace or Zone, which has a building static pressure property." ;
            sh:path ( [ sh:oneOrMorePath s223:connectedTo ] sh:zeroOrOnePath [ sh:inversePath s223:hasDomainSpace ] ) ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:node [ sh:property [ sh:path s223:hasProperty ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                            sh:node [ sh:property [ sh:hasValue quantitykind:Pressure ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path qudt:hasQuantityKind ] ] ] ],
                                [ sh:hasValue s223:Domain-HVAC ;
                                    sh:maxCount 1 ;
                                    sh:minCount 1 ;
                                    sh:path s223:hasDomain ] ] ] ] .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#SingleZoneVAVAirHandlingUnit-WithReliefFanAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:SingleZoneVAVAirHandlingUnit-WithReliefFanAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:AirHandlingUnit matches the constraints defined by g36:SingleZoneVAVAirHandlingUnit and has a relief fan, it will be declared as an instance of this class." ;
            sh:condition [ sh:property [ sh:path s223:contains ;
                            sh:qualifiedMaxCount 1 ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
                                    sh:node [ sh:property [ sh:path s223:hasRole ;
                                                    sh:qualifiedMinCount 1 ;
                                                    sh:qualifiedValueShape [ sh:hasValue s223:Role-Relief ] ] ] ] ] ],
                g36:SingleZoneVAVAirHandlingUnit ;
            sh:object g36:SingleZoneVAVAirHandlingUnit-WithReliefFan ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:AirHandlingUnit .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#SingleZoneVAVAirHandlingUnit-WithReturnFan


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:SingleZoneVAVAirHandlingUnit-WithReturnFan a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Single Zone VAV Air Handling Unit With Return Fan" ;
    rdfs:comment "A SingleZoneVAVAirHandlingUnit with a Return fan" ;
    rdfs:subClassOf g36:SingleZoneVAVAirHandlingUnit ;
    sh:class s223:AirHandlingUnit ;
    sh:property [ rdfs:comment "For the case where the SingleZoneVAVAirHandlingUnit has a return fan, the SingleZoneVAVAirHandlingUnit must contain a return fan." ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
                    sh:node [ sh:property [ sh:hasValue s223:Role-Return ;
                                    sh:minCount 1 ;
                                    sh:path s223:hasRole ] ] ] ],
        [ rdfs:comment "For the case where the SingleZoneVAVAirHandlingUnit has a return fan, the SingleZoneVAVAirHandlingUnit must contain an exhaust air damper with either an analog or two-position damper command property." ;
            sh:path s223:contains ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:node [ sh:property [ sh:hasValue s223:Role-Exhaust ;
                                    sh:maxCount 1 ;
                                    sh:minCount 1 ;
                                    sh:path s223:hasRole ] ] ;
                    sh:or ( [ sh:class g36:Damper ] [ sh:class g36:TwoPositionDamper ] ) ] ] .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#SingleZoneVAVAirHandlingUnit-WithReturnFanAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:SingleZoneVAVAirHandlingUnit-WithReturnFanAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:AirHandlingUnit matches the constraints defined by g36:SingleZoneVAVAirHandlingUnit and has a return fan, it will be declared as an instance of that class." ;
            sh:condition [ sh:property [ rdfs:comment "For the case where the SingleZoneVAVAirHandlingUnit has both a Return air damper and a Return fan, the SingleZoneVAVAirHandlingUnit must have a Return fan." ;
                            sh:path s223:contains ;
                            sh:qualifiedMaxCount 1 ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
                                    sh:node [ sh:property [ sh:path s223:hasRole ;
                                                    sh:qualifiedMinCount 1 ;
                                                    sh:qualifiedValueShape [ sh:hasValue s223:Role-Return ] ] ] ] ] ],
                g36:SingleZoneVAVAirHandlingUnit ;
            sh:object g36:SingleZoneVAVAirHandlingUnit-WithReturnFan ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:AirHandlingUnit .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#SingleZoneVAVAirHandlingUnitAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:SingleZoneVAVAirHandlingUnitAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:AirHandlingUnit matches the constraints defined by g36:SingleZoneVAVAirHandlingUnit, it will be declared as an instance of that class." ;
            sh:condition g36:SingleZoneVAVAirHandlingUnit ;
            sh:object g36:SingleZoneVAVAirHandlingUnit ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:AirHandlingUnit .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#TwoPositionDamper


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

g36:TwoPositionDamper a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Two Position Damper" ;
    rdfs:comment "A damper that can take two positions: fully open and fully closed." ;
    rdfs:subClassOf s223:Damper ;
    sh:property [ rdfs:comment "A Two Position Damper shall have at least one open-and-close damper command property using the relation hasProperty." ;
            sh:message "g36: A Two Position Damper shall have at least one open-and-close damper command property using the relation hasProperty." ;
            sh:minCount 1 ;
            sh:path s223:hasProperty ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:EnumeratedActuatableProperty ;
                    sh:node [ sh:property [ sh:hasValue s223:Binary-Position ;
                                    sh:maxCount 1 ;
                                    sh:minCount 1 ;
                                    sh:path s223:hasAspect ],
                                [ sh:class s223:EnumerationKind-Binary ;
                                    sh:maxCount 1 ;
                                    sh:minCount 1 ;
                                    sh:path s223:hasEnumerationKind ] ] ] ] .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#TwoPositionDamperAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:TwoPositionDamperAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:Damper matches the constraints defined by g36:TwoPositionDamper, it will be declared as an instance of that class." ;
            sh:condition g36:TwoPositionDamper ;
            sh:object g36:TwoPositionDamper ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:Damper .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#VAVTerminalCoolingOnly


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

g36:VAVTerminalCoolingOnly a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "VAVTerminalCoolingOnly" ;
    rdfs:comment "An air-terminal unit assembly having one ducted air inlet and a damper for regulating the airflow rate." ;
    rdfs:subClassOf s223:SingleDuctTerminal ;
    sh:property [ rdfs:comment "The VAVTerminalCoolingOnly OutletConnectionPoint shall have at least one discharge airflow property using the relation hasProperty." ;
            sh:message "g36: The VAVTerminalCoolingOnly OutletConnectionPoint shall have at least one discharge airflow property using the relation hasProperty." ;
            sh:minCount 1 ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:path s223:hasProperty ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                            sh:node [ sh:property [ sh:hasValue quantitykind:VolumeFlowRate ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path qudt:hasQuantityKind ] ] ] ] ] ] ],
        [ rdfs:comment "The VAVTerminalCoolingOnly shall contain exactly one Damper using the relation contains." ;
            sh:message "g36: The VAVTerminalCoolingOnly shall contain exactly one Damper using the relation contains." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMaxCount 1 ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class g36:Damper ] ],
        [ rdfs:comment "The VAVTerminalCoolingOnly connects to Domain Space in a g36:Zone" ;
            sh:class s223:DomainSpace ;
            sh:message "g36: VAVTerminalCoolingOnly connects to Domain Space in a g36:Zone" ;
            sh:minCount 1 ;
            sh:node [ sh:property [ sh:class g36:Zone ;
                            sh:minCount 1 ;
                            sh:path [ sh:inversePath s223:contains ] ] ] ;
            sh:path s223:connectedTo ] .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#VAVTerminalCoolingOnlyAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:VAVTerminalCoolingOnlyAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:SingleDuctTerminal matches the constraints defined by g36:VAVTerminalCoolingOnly, it will be declared as an instance of that class." ;
            sh:condition g36:VAVTerminalCoolingOnly ;
            sh:object g36:VAVTerminalCoolingOnly ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:SingleDuctTerminal .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#VAVTerminalWithReheat


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

g36:VAVTerminalWithReheat a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "VAVTerminalWithReheat" ;
    rdfs:comment "An air-terminal unit assembly having one ducted air inlet, a damper, and a reheat coil for regulating the airflow rate and discharge air temperature." ;
    rdfs:subClassOf g36:VAVTerminalCoolingOnly ;
    sh:property [ rdfs:comment "The VAVTerminalWithReheat OutletConnectionPoint shall have at least one discharge air temperature property using the relation hasProperty." ;
            sh:message "g36: The VAVTerminalWithReheat OutletConnectionPoint shall have at least one discharge air temperature property using the relation hasProperty." ;
            sh:minCount 1 ;
            sh:path s223:hasConnectionPoint ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                    sh:node [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasProperty ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                            sh:node [ sh:property [ sh:hasValue quantitykind:Temperature ;
                                                            sh:maxCount 1 ;
                                                            sh:minCount 1 ;
                                                            sh:path qudt:hasQuantityKind ] ] ] ] ] ] ],
        [ rdfs:comment "The VAVTerminalWithReheat connects to Domain Space in a g36:Zone" ;
            sh:class s223:DomainSpace ;
            sh:message "g36: The VAVTerminalWithReheat connects to Domain Space in a g36:Zone" ;
            sh:minCount 1 ;
            sh:node [ sh:property [ sh:class g36:Zone ;
                            sh:minCount 1 ;
                            sh:path [ sh:inversePath s223:contains ] ] ] ;
            sh:path s223:connectedTo ],
        [ rdfs:comment "The VAVTerminalWithReheat shall contain at least one hot water coil or at least one electric heating coil for heating using the relation contains." ;
            sh:message "g36: The VAVTerminalWithReheat shall contain at least one hot water coil or at least one electric heating coil for heating using the relation contains." ;
            sh:minCount 1 ;
            sh:path s223:contains ;
            sh:qualifiedMaxCount 1 ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:or ( [ sh:class g36:HotWaterCoil ] [ sh:class g36:ElectricHeatingCoil ] ) ] ] .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#VAVTerminalWithReheatAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:VAVTerminalWithReheatAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:SingleDuctTerminal matches the constraints defined by g36:VAVTerminalWithReheat, it will be declared as an instance of that class." ;
            sh:condition g36:VAVTerminalWithReheat ;
            sh:object g36:VAVTerminalWithReheat ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:SingleDuctTerminal .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#Zone


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

g36:Zone a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Zone" ;
    rdfs:comment "A thermal zone with the points required for Guideline 36 control sequences. It is a collection of s223:DomainSpace instances." ;
    rdfs:subClassOf s223:Zone ;
    sh:property [ rdfs:comment "A Zone shall have at least a zone CO2 concentration property using the relation hasProperty, if applicable control is used." ;
            sh:message "g36: A Zone shall have at least a zone CO2 concentration property using the relation hasProperty, if applicable control is used." ;
            sh:minCount 1 ;
            sh:path s223:hasProperty ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                    sh:node [ sh:property [ sh:hasValue quantitykind:DimensionlessRatio ;
                                    sh:maxCount 1 ;
                                    sh:minCount 1 ;
                                    sh:path qudt:hasQuantityKind ],
                                [ sh:hasValue s223:Constituent-CO2 ;
                                    sh:maxCount 1 ;
                                    sh:minCount 1 ;
                                    sh:path s223:ofConstituent ] ] ] ;
            sh:severity sh:Info ],
        [ rdfs:comment "A Zone shall have at least one binary zone occupancy property using the relation hasProperty" ;
            sh:message "g36: A Zone shall have at least one binary zone occupancy property using the relation hasProperty" ;
            sh:minCount 1 ;
            sh:path s223:hasProperty ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:EnumeratedObservableProperty ;
                    sh:node [ sh:property [ sh:class s223:EnumerationKind-Occupancy ;
                                    sh:maxCount 1 ;
                                    sh:minCount 1 ;
                                    sh:path s223:hasEnumerationKind ] ] ] ;
            sh:severity sh:Info ],
        [ rdfs:comment "A Zone shall have a zone temperature setpoint adjustment property using the relation hasProperty, if applicable." ;
            sh:message "g36: A Zone shall have a zone temperature setpoint adjustment property using the relation hasProperty, if applicable." ;
            sh:minCount 1 ;
            sh:path s223:hasProperty ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                    sh:node [ sh:property [ sh:hasValue quantitykind:Temperature ;
                                    sh:maxCount 1 ;
                                    sh:minCount 1 ;
                                    sh:path qudt:hasQuantityKind ],
                                [ sh:hasValue s223:Aspect-Delta ;
                                    sh:maxCount 1 ;
                                    sh:minCount 1 ;
                                    sh:path s223:hasAspect ] ] ] ;
            sh:qualifiedValueShapesDisjoint true ;
            sh:severity sh:Info ],
        [ rdfs:comment "A Zone shall have at least one Domain-HVAC using the relation hasDomain. " ;
            sh:hasValue s223:Domain-HVAC ;
            sh:message "g36: A Zone shall have at least one Domain-HVAC using the relation hasDomain. " ;
            sh:minCount 1 ;
            sh:path s223:hasDomain ],
        [ rdfs:comment "A Zone shall have at least one window switch on-off property using the relation hasProperty." ;
            sh:message "g36: A Zone shall have at least one window switch on-off property using the relation hasProperty." ;
            sh:minCount 1 ;
            sh:path s223:hasProperty ;
            sh:qualifiedMinCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:EnumeratedObservableProperty ;
                    sh:node [ sh:property [ sh:class s223:Binary-OnOff ;
                                    sh:maxCount 1 ;
                                    sh:minCount 1 ;
                                    sh:path s223:hasEnumerationKind ],
                                [ rdfs:comment "Property shall be measured at a window." ;
                                    sh:class s223:Window ;
                                    sh:path [ sh:alternativePath ( ( [ sh:inversePath s223:observes ] s223:hasObservationLocation ) [ sh:inversePath s223:hasProperty ] ) ] ] ] ] ;
            sh:severity sh:Info ] .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#ZoneAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:ZoneAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of `Zone` matches the constraints defined by g36:Zone, it will be declared as an instance of that class." ;
            sh:condition g36:Zone ;
            sh:object g36:Zone ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:Zone .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#ZoneGroup


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

g36:ZoneGroup a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Zone Group" ;
    rdfs:comment "A ZoneGroup is a grouping of zones that may be scheduled together. Zone groupings must be assigned based on rules in Clause 3.1.3 of Guideline 36." ;
    rdfs:subClassOf s223:Zone ;
    sh:property [ rdfs:comment "A ZoneGroup shall have the Domain HVAC using the relation hasDomain." ;
            sh:hasValue s223:Domain-HVAC ;
            sh:message "g36: A ZoneGroup shall have the Domain HVAC using the relation hasDomain." ;
            sh:minCount 1 ;
            sh:path s223:hasDomain ],
        [ rdfs:comment "A ZoneGroup shall contain at least one Zone using the relation contains." ;
            sh:class g36:Zone ;
            sh:message "g36: A ZoneGroup shall contain at least one Zone using the relation contains." ;
            sh:minCount 1 ;
            sh:path s223:contains ] .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#ZoneGroupAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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#> .

g36:ZoneGroupAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of `Zone` matches the constraints defined by g36:ZoneGroup, it will be declared as an instance of that class." ;
            sh:condition g36:ZoneGroup ;
            sh:object g36:ZoneGroup ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:Zone .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36#g36:SingleZoneVAVAirHandlingUnit-WithReliefDamperAnnotation


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix ns1: <http://data.ashrae.org/standard223/1.0/extensions/g36#g36:> .
@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#> .

ns1:SingleZoneVAVAirHandlingUnit-WithReliefDamperAnnotation a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of s223:AirHandlingUnit matches the constraints defined by g36:SingleZoneVAVAirHandlingUnit-WithReliefDamperFan, it will be declared as an instance of that class." ;
            sh:condition g36:SingleZoneVAVAirHandlingUnit-WithReliefDamper ;
            sh:object g36:SingleZoneVAVAirHandlingUnit-WithReliefDamper ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] ;
    sh:targetClass s223:AirHandlingUnit .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36/core


@prefix ns2: <http://data.ashrae.org/standard223/1.0/extensions/g36/> .
@prefix ns3: <http://data.ashrae.org/standard223/1.0/extensions/> .
@prefix ns5: <http://data.ashrae.org/standard223/1.0/model/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .

ns2:core a owl:Ontology ;
    owl:imports ns3:settings,
        ns5:all ;
    owl:versionInfo "Created with TopBraid Composer" .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36/dual-duct-ahu


@prefix ns2: <http://data.ashrae.org/standard223/1.0/extensions/g36/> .
@prefix ns3: <http://data.ashrae.org/standard223/1.0/extensions/> .
@prefix ns5: <http://data.ashrae.org/standard223/1.0/model/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .

ns2:dual-duct-ahu a owl:Ontology ;
    owl:imports ns3:settings,
        ns5:all ;
    owl:versionInfo "Created with TopBraid Composer" .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36/dual-duct-terminal-unit


@prefix ns2: <http://data.ashrae.org/standard223/1.0/extensions/g36/> .
@prefix ns3: <http://data.ashrae.org/standard223/1.0/extensions/> .
@prefix ns5: <http://data.ashrae.org/standard223/1.0/model/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .

ns2:dual-duct-terminal-unit a owl:Ontology ;
    owl:imports ns3:settings,
        ns5:all ;
    owl:versionInfo "Created with TopBraid Composer" .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36/fan-powered-terminal-unit


@prefix ns2: <http://data.ashrae.org/standard223/1.0/extensions/g36/> .
@prefix ns3: <http://data.ashrae.org/standard223/1.0/extensions/> .
@prefix ns5: <http://data.ashrae.org/standard223/1.0/model/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .

ns2:fan-powered-terminal-unit a owl:Ontology ;
    owl:imports ns3:settings,
        ns5:all ;
    owl:versionInfo "Created with TopBraid Composer" .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36/multiple-zone-vav-air-handling-unit


@prefix ns2: <http://data.ashrae.org/standard223/1.0/extensions/g36/> .
@prefix ns3: <http://data.ashrae.org/standard223/1.0/extensions/> .
@prefix ns5: <http://data.ashrae.org/standard223/1.0/model/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .

ns2:multiple-zone-vav-air-handling-unit a owl:Ontology ;
    owl:imports ns3:settings,
        ns5:all ;
    owl:versionInfo "Created with TopBraid Composer" .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36/singlezone-vav-air-handling-unit


@prefix ns2: <http://data.ashrae.org/standard223/1.0/extensions/g36/> .
@prefix ns3: <http://data.ashrae.org/standard223/1.0/extensions/> .
@prefix ns5: <http://data.ashrae.org/standard223/1.0/model/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .

ns2:singlezone-vav-air-handling-unit a owl:Ontology ;
    owl:imports ns3:settings,
        ns5:all ;
    owl:versionInfo "Created with TopBraid Composer" .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/g36/vav-terminal-unit


@prefix ns2: <http://data.ashrae.org/standard223/1.0/extensions/g36/> .
@prefix ns3: <http://data.ashrae.org/standard223/1.0/extensions/> .
@prefix ns5: <http://data.ashrae.org/standard223/1.0/model/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .

ns2:vav-terminal-unit a owl:Ontology ;
    owl:imports ns3:settings,
        ns5:all ;
    owl:versionInfo "Created with TopBraid Composer" .


            

URI: http://data.ashrae.org/standard223/1.0/extensions/settings


@prefix ns2: <http://data.ashrae.org/standard223/1.0/extensions/g36/> .
@prefix ns3: <http://data.ashrae.org/standard223/1.0/extensions/> .
@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

ns3:settings a owl:Ontology ;
    rdfs:comment """This file can be used to control which extensions are to be loaded with the 223 ontology by importing the appropriate graph(s). Options include:
For validation of the schema, model, or data - http://data.ashrae.org/standard223/1.0/validation/schema (or model or data).  
For inferred relations - http://data.ashrae.org/standard223/1.0/inference/model-rules (and/or schema-rules, data-rules).
For G36 extensions - http://data.ashrae.org/standard223/1.0/extensions/g36/core (and/or vav-terminal-unit, multiple-zone-vav-air-handling-unit, etc.).""" ;
    owl:imports ns2:core,
        ns4:data-rules,
        ns4:model-rules,
        ns4:owl-subset,
        ns6:data,
        ns6:model,
        ns6:schema ;
    owl:versionInfo "Created with TopBraid Composer" .


            

URI: http://data.ashrae.org/standard223/1.0/inference/data-rules


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@prefix ns5: <http://data.ashrae.org/standard223/1.0/model/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

ns4:data-rules a owl:Ontology ;
    owl:imports ns5:all ;
    owl:versionInfo "Created with TopBraid Composer" ;
    sh:declare [ sh:namespace "http://www.w3.org/2000/01/rdf-schema#"^^xsd:anyURI ;
            sh:prefix "rdfs" ],
        [ sh:namespace "http://data.ashrae.org/standard223#"^^xsd:anyURI ;
            sh:prefix "s223" ] .


            

URI: http://data.ashrae.org/standard223/1.0/inference/model-rules


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@prefix ns5: <http://data.ashrae.org/standard223/1.0/model/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

ns4:model-rules a owl:Ontology ;
    owl:imports ns5:all ;
    owl:versionInfo "Created with TopBraid Composer" ;
    sh:declare [ sh:namespace "http://qudt.org/schema/qudt/"^^xsd:anyURI ;
            sh:prefix "qudt" ],
        [ sh:namespace "http://data.ashrae.org/standard223#"^^xsd:anyURI ;
            sh:prefix "s223" ],
        [ sh:namespace "http://qudt.org/vocab/quantitykind/"^^xsd:anyURI ;
            sh:prefix "qudtqk" ],
        [ sh:namespace "http://data.ashrae.org/standard223/1.0/vocab/role#"^^xsd:anyURI ;
            sh:prefix "role" ],
        [ sh:namespace "http://qudt.org/vocab/unit/"^^xsd:anyURI ;
            sh:prefix "unit" ],
        [ sh:namespace "http://www.w3.org/2000/01/rdf-schema#"^^xsd:anyURI ;
            sh:prefix "rdfs" ] .


            

URI: http://data.ashrae.org/standard223/1.0/inference/owl-subset


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@prefix ns5: <http://data.ashrae.org/standard223/1.0/model/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

ns4:owl-subset a owl:Ontology ;
    owl:imports ns5:all ;
    owl:versionInfo "Created with TopBraid Composer" ;
    sh:declare [ sh:namespace "http://data.ashrae.org/standard223#"^^xsd:anyURI ;
            sh:prefix "s223" ] .


            

URI: http://data.ashrae.org/standard223/1.0/model/all


@prefix ns5: <http://data.ashrae.org/standard223/1.0/model/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .

ns5:all a owl:Ontology ;
    owl:versionInfo "git:master@6fdc11c60b930ccb042d775b66a9115547fd22a7 date:2026-10-06 20:01:58 UTC" .


            

URI: http://data.ashrae.org/standard223/1.0/model/core


@prefix ns5: <http://data.ashrae.org/standard223/1.0/model/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .

ns5:core a owl:Ontology ;
    owl:imports ns5:all ;
    owl:versionInfo "Created with TopBraid Composer" .


            

URI: http://data.ashrae.org/standard223/1.0/model/equipment


@prefix ns5: <http://data.ashrae.org/standard223/1.0/model/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

ns5:equipment a owl:Ontology ;
    owl:imports ns5:all ;
    owl:versionInfo "Created with TopBraid Composer" ;
    sh:declare [ sh:namespace "http://qudt.org/schema/qudt/"^^xsd:anyURI ;
            sh:prefix "qudt" ],
        [ sh:namespace "http://qudt.org/vocab/quantitykind/"^^xsd:anyURI ;
            sh:prefix "quantitykind" ] .


            

URI: http://data.ashrae.org/standard223/1.0/validation/data


@prefix ns5: <http://data.ashrae.org/standard223/1.0/model/> .
@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

ns6:data a owl:Ontology ;
    owl:imports ns5:all ;
    owl:versionInfo "Created with TopBraid Composer" ;
    sh:declare [ sh:namespace "http://data.ashrae.org/standard223#"^^xsd:anyURI ;
            sh:prefix "s223" ],
        [ sh:namespace "http://qudt.org/schema/qudt/"^^xsd:anyURI ;
            sh:prefix "qudt" ] .


            

URI: http://data.ashrae.org/standard223/1.0/validation/model


@prefix ns5: <http://data.ashrae.org/standard223/1.0/model/> .
@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

ns6:model a owl:Ontology ;
    owl:imports ns5:all ;
    owl:versionInfo "Created with TopBraid Composer" ;
    sh:declare [ sh:namespace "http://www.w3.org/ns/shacl#"^^xsd:anyURI ;
            sh:prefix "sh" ],
        [ sh:namespace "http://data.ashrae.org/standard223#"^^xsd:anyURI ;
            sh:prefix "s223" ],
        [ sh:namespace "http://qudt.org/schema/qudt/"^^xsd:anyURI ;
            sh:prefix "qudt" ],
        [ sh:namespace "http://www.w3.org/2000/01/rdf-schema#"^^xsd:anyURI ;
            sh:prefix "rdfs" ],
        [ sh:namespace "http://www.w3.org/1999/02/22-rdf-syntax-ns#"^^xsd:anyURI ;
            sh:prefix "rdf" ] .


            

URI: http://data.ashrae.org/standard223/1.0/validation/schema


@prefix ns5: <http://data.ashrae.org/standard223/1.0/model/> .
@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

ns6:schema a owl:Ontology ;
    owl:imports ns5:all ;
    owl:versionInfo "Created with TopBraid Composer" ;
    sh:declare [ sh:namespace "http://www.w3.org/ns/shacl#"^^xsd:anyURI ;
            sh:prefix "sh" ],
        [ sh:namespace "http://data.ashrae.org/standard223#"^^xsd:anyURI ;
            sh:prefix "s223" ],
        [ sh:namespace "http://www.w3.org/2000/01/rdf-schema#"^^xsd:anyURI ;
            sh:prefix "rdfs" ],
        [ sh:namespace "http://www.w3.org/1999/02/22-rdf-syntax-ns#"^^xsd:anyURI ;
            sh:prefix "rdf" ] .


            

URI: http://data.ashrae.org/standard223/1.0/vocab/electricity


@prefix ns5: <http://data.ashrae.org/standard223/1.0/model/> .
@prefix ns7: <http://data.ashrae.org/standard223/1.0/vocab/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .

ns7:electricity a owl:Ontology ;
    owl:imports ns5:all .


            

URI: http://data.ashrae.org/standard223/1.0/vocab/enumeration


@prefix ns5: <http://data.ashrae.org/standard223/1.0/model/> .
@prefix ns7: <http://data.ashrae.org/standard223/1.0/vocab/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

ns7:enumeration a owl:Ontology ;
    owl:imports ns5:all,
        ns7:electricity ;
    sh:declare [ sh:namespace "http://www.w3.org/2000/01/rdf-schema#"^^xsd:anyURI ;
            sh:prefix "rdfs" ],
        [ sh:namespace "http://qudt.org/schema/qudt/"^^xsd:anyURI ;
            sh:prefix "qudt" ],
        [ sh:namespace "http://data.ashrae.org/standard223#"^^xsd:anyURI ;
            sh:prefix "s223" ],
        [ sh:namespace "http://www.w3.org/ns/shacl#"^^xsd:anyURI ;
            sh:prefix "sh" ],
        [ sh:namespace "http://www.w3.org/1999/02/22-rdf-syntax-ns#"^^xsd:anyURI ;
            sh:prefix "rdf" ] .


            

URI: http://qudt.org/schema/qudt/hasQuantityKind


@prefix qudt: <http://qudt.org/schema/qudt/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

qudt:hasQuantityKind rdfs:comment "A reference to the `QuantityKind` of a `QuantifiableProperty` of interest, such as `Temperature`." .


            

URI: http://qudt.org/schema/qudt/hasUnit


@prefix qudt: <http://qudt.org/schema/qudt/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

qudt:hasUnit rdfs:comment "A reference to the unit of measure of a `QuantifiableProperty` of interest, such as `DEG_C`." .


            

URI: http://www.w3.org/1999/02/22-rdf-syntax-ns#Property


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

rdf:Property a sh:NodeShape ;
    sh:property [ rdfs:comment "Every `Property` must have a comment." ;
            sh:path rdfs:comment ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    sh:message "s223: {$this} must have an rdfs:comment" ;
                    sh:prefixes ns6: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}) .
}
""" ] ],
        [ rdfs:comment "Every `Property` must have a label." ;
            sh:path rdfs:label ;
            sh:sparql [ a sh:SPARQLConstraint ;
                    sh:message "s223: {$this} must have an rdfs:label" ;
                    sh:prefixes ns6: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}) .
}
""" ] ] .


            

URI: pub:AnnexA


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:AnnexA doc:clause "Annex A" ;
    doc:title " - RDF REPRESENTATION OF THIS STANDARD (NORMATIVE)" ;
    rdfs:comment """The text of this standard was generated from a Resource Description Framework (RDF) Model. An electronic repository containing a normative Turtle
representation of the model can be found at [https://data.ashrae.org/bacnet/223p/223p.ttl](https://data.ashrae.org/bacnet/223p/223p.ttl).
A user may wish to use electronic tools to browse and study the details of the
standard, use the equipment types defined in the standard to build a building-specific information model, apply the SHACL
constraints to test a building specific model for conformance to the standard, or other uses.
""" .


            

URI: pub:AnnexB


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:AnnexB doc:clause "Annex B" ;
    doc:subclauses ( pub:g36components pub:VAV_4-1 pub:VAV_4-2 pub:FPTU_4-3 pub:DDTU_4-7 pub:DDTU_4-8 pub:MZ-VAV-AHU_4-9 pub:DD-AHU_4-10 pub:SZ-VAV-AHU_4-11 ) ;
    doc:title " - ASHRAE GUIDELINE 36 EXTENSION (INFORMATIVE)" ;
    rdfs:comment """This extension uses the concepts defined in the 223 standard to model the ASHRAE Guideline 36 data requirements for air-side equipment, defined in Section 4 of ASHRAE Guideline 36-2024.
These requirements are modeled as classes that use SHACL constraints to define how the equipment should be modeled in 223, focusing on the data points needed for Guideline 36 control sequences.
These classes can be used to ensure that a model has the metadata necessary to support Guideline 36 sequences. They can be used to validate existing models against the requirements of Guideline 36 or to support modeling of compliant systems.
They can also be used to create templates or support tooling that creates models to match the defined constraints.
We have also included SHACL inference rules to infer labels for equipment within an existing 223 model, where modeling of the equipment satisfies the constraints defined for the Guideline 36 classes.
This can support querying and semantic interoperability between models created with and without use of this extension.
Additionally, this section includes example models of the systems presented in the Informative Appendix A of Guideline 36.
This content is intended to serve as an example of how the 223 standard can be extended to create higher level classes specific to an application, that can be useful for both validation and inference.
It is also intended to provide examples of how equipment can be modeled using 223.
""" .


            

URI: pub:Conform-Constraints


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:Conform-Constraints doc:title "Conformance Constraints and Validation" ;
    rdfs:comment """In this standard, SHACL shapes are used to define conformance constraints.
When a SHACL reasoner is applied to a model, discrepancies from the conformance constraints result in a message from the reasoner with one of three levels
of severity (sh:severity).

A message with a severity sh:Info means that a model construct is incomplete.

A message with a severity sh:Warning means that a model construct is used in an unexpected way.

A message with a severity sh:Violation means a model construct is invalid and does not comply with the standard.""" .


            

URI: pub:ControlParameters


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:ControlParameters rdfs:label "Control parameter aspect" ;
    doc:title "Control Parameters" ;
    rdfs:comment """These aspects are used on properties that define the limits for control and
alarm algorithms. These aspects are used on properties of type `QuantifiableActuatableProperty`.

: Aspect Control Parameters Enumerations

| Enumeration | Description |
|:-----------|:-------------|
| `Aspect-Deadband` | {s223:Aspect-Deadband/rdfs:comment} |
| `Aspect-HighLimit` | {s223:Aspect-HighLimit/rdfs:comment} |
| `Aspect-LowLimit` | {s223:Aspect-LowLimit/rdfs:comment} |
| `Aspect-Setpoint` | {s223:Aspect-Setpoint/rdfs:comment} |
| `Aspect-Threshold` | {s223:Aspect-Threshold/rdfs:comment} |""" .


            

URI: pub:DD-AHU_4-10


@prefix doc: <http://sample.org/doc#> .
@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix pub: <pub:> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:DD-AHU_4-10 doc:subclauses ( g36:DualFanDualDuctAirHandlingUnit g36:DualFanDualDuctAirHandlingUnitAnnotation pub:DualFanDualDuctAirHandlingUnitExample ) ;
    doc:title "Dual Fan Dual Duct Air Handling Unit" ;
    rdfs:comment "This section describes the classes and example model of the Dual Fan Dual Duct Air Handling Unit described in Section 4.7 and Appendix A, Figure A-11 (ASHRAE Guideline 36-2024)" .


            

URI: pub:DDTU_4-7


@prefix doc: <http://sample.org/doc#> .
@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix pub: <pub:> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:DDTU_4-7 doc:subclauses ( g36:DualDuctTerminalWithInletSensors g36:DualDuctTerminalWithInletSensorsAnnotation pub:DualDuctTerminalWithInletSensorsExample ) ;
    doc:title "Dual Duct Terminal Unit with Inlet Sensors" ;
    rdfs:comment "This section describes the classes and example model of the Dual Duct Terminal Unit with Inlet at Sensors described in Section 4.4 and Appendix A, Figure A-7 (ASHRAE Guideline 36-2024)." .


            

URI: pub:DDTU_4-8


@prefix doc: <http://sample.org/doc#> .
@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix pub: <pub:> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:DDTU_4-8 doc:subclauses ( g36:DualDuctTerminalWithDischargeSensor g36:DualDuctTerminalWithDischargeSensorAnnotation pub:DualDuctTerminalWithDischargeSensorExample ) ;
    doc:title "Dual Duct Terminal Unit with Discharge Sensor" ;
    rdfs:comment "This section describes the classes and example model of the Dual Duct Terminal Unit with Discharge Sensor described in Section 4.5 and Appendix A, Figure A-8 (ASHRAE Guideline 36-2024)" .


            

URI: pub:DeltaQuantities


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:DeltaQuantities rdfs:label "Delta quantity aspect" ;
    doc:title "Delta Quantities" ;
    rdfs:comment """These aspects are used on properties to modify the quantity kind. These
aspects are used on properties of type `QuantifiableProperty` and subtypes thereof.

: Aspect Delta Quantities Enumerations

| Enumeration | Description |
|:-----------|:-------------|
| `Aspect-Delta` | {s223:Aspect-Delta/rdfs:comment} |""" .


            

URI: pub:DualDuctTerminalWithDischargeSensorExample


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:DualDuctTerminalWithDischargeSensorExample doc:title "Example Dual Duct Terminal Unit With Discharge Sensors" ;
    rdfs:comment """Dual Duct Terminal Unit With Discharge Sensors example in Figure B-6 is based on Guideline 36, Figure A-8. [Link to Model](https://models.open223.info/guideline36-2021-A-8.ttl)

![Guideline 36 Figure A-8.](figures/g36-figure-a-8.png)""" .


            

URI: pub:DualDuctTerminalWithInletSensorsExample


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:DualDuctTerminalWithInletSensorsExample doc:title "Example Dual Duct Terminal Unit With Inlet Sensors" ;
    rdfs:comment """Dual Duct Terminal Unit example in Figure B-5 is based on Guideline 36, Figure A-7. [Link to Model](https://models.open223.info/guideline36-2021-A-7.ttl)

![Guideline 36 Figure A-7.](figures/g36-figure-a-7.png)""" .


            

URI: pub:DualFanDualDuctAirHandlingUnitExample


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:DualFanDualDuctAirHandlingUnitExample doc:title "Example Dual Fan Dual Duct Air Handling Unit." ;
    rdfs:comment """Dual Fan Dual Duct Air Handling Unit example in Figure B-8 is based on Guideline 36, Figure A-11. [Link to Model](https://models.open223.info/guideline36-2021-A-11.ttl)

![Guideline 36 Figure A-11.](figures/g36-figure-a-11.png)""" .


            

URI: pub:EquipmentInformation


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:EquipmentInformation rdfs:label "Equipment information aspect" ;
    doc:title "Equipment Information" ;
    rdfs:comment """These aspects are used on properties that provide static information about something (e.g., a `System`
or `Equipment`). These aspects are typically used on properties of type `Property`. The property value is typically stored as a string.

: Aspect Equipment Information Enumerations

| Enumeration | Description |
|:-----------|:-------------|
| `Aspect-CatalogNumber` | {s223:Aspect-CatalogNumber/rdfs:comment} |
| `Aspect-Manufacturer` | {s223:Aspect-Manufacturer/rdfs:comment} |
| `Aspect-Model` | {s223:Aspect-Model/rdfs:comment} |
| `Aspect-SerialNumber` | {s223:Aspect-SerialNumber/rdfs:comment} |""" .


            

URI: pub:EquipmentOperation


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:EquipmentOperation rdfs:label "Equipment operation aspect" ;
    doc:title "Equipment Operation" ;
    rdfs:comment """These aspects are used on properties that provide dynamic information about something (e.g., a `System`
or `Equipment`). These aspects are typically used on properties of type `EnumerableProperty` and subtypes thereof.

: Aspect Equipment Operation Enumerations

| Enumeration | Description |
|:-----------|:-------------|
| `Aspect-Alarm` | {s223:Aspect-Alarm/rdfs:comment} |
| `Aspect-Fault` | {s223:Aspect-Fault/rdfs:comment} |
| `Aspect-OperatingMode` | {s223:Aspect-OperatingMode/rdfs:comment} |
| `Aspect-OperatingStatus` | {s223:Aspect-OperatingStatus/rdfs:comment} |""" .


            

URI: pub:FPTU_4-3


@prefix doc: <http://sample.org/doc#> .
@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix pub: <pub:> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:FPTU_4-3 doc:subclauses ( g36:FanPoweredTerminal g36:FanPoweredTerminalAnnotation pub:FanPoweredTerminalExample pub:ParallelFanPoweredTerminalExample ) ;
    doc:title "Fan Powered Terminal Unit" ;
    rdfs:comment """This section describes the classes and example model of the Fan Powered Terminal Unit
(Series or Parallel, Constant or Variable Speed Fan) described in Guideline 36, Section 4.3.""" .


            

URI: pub:FanPoweredTerminalExample


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:FanPoweredTerminalExample doc:title "Example Fan Powered Terminal Unit" ;
    rdfs:comment """Example Fan Powered Terminal Unit in Figure B-3 is based on Guideline 36, Figure A-3. [Link to Model](https://models.open223.info/guideline36-2021-A-3.ttl)

![Guideline 36 Figure A-3.](figures/g36-figure-a-3.png)""" .


            

URI: pub:Implicit-Info


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:Implicit-Info doc:title "Deriving Implicit Information from Inference Rules" ;
    rdfs:comment """SHACL is used in this standard to derive implicit information via a process called inferencing. Inference rules are used to define
how new triples are generated. The triples generated from this inference process enhance the ability to make useful queries without the burden of a modeler
crafting each one. The goal is to make model development easier without sacrificing the utility application developers need to find what they are looking
for. The description of each concept defined in this standard with related inference rules includes a table that lists the relevant SHACL shapes that specify
the inferencing.""" .


            

URI: pub:MZ-VAV-AHU_4-9


@prefix doc: <http://sample.org/doc#> .
@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix pub: <pub:> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:MZ-VAV-AHU_4-9 doc:subclauses ( g36:MultipleZoneVAVAirHandlingUnit g36:MultipleZoneVAVAirHandlingUnitAnnotation g36:MultipleZoneVAVAirHandlingUnit-CommonDamper g36:MultipleZoneVAVAirHandlingUnit-CommonDamperAnnotation g36:MultipleZoneVAVAirHandlingUnit-OADandAFMS g36:MultipleZoneVAVAirHandlingUnit-OADandAFMSAnnotation g36:MultipleZoneVAVAirHandlingUnit-OADandDP g36:MultipleZoneVAVAirHandlingUnit-OADandDPAnnotation g36:MultipleZoneVAVAirHandlingUnit-WithReliefDamper g36:MultipleZoneVAVAirHandlingUnit-WithReliefDamperAnnotation g36:MultipleZoneVAVAirHandlingUnit-WithReliefFan g36:MultipleZoneVAVAirHandlingUnit-WithReturnFan g36:SingleZoneVAVAirHandlingUnit-WithReliefDamper pub:MultipleZoneVAVAirHandlingUnitExample ) ;
    doc:title "Multiple Zone VAV Air Handling Unit" ;
    rdfs:comment "This section describes the classes and example model of the Multiple Zone VAV Air Handling Unit based on Guideline 36, Section 4.6 Figure A-9 and Guideline 36, Figure A-10." .


            

URI: pub:MultipleZoneVAVAirHandlingUnitExample


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:MultipleZoneVAVAirHandlingUnitExample doc:title "Example Multiple Zone VAV Air Handling Unit" ;
    rdfs:comment """Multiple Zone VAV Air Handling Unit example in Figure B-7 is based on Guideline 36, Figure A-9. [Link to Model](https://models.open223.info/guideline36-2021-A-9.ttl).

![Guideline 36 Figure A-9.](figures/g36-figure-a-9.png)""" .


            

URI: pub:Namespace


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:Namespace doc:title "Namespace" ;
    rdfs:comment """ Because it is anticipated that models conforming to this standard
will be combined with other semantic models, it is necessary to define
a namespace for the concepts defined by this standard to avoid any possible ambiguities
that might arise from a similar name used in the complementary model. In this standard
and all conforming models, the prefix “s223:” shall be used in the name of each
concept (class and relation) defined by this standard, e.g., `s223:Equipment`.
""" .


            

URI: pub:OperationalLimits


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:OperationalLimits rdfs:label "Operational limits aspect" ;
    doc:title "Operational Limits" ;
    rdfs:comment """These aspects are used on properties that define the range of another `Property`.
These aspects are used on properties of type `QuantifiableObservableProperty`.

: Aspect Operational Limits Enumerations

| Enumeration | Description |
|:-----------|:-------------|
| `Aspect-Maximum` | {s223:Aspect-Maximum/rdfs:comment} |
| `Aspect-Minimum` | {s223:Aspect-Minimum/rdfs:comment} |
| `Aspect-Nominal` | {s223:Aspect-Nominal/rdfs:comment} |
| `Aspect-Rated` | {s223:Aspect-Rated/rdfs:comment} |""" .


            

URI: pub:ParallelFanPoweredTerminalExample


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:ParallelFanPoweredTerminalExample doc:title "Example Parallel Fan Powered Terminal Unit" ;
    rdfs:comment """Example Parallel Fan Powered Terminal Unit in Figure B-4 is based on Guideline 36, Figure A-4. [Link to Model](https://models.open223.info/guideline36-2021-A-4.ttl)

![Guideline 36 Figure A-4.](figures/g36-figure-a-4.png)""" .


            

URI: pub:SZ-VAV-AHU_4-11


@prefix doc: <http://sample.org/doc#> .
@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix pub: <pub:> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:SZ-VAV-AHU_4-11 doc:subclauses ( g36:SingleZoneVAVAirHandlingUnit g36:SingleZoneVAVAirHandlingUnitAnnotation g36:SingleZoneVAVAirHandlingUnit-WithReliefFan g36:SingleZoneVAVAirHandlingUnit-WithReliefFanAnnotation g36:SingleZoneVAVAirHandlingUnit-WithReturnFan g36:SingleZoneVAVAirHandlingUnit-WithReturnFanAnnotation pub:SingleZoneVAVAirHandlingUnitExample ) ;
    doc:title "Single Zone VAV Air Handling Unit" ;
    rdfs:comment "This section describes the classes and example model of the Single Zone VAV Air Handling Unit described in Section 4.8 and Appendix A, Figure A-12 (ASHRAE Guideline 36-2024)" .


            

URI: pub:SingleZoneVAVAirHandlingUnitExample


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:SingleZoneVAVAirHandlingUnitExample doc:title "Example Single Zone VAV Air Handling Unit" ;
    rdfs:comment """Single Zone VAV Air Handling Unit is based on Guideline 36, Figure A-12. [Link to Model](https://models.open223.info/guideline36-2021-A-12.ttl)

![Guideline 36 Figure A-10.](figures/g36-figure-a-12.png)""" .


            

URI: pub:Text-Serialization


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:Text-Serialization doc:title "Textual Serialization" ;
    rdfs:comment """
The normative content of this standard is documented in an RDF model textualized using Turtle (see {pub:AnnexA}). All models conforming to this standard shall
be textualized using Turtle.

The Turtle serialization format specifies that IRIs may be written as relative or absolute IRIs or prefixed names. The prefix
label is defined by using the "@prefix" directive followed by a colon followed by a partial IRI. The encoding
examples used in this document assume the following prefix statements:

```turtle
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix bacnet: <https://data.ashrae.org/bacnet/> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
```

A prefixed name is turned into an IRI by concatenating the IRI associated with the prefix and the local part. The '@prefix' directive associates
a prefix label with an IRI. For example, `s223:Equipment` expands to `<http://data.ashrae.org/standard223#Equipment>`. The scope of a prefix label is only within
the Turtle file that it appears. It is encouraged to use the prefix statements above when exchanging models.""" .


            

URI: pub:Units


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:Units doc:title "Units of Measure" ;
    rdfs:comment """ Because this standard includes references to measurements of physical properties, it is necessary to provide a model representation of
units of measure as well as what those units are quantifying (e.g., temperature, power, etc.). This standard builds upon the “Quantities, Units, Dimensions,
and Types” (QUDT) ontology which is an open-source model expressed in RDF/SHACL. The QUDT model is documented at [https://qudt.org](https://qudt.org). The key concepts
used in this standard are the classes `qudt:Unit` and `qudt:QuantityKind`. The 223 standard is compatible with Version 3.1.1 of QUDT and is expected to be compatible with
all newer versions as well.""" .


            

URI: pub:VAVTerminalCoolingOnlyExample


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:VAVTerminalCoolingOnlyExample doc:title "Example VAV Terminal Unit - Cooling Only" ;
    rdfs:comment """VAV Terminal Unit - Cooling Only example in Figure B-1 is based on Guideline 36, Figure A-1. [Link to Model](https://models.open223.info/guideline36-2021-A-1.ttl)

![Guideline 36 Figure A-1.](figures/g36-figure-a-1.png)""" .


            

URI: pub:VAVTerminalWithReheatExample


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:VAVTerminalWithReheatExample doc:title "Example VAV Terminal Unit With Reheat" ;
    rdfs:comment """VAV Terminal Unit With Reheat example in Figure B-2 is based on Guideline 36, Figure A-2. [Link to Model](https://models.open223.info/guideline36-2021-A-2.ttl)

![Guideline 36 Figure A-2.](figures/g36-figure-a-2.png)""" .


            

URI: pub:VAV_4-1


@prefix doc: <http://sample.org/doc#> .
@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix pub: <pub:> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:VAV_4-1 doc:subclauses ( g36:VAVTerminalCoolingOnly g36:VAVTerminalCoolingOnlyAnnotation pub:VAVTerminalCoolingOnlyExample ) ;
    doc:title "VAV Terminal Unit - Cooling Only" ;
    rdfs:comment "This section describes the VAV Terminal Unit - Cooling Only class defined by this extension. Constraints are based on Guideline 36 Section 4.1." .


            

URI: pub:VAV_4-2


@prefix doc: <http://sample.org/doc#> .
@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix pub: <pub:> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:VAV_4-2 doc:subclauses ( g36:VAVTerminalWithReheat g36:VAVTerminalWithReheatAnnotation pub:VAVTerminalWithReheatExample ) ;
    doc:title "VAV Terminal Unit with Reheat" ;
    rdfs:comment "This section describes the VAV Terminal Unit with Reheat described in Section 4.2 and Appendix A, Figure A-2 (ASHRAE Guideline 36-2024)" .


            

URI: pub:abbrev


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:abbrev doc:title "Abbreviations and Acronyms Used in this Standard" ;
    rdfs:comment """
&nbsp;

|Acronym|Definition|
|:------ |:---------------------------------------|
|AHU|Air Handling Unit|
|ANSI|American National Standards Institute|
|ASHRAE|American Society of Heating, Refrigerating and Air-Conditioning Engineers|
|BACnet|Building Automation and Control Networks|
|CDL|Control Description Language|
|HVAC|Heating, Ventilation, and Air Conditioning|
|IFC|Industry Foundation Class|
|IRI|Internationalized Resource Identifier|
|LAN|Local Area Network|
|LL|Line-Line|
|LN|Line-Neutral|
|OWL|Web Ontology Language|
|PM|Particulate Matter|
|PoE|Power over Ethernet|
|QUDT|Quantities, Units, Dimensions, and Types|
|RDF|Resource Description Framework|
|RDFS|RDF Schema|
|SHACL|Shapes Constraint Language|
|SPARQL|SPARQL Protocol and RDF Query Language|
|USB|Universal Serial Bus|
|VAV|Variable Air Volume|
|W3C|World Wide Web Consortium|
""" .


            

URI: pub:conceptual-framework


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@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#> .

pub:conceptual-framework doc:subclauses ( pub:Conform-Constraints pub:Implicit-Info pub:Text-Serialization pub:Units pub:Namespace s223:Concept s223:hasProperty ) ;
    doc:title "CONCEPTUAL FRAMEWORK FOR SEMANTIC MODELING OF BUILDING SYSTEMS AND DATA" ;
    rdfs:comment """
This standard defines modeling constructs for use in creating a machine-readable representation of building systems, the building spaces that they serve,
and the measurement and control points used to provide a safe and comfortable environment for the building occupants. The standard can be considered a
toolkit of semantic building blocks and rules for using them to create a semantic model of a particular building or campus of buildings. The resulting model provides
a way for software applications to determine the relationships between the mechanical equipment in the building (i.e., AHU 1 gets chilled water from CH 3
and provides conditioned air to VAV Boxes 12 through 15 serving rooms on the third floor) and the meaning of measurements that are available
(i.e., T16 is a temperature sensor measuring the temperature of the air stream exiting AHU 1).

The model does not directly contain telemetric data about the real-time operation or past operation of the building systems. It does provide information
about the meaning or context of that data and defines external references that are used to point to a source of the data values, thus enabling analytics
 applications to find them. If the data source is a BACnet building automation and control system, the external reference contains the necessary information
 for analytic software to learn which BACnet device, object, and property corresponds to the desired piece of information. This enables construction of a BACnet
 message used to read the value.

These capabilities are achieved by applying concepts, standards, and query tools developed and deployed for information and data science applications outside the building domain. A primary commercial driver for developing these standards and tools is the Semantic Web, an extension of the World Wide Web that was created to make the semantic meaning of data accessible from the Internet machine readable.

This standard uses World Wide Web Consortium (W3C) Resource Description Framework (RDF) and its extended schema (RDFS) to represent the semantic ideas in the
model. RDF is a general method for representing semantic ideas as of a triple. A triple consists of a subject, a predicate, and either a literal or an object. For example:

Jane hasFriend Dave

Jane hasSupervisor Mary

In this example, Jane is the subject of both triples, there are two different predicates, hasFriend and hasSupervisor, and there are two different objects,
 Dave and Mary. The number of triples is expanded as needed to capture the desired information. The collection of triples represents a directed
  multi-graph that can be searched or queried to answer questions or to infer information that may not be explicit in the graph. Figure 4-1 is a graph that
   corresponds to this example.

![Example triple graph.](figures/Figure_4-1_Triple_Example.svg)

This standard defines subjects, predicates, and objects relevant to the building space that are used to build a multi-graph representing a specific
 building or group of buildings. A compelling advantage of this graph-based approach is the ability to combine semantic graphs derived from complementary
 semantic models that apply to the same building. This makes it possible to take advantage of the combined information from distinct domains. For example, a
 RealEstateCore model that captures how spaces are assigned to different tenants in a building linked to the spaces represented in a Standard 223 model
 results in a semantic model containing the combined information. In a similar way, it is possible to link information from a computerized maintenance
 management system or an asset management system to the semantic graph of a Standard 223 model by adding a triple that binds a piece of equipment to its
 representation in the other system.

A model constructed from this standard describes the topology of the equipment and spaces in a building but not the geometric details. Linking a
Standard 223 model with an RDF representation of a building information model would add that geometric information.

Another advantage of using RDF to model building systems is that a query language standard, SPARQL (W3C SPARQL), exists and tools that implement SPARQL
are readily available. A building analytics tool developer needs only to create a library of queries relevant to their application, and use these queries
to interrogate any Standard 223 conformant model to find what they need from that building for their application.

Using RDF also provides a way to build conformance constraints into this standard in a way that enables conformance to be algorithmically verified.
This is done by using a different W3C standard, Shapes Constraints Language (SHACL) (W3C SHACL). SHACL defines a way to constrain the construction of RDF
graphs through the application of custom developed rules called shapes. The normative constraints described in this standard are formalized in
SHACL shapes. The description of each concept defined in this standard includes a table that lists related conformance constraints defined by these
SHACL shapes. Readily available SHACL reasoners check whether or not a particular model instance conforms to the shapes defined in this standard.

The concepts and relations defined in this standard were designed to aid in model development using RDF and SHACL exclusively and avoiding dependence on
OWL axioms.
This approach was chosen to avoid some of the shortcomings of using OWL in industrial settings, such as the open world assumption, the many variations of OWL and their
support, and the sometimes counterintuitive implications of OWL reasoning for non-ontologists. (For example, if an instance satisfies the OWL axioms for a class, then
it is inferred to be an instance of that class). The use of SHACL shapes to define constraints and inferencing rules is a more intuitive way to define intended
model behavior and to verify conformance to the standard. The two most-used OWL inferences, supporting symmetric and inverse relations, are redefined in this standard
using SHACL rules.
""" .


            

URI: pub:connectedness


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@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#> .

pub:connectedness doc:subclauses ( s223:connected s223:connectedTo s223:connectedFrom s223:connectedThrough s223:connectsTo s223:connectsFrom s223:connectsThrough s223:connectsAt s223:hasConnectionPoint s223:isConnectionPointOf s223:cnx ) ;
    doc:title "Relations Describing Connectedness" ;
    rdfs:comment """
The collection of relations defined for `Connectable`, `ConnectionPoint`, and `Connection`
is intended to facilitate model queries that answer questions about how equipment
is connected and to what it is connected. These relations are shown in Figure 6-3.

![Connection Relations.](figures/Figure_6-1_Connection_Relationships.svg)

It is not necessary for a model developer to create each of these relations individually.
A model can be created using a simpler construct shown in Figure 6-4 using the
`cnx` relation. Inference rules can then be applied to generate the complete set
shown in Figure 6-3. The intent is to simplify model development without losing
the connectedness relationships that facilitate model queries.

![CNX Relations.](figures/Figure_6-2_CNX_Relationships.svg)
""" .


            

URI: pub:connection


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@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#> .

pub:connection doc:subclauses ( s223:Connectable s223:ConnectionPoint s223:Connection s223:Junction pub:connectedness s223:hasMedium ) ;
    doc:title "CONNECTION" ;
    rdfs:comment """
This clause is the top level of the hierarchical structure of the portion of the
model that represents the characteristics and features of connections that provide
a means for a medium such as air, water, or electricity, to flow from one `ConnectionPoint`
to another. Examples of connections are ducts, pipes, and conductors.
""" .


            

URI: pub:definitions


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

pub:definitions doc:subclauses ( pub:definitions-terms pub:abbrev ) ;
    doc:title "DEFINITIONS" .


            

URI: pub:definitions-terms


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:definitions-terms doc:title "Terms Defined for this Standard" ;
    rdfs:comment """
Words that are capitalized as proper nouns or in upper camel case represent classes formally defined in the model.

**Connectable:** an abstract class that represents `Equipment`, a `DomainSpace` or a `Junction` that can be connected via connection points and connections.

**Connection:** the modeling construct used to represent a physical thing (e.g., pipe, duct, or conductor) that is used to convey some `Substance-Medium` (e.g., water, air, or electricity) between two `Connectable` things.

**ConnectionPoint:** an abstract modeling construct used to represent the fact that one `Connectable` can be connected to another `Connectable` using a `Connection`. It is the abstract representation of the flange, wire terminal, or other physical feature where a connection is made.

**Domain:** a categorization of building service or specialization used to characterize equipment or spaces in a building. Example domains include HVAC, lighting, and plumbing.

**DomainSpace:** a portion or the entirety of a `PhysicalSpace` that is associated with a `EnumerationKind-Domain`, such as lighting, HVAC, or physical security. `DomainSpace`s can be combined to form a `Zone`.

**Equipment:** the modeling construct used to represent a device designed to accomplish a specific task. Examples include a pump, fan, heat exchanger, luminaire, temperature sensor, or flow meter. Both `Equipment` and `System` can be used to associate multiple pieces of `Equipment` with a higher-level concept. See {pub:equipment} and {pub:system} for clarification on the distinction between these concepts.

**literal:** A literal is a modeling construct that has a fixed value.

**Medium:** a substance used to convey mass, energy, or information through `Equipment` or a `System`.  Examples include air, water, refrigerant, and electricity.

**PhysicalSpace:** an architectural concept that represents 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.

Note: while the word "system" is used colloquially throughout this document (e.g., building system, control system), the `System` concept has a more formal definition than its colloquial usage.

**System:** a logical grouping or collection of `Equipment`, `Junction`, or other `System`s for some defined purpose. Example purposes include all the `Equipment` and `Junction`s that provide Domestic Hot Water service in a building, or all fire safety `Equipment` in a building that must be routinely inspected. A `System` cannot have a `ConnectionPoint`. See {pub:equipment} and {pub:system} for clarification on the distinction between these concepts.

**thing:** a physical or abstract entity within the building model.

**Zone:** a collection of `DomainSpace`s of a specific domain that are grouped together from the perspective of building services or controls.
""" .


            

URI: pub:domain-space


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix s223: <http://data.ashrae.org/standard223#> .

pub:domain-space doc:subclauses ( s223:DomainSpace s223:hasDomain ) ;
    doc:title "Domain Space" .


            

URI: pub:electricalwiringv2-p1


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:electricalwiringv2-p1 doc:title "1-Phase 3-Wire (LLN) 120V/240V" ;
    rdfs:comment """
A 1-phase (also referred to as split-phase), 3-wire, 120V/240V transformer, the 3 electricity services it is capable of providing, and their associated mediums.

![1-Phase 3-Wire (LLN) 120V/240V](figures/Figure_10_1.svg)

| Medium | # wires | L-L | L-N | Countries | Phase Possibilities |
|:------------------:|:-----:|:----:|:----:|:-------:|:-------------------:|
| AC-240VLL-120VLN-1Ph-60Hz | 3 | 240 | 120 | US, Canada | ABN |
| AC-240VLL-1Ph-60Hz | 2 | 240 | - | US, Canada | AB |
| AC-120VLN-1Ph-60Hz | 2 | - | 120 | US, Canada | AN, BN |
""" .


            

URI: pub:electricalwiringv2-p2


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:electricalwiringv2-p2 doc:title "3-Phase 3-Wire (LLL) 480V Delta" ;
    rdfs:comment """
A 3-phase, 3-wire, 480V Delta transformer, the 2 AC electricity services it is capable of providing, and their associated mediums.

![3-Phase 3-Wire (LLL) 480V Delta](figures/Figure_10_2.svg)

| Medium | # wires | L-L | L-N | Countries | Phase Possibilities |
|:------------------:|:-----:|:----:|:----:|:-------:|:-------------------:|
| AC-480VLL-3Ph-60Hz | 3 | 480 | - | US | ABC |
| AC-480VLL-1Ph-60Hz | 2 | 480 | - | US | AB, BC, AC |
""" .


            

URI: pub:electricalwiringv2-p3


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:electricalwiringv2-p3 doc:title "3-Phase 4-Wire (LLLN) 347V/600V Wye" ;
    rdfs:comment """
A 3-phase, 4-Wire, 347V/600V Wye transformer, the 3 AC electricity services it is capable of providing, and their associated mediums.

![3-Phase 4-Wire (LLLN) 347V/600V Wye](figures/Figure_10_3.svg)

| Medium | # wires | L-L | L-N | Countries | Phase Possibilities |
|:------------------:|:-----:|:----:|:----:|:-------:|:-------------------:|
| AC-600VLL-347VLN-3Ph-60Hz | 3 | 600 | 347 | US, Canada | ABCN |
| AC-600VLL-1Ph-60Hz | 2 | 600 | - | US, Canada | AB, BC, AC |
| AC-347VLN-1Ph-60Hz | 2 | - | 347 | US, Canada | AN, BN, CN |
""" .


            

URI: pub:electricalwiringv2-p4


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:electricalwiringv2-p4 doc:title "3-Phase 4-Wire (LLLN) 120V/208V/240V High Leg Delta" ;
    rdfs:comment """
A 3-Phase, 4-Wire, 120V/208V/240V High Leg Delta transformer, the 6 AC electricity services it is capable of providing, and their associated mediums.

![3-Phase 4-Wire (LLLN) 120V/208V/240V High Leg Delta](figures/Figure_10_4.svg)

| Medium | # wires | L-L | L-N | Countries | Phase Possibilities |
|:------------------:|:-----:|:----:|:----:|:-------:|:-------------------:|
| AC-240VLL-208VLN-120VLN-3Ph-60Hz | 4 | 240 | 208, 120 | US | ABCN |
| AC-240VLL-208VLN-120VLN-1Ph-60Hz | 4 | 240 | 208, 120 | US | ACN, BCN |
| AC-240VLL-120VLN-1Ph-60Hz | 3 | 240 | 120 | US | ABN |
| AC-240VLL-3Ph-60Hz | 3 | 240 | - | US | ABC |
| AC-240VLL-1Ph-60Hz | 2 | 240 | - | US | AB, BC, AC |
| AC-120VLN-1Ph-60Hz | 2 | - | 120 | US | AN, BN |
""" .


            

URI: pub:electricalwiringv2-p5


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:electricalwiringv2-p5 doc:title "3-Phase 4-Wire (LLLN) 120V/208V Wye" ;
    rdfs:comment """
A 3-phase, 4-wire 120V/208V Wye transformer, the 5 AC electricity services it is capable of providing, and their associated mediums.

![3-Phase 4-Wire (LLLN) 120V/208V Wye](figures/Figure_10_5.svg)

| Medium | # wires | L-L | L-N | Countries | Phase Possibilities |
|:------------------:|:-----:|:----:|:----:|:-------:|:-------------------:|
| AC-208VLL-120VLN-3Ph-60Hz | 4 | 208 | 120 | US, Canada | ABCN |
| AC-208VLL-120VLN-1Ph-60Hz | 4 | 208 | 120 | US, Canada | ABN, BCN, ACN |
| AC-208VLL-3Ph-60Hz | 3 | 208 | - | US, Canada | ABC |
| AC-208VLL-1Ph-60Hz | 2 | 208 | - | US, Canada | AB, BC, AC |
| AC-120VLN-1Ph-60Hz | 2 | - | 120 | US, Canada | AN, BN, CN |
""" .


            

URI: pub:electricalwiringv2-p6


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:electricalwiringv2-p6 doc:title "3-Phase 4-Wire (LLLN) 230V/400V Wye" ;
    rdfs:comment """
A 3-phase, 4-wire 230V/400V Wye transformer, the 5 AC electricity services it is capable of providing, and their associated mediums.

![3-Phase 4-Wire (LLLN) 230V/400V Wye](figures/Figure_10_6.svg)

| Medium | # wires | L-L | L-N | Countries | Phase Possibilities |
|:------------------:|:-----:|:----:|:----:|:-------:|:-------------------:|
| AC-400VLL-230VLN-3Ph-50Hz | 4 | 400 | 230 | EU | ABCN |
| AC-400VLL-230VLN-1Ph-50Hz | 4 | 400 | 230 | EU | ABN, BCN, ACN |
| AC-400VLL-3Ph-50Hz | 3 | 400 | - | EU | ABC |
| AC-400VLL-1Ph-50Hz | 2 | 400 | - | EU | AB, BC, AC |
| AC-230VLN-1Ph-50Hz | 3 | - | 230 | EU | AN, BN, CN |
""" .


            

URI: pub:electricalwiringv2-p7


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:electricalwiringv2-p7 doc:title "3-Phase 4-Wire (LLLN) 240V/415V Wye" ;
    rdfs:comment """
A 3-phase, 4-wire, 240V/415V Wye transformer, the 5 AC electricity services it is capable of providing, and their associated mediums.

![3-Phase 4-Wire (LLLN) 240V/415V Wye](figures/Figure_10_7.svg)

| Medium | # wires | L-L | L-N | Countries | Phase Possibilities |
|:------------------:|:-----:|:----:|:----:|:-------:|:-------------------:|
| AC-415VLL-240VLN-3Ph-50Hz| 4 | 415 | 240 | Australia | ABCN |
| AC-415VLL-240VLN-1Ph-50Hz | 3 | 415 | 240 | Australia | ABN, BCN, ACN |
| AC-415VLL-3Ph-50Hz | 3 | 415 | - | Australia | ABC |
| AC-415VLL-1Ph-50Hz | 2 | 415 | - | Australia | AB, BC, AC |
| AC-240VLN-1Ph-50Hz | 2 | - | 240 | Australia | AN, BN, CN |
""" .


            

URI: pub:enumerations


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@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#> .

pub:enumerations doc:subclauses ( s223:EnumerationKind s223:EnumerationKind-Aspect s223:EnumerationKind-Binary s223:EnumerationKind-DayOfWeek s223:EnumerationKind-Domain s223:EnumerationKind-ElectricalPhaseIdentifier s223:EnumerationKind-Numerical s223:EnumerationKind-Occupancy s223:EnumerationKind-ThermodynamicPhase s223:EnumerationKind-Role s223:EnumerationKind-Substance ) ;
    doc:title "ENUMERATIONS" ;
    rdfs:comment """Enumerations are sets of values that are closed (they cannot take on values outside of what is explicitly listed in the definition) and named (each value has a unique name). The values within an enumeration share a "kind," which communicates how the enumerations are intended to be used.

The standard uses enumerations to convey groups of useful values for describing attributes of things (e.g., Properties, `Equipment`).""" .


            

URI: pub:equipment


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@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#> .

pub:equipment doc:subclauses ( s223:Equipment pub:equipment-containment s223:contains s223:hasRole s223:hasPhysicalLocation s223:Sensor s223:Actuator s223:Controller ) ;
    doc:title "EQUIPMENT" ;
    rdfs:comment """
In common usage, terms like equipment and system have a variety of ambiguous and possibly conflicting interpretations. A semantic model is an attempt to eliminate such ambiguities and conflicts. `Equipment` and `System` have unique definitions and use cases in this ontology. Both concepts can be used to associate multiple pieces of `Equipment` with a higher-level concept. This association is accomplished using unique predicates. A new instance of `Equipment` can be associated with other `Equipment` using the relation `contains` (see {pub:equipment-containment}). Note that `Equipment` is `Connectable` (see {pub:connectedness}) and the relation `contains` implies physical containment. Alternatively, a `System` can be associated with one or more instances of `Equipment`, `System` or `Junction` using the relation `hasMember` (see {pub:system}). Note that `System` is not `Connectable` (see {pub:connectedness}), the relation `hasMember` does not imply physical containment.The decision of whether to model a higher-level concept as an Equipment or a System is a modeler’s choice.
""" .


            

URI: pub:equipment-containment


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:equipment-containment doc:title "Equipment Containment" ;
    rdfs:comment """
A piece of equipment can only contain other pieces of equipment. For example, a fan
can be contained by an air handling unit. The relation `contains` is used to describe
a piece of equipment containing another piece of equipment (see {s223:contains}). The
relationship `mapsTo` relates a `ConnectionPoint` of a contained `Equipment` to the
`ConnectionPoint` of a containing `Equipment` (see {s223:mapsTo}). For example, the
air inlet to a heating coil contained in a fan coil unit may map to the air inlet
of the fan coil unit. Any air connection to the fan coil unit inlet is supplying
air to the inlet of the heating coil as well.

Multiple pieces of equipment contained by the same piece of equipment may connect
to each other, however, they may not connect to equipment that are not also contained.
To indicate how a contained piece of equipment connects to an external piece of
equipment, the relationship `mapsTo` is used. `mapsTo` will relate the connection
point of a contained equipment to the connection point of the containing equipment,
then the connection point of the containing equipment may connect to the external
equipment.

It may be desirable for a piece of containing equipment to have a `Property` that
has a value representing something that is associated with a contained piece of
equipment. For example, consider a fan coil unit that contains a fan and a coil.
The fan may have a `Property` that represents the speed of the fan. To make this fan
speed visible as a `Property` of the fan coil unit, a fan speed `Property` would be
added to the fan coil unit and its value would be an internal reference
(see {s223:hasInternalReference}) to the speed `Property` of the contained motor.
""" .


            

URI: pub:g36components


@prefix doc: <http://sample.org/doc#> .
@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix pub: <pub:> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:g36components doc:subclauses ( g36:Damper g36:DamperAnnotation g36:TwoPositionDamper g36:TwoPositionDamperAnnotation g36:HotWaterCoil g36:HotWaterCoilAnnotation g36:ElectricHeatingCoil g36:ElectricHeatingCoilAnnotation g36:HotWaterValve g36:HotWaterValveAnnotation g36:ChilledWaterCoil g36:ChilledWaterCoilAnnotation g36:ChilledWaterValve g36:ChilledWaterValveAnnotation g36:Zone g36:ZoneAnnotation g36:ZoneGroup g36:ZoneGroupAnnotation g36:Fan g36:FanAnnotation g36:FanWithVFD g36:FanWithVFDAnnotation ) ;
    doc:title "Model Components" ;
    rdfs:comment """
This section describes the classes representing common components used in this extension.
These components are not directly defined within Section 4 of Guideline 36, but are shared between the many systems described.
For example, g36:VAVTerminalCoolingOnly (see {g36:VAVTerminalCoolingOnly}),
g36:VAVTerminalWithReheat (see {g36:VAVTerminalWithReheat}),
g36:FanPoweredTerminal (see {g36:FanPoweredTerminal}),
g36:DualDuctTerminalWithInletSensors (see {g36:DualDuctTerminalWithInletSensors}),
and g36:DualDuctTerminalWithDischargeSensor (see {g36:DualDuctTerminalWithDischargeSensor})
all share requirements for what properties a Zone must have.
The Guideline 36 classes defined in subsequent sections are composed of the components described in Sections B1.1 through B1.22.
""" .


            

URI: pub:physical-space


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix s223: <http://data.ashrae.org/standard223#> .

pub:physical-space doc:subclauses ( s223:PhysicalSpace s223:encloses s223:OutdoorPhysicalSpace ) ;
    doc:title "Physical Space" .


            

URI: pub:property_value


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix qudt: <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#> .

pub:property_value doc:subclauses ( s223:Property s223:ActuatableProperty s223:ObservableProperty s223:EnumerableProperty s223:QuantifiableProperty s223:QuantifiableActuatableProperty s223:QuantifiableObservableProperty s223:EnumeratedObservableProperty s223:EnumeratedActuatableProperty s223:hasValue qudt:hasUnit qudt:hasQuantityKind s223:hasAspect s223:ofSubstance s223:ofMedium s223:ofConstituent s223:composedOf s223:ExternalReference s223:hasExternalReference s223:hasInternalReference s223:isInternalReferenceOf ) ;
    doc:title "PROPERTIES AND VALUES" ;
    rdfs:comment "Things have properties, and properties have values." .


            

URI: pub:purpose


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:purpose doc:title "PURPOSE" ;
    rdfs:comment "The purpose of this standard is to define formal knowledge concepts and a methodology to apply them to create interoperable, machine-readable semantic frameworks for representing building automation and control data, and other building system information." .


            

URI: pub:reference-equipment-models


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@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#> .

pub:reference-equipment-models doc:subclauses ( s223:AirHandlingUnit s223:AirHeatExchanger s223:Battery s223:Boiler s223:ChilledBeam s223:Chiller s223:ClothesWasher s223:CoffeeMaker s223:Coil s223:Compressor s223:Computer s223:ComputerPrinter s223:CoolingTower s223:CopyMachine s223:Damper s223:Dishwasher s223:Door s223:ElectricityBreaker s223:ElectricClothesDryer s223:ElectricCooktop s223:ElectricEnergyConverter s223:ElectricityMeter s223:ElectricityOutlet s223:ElectricOven s223:ElectricResistanceElement s223:ElectricWaterDispenser s223:ElectronicDisplay s223:Elevator s223:Escalator s223:EthernetSwitch s223:EthernetPort s223:Fan s223:FanCoilUnit s223:FiberEthernetOutlet s223:Filter s223:FlushToilet s223:Freezer s223:FumeHood s223:Furnace s223:Generator s223:HeatPump s223:Humidifier s223:Humidistat s223:HydronicHeatExchanger s223:IceMaker s223:Luminaire s223:MicrowaveOven s223:Motor s223:PhotovoltaicModule s223:PowerOverEthernetSwitch s223:PowerOverEthernetPort s223:Pump s223:RadiantHeater s223:Radiator s223:Refrigerator s223:RFOutlet s223:Sink s223:SolarThermalCollector s223:SteamInjector s223:TerminalUnit s223:ThermalEnergyStorageUnit s223:Thermostat s223:Turbine s223:USBOutlet s223:Valve s223:VariableFrequencyDrive s223:WaterOutlet s223:Window s223:WindowShade s223:WiredEthernetOutlet ) ;
    doc:title "REFERENCE FOR EQUIPMENT" ;
    rdfs:comment "This section contains component model templates for equipment that is commonly found in buildings." .


            

URI: pub:root


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:root a doc:Document ;
    doc:subclauses ( pub:purpose pub:scope pub:definitions pub:conceptual-framework pub:equipment pub:connection pub:system pub:space pub:zone pub:enumerations pub:property_value pub:reference-equipment-models pub:AnnexA pub:AnnexB ) ;
    rdfs:comment """**Semantic Data Model for Analytics and Automation Applications in Buildings**

**(This foreword is not part of this standard. It is merely informative and does not contain requirements necessary for conformance to the standard. It has not been processed according to the ANSI requirements for a standard and may contain material that has not been subject to public review or a consensus process. Unresolved objectors on informative material are not offered the right to appeal at ASHRAE or ANSI.)**

**FOREWORD**

*The motivation for this standard is to facilitate the deployment and use of software tools that leverage the data available from
building automation systems to improve building system operation in a variety of ways. This standard builds upon standards
and tools developed by the World Wide Web Consortium (W3C). Using those general tools, this standard defines modeling constructs for
use in creating machine-readable representations of building systems, the building spaces that they serve, and the measurement
and control points used to provide a safe and comfortable environment for the building occupants. The result is a searchable
knowledge graph that can be used to automate the data mapping and configuration needed to deploy analytical, management, and control
tools for the built environment.*

*Additional material is available at [http://open223.info](http://open223.info) that may be helpful in using this standard including:*

- *An online user’s guide;*
- *Example models;*
- *A query interface to try generating queries of the example models; and*
- *Tools for exploring the Standard 223 ontology.*""" .


            

URI: pub:scope


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:scope doc:title "SCOPE" ;
    rdfs:comment """This standard provides a comprehensive way to apply semantic formalisms to represent the context of building system data and relationships between the associated building mechanical system components so that software applications can find and understand the information in an automated way. It is intended to facilitate the development and implementation of building analytics tools and enterprise knowledge applications that can implement many building system functions, including:

(a) automated fault detection and diagnostics,
(b) building system commissioning,
(c) digital twins,
(d) optimization of energy use, and
(e) smart grid interactions.
""" .


            

URI: pub:space


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

pub:space doc:subclauses ( pub:physical-space pub:domain-space ) ;
    doc:title "SPACE" ;
    rdfs:comment """
There are two types of spaces: `PhysicalSpace`and `DomainSpace`. `PhysicalSpace`s represent the building from the architectural and occupant perspective. A `PhysicalSpace` may represent a room (e.g., an office or conference room), a part of a room (e.g., a foyer), a collection of rooms (e.g., a floor or the entire building), or any other physical region in a building (e.g., a patio or a roof), or a whole campus.

A `DomainSpace` is a subclass of `Connectable` (see {s223:Connectable}) that represents some portion of a `PhysicalSpace` that is affected by a building service associated with a particular domain (e.g., HVAC, lighting, see {s223:EnumerationKind-Domain}). `DomainSpace`s can be viewed as the endpoints of building services.

`DomainSpace`s can represent an entire `PhysicalSpace` or a portion of a `PhysicalSpace`, and thus `PhysicalSpace`s enclose `DomainSpace`s. An instance of a `PhysicalSpace` may enclose `DomainSpace`s from different domains, and may also enclose multiple `DomainSpace`s of the same domain. For example, a `PhysicalSpace` may represent an office that `encloses` a single HVAC `DomainSpace` and multiple lighting `DomainSpace`s. This would indicate a single HVAC service is provided to the office, along with multiple lighting services (e.g., one that provides lighting to the area of the office that receives daylight, and another that provides lighting to the area of the office that does not receive daylight). Multiple `DomainSpace`s of the same domain may overlap. For example, a `DomainSpace` affected by lighting devices that provide general lighting service to a room may overlap with the  `DomainSpace` affected by the lighting devices that provide emergency lighting service to a room.""" .


            

URI: pub:system


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@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#> .

pub:system doc:subclauses ( s223:System s223:hasMember s223:hasBoundaryConnectionPoint s223:hasOptionalConnectionPoint ) ;
    doc:title "SYSTEM" ;
    rdfs:comment """In common usage, terms like equipment and system have a variety of ambiguous and possibly conflicting interpretations. A semantic model is an attempt to eliminate such ambiguities and conflicts. `Equipment` and `System` have unique definitions and use cases in this ontology. Both concepts can be used to associate multiple pieces of `Equipment` with a higher-level concept. This association is accomplished using unique predicates. A new instance of `Equipment` can be associated with other `Equipment` using the relation `contains` (see {pub:equipment-containment}). Note that `Equipment` is `Connectable` (see {pub:connectedness}) and the relation `contains` implies physical containment. Alternatively, a `System` can be associated with one or more instances of `Equipment`, `System` or `Junction` using the relation `hasMember` (see {pub:system}). Note that `System` is not `Connectable` (see {pub:connectedness}), the relation `hasMember` does not imply physical containment.The decision of whether to model a higher-level concept as an Equipment or a System is a modeler’s choice.
""" .


            

URI: pub:zone


@prefix doc: <http://sample.org/doc#> .
@prefix pub: <pub:> .
@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#> .

pub:zone doc:subclauses ( s223:Zone s223:hasDomainSpace s223:hasZone ) ;
    doc:title "ZONE" ;
    rdfs:comment """
    A `Zone` is a logical grouping of one or more `DomainSpace`s and/or `Zone`s of a specific domain for some building service or control-related purpose. Multiple `Zone`s of the same domain may overlap. For example, a `Zone` that defines `DomainSpace`s that are subject to an occupancy-control strategy may overlap with a `Zone` that defines `DomainSpace`s that are subject to a supervisory scheduled-control strategy.""" .


            

URI: c14n206


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] rdfs:comment "Every `Property` must have a comment." ;
    sh:path rdfs:comment ;
    sh:sparql [ a sh:SPARQLConstraint ;
            sh:message "s223: {$this} must have an rdfs:comment" ;
            sh:prefixes ns6: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}) .
}
""" ] .


            

URI: c14n417


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] rdfs:comment "Every `Property` must have a label." ;
    sh:path rdfs:label ;
    sh:sparql [ a sh:SPARQLConstraint ;
            sh:message "s223: {$this} must have an rdfs:label" ;
            sh:prefixes ns6: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}) .
}
""" ] .


            

URI: c14n210


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    rdfs:comment "If an instance of s223:AirHandlingUnit matches the constraints defined by g36:SingleZoneVAVAirHandlingUnit-WithReliefDamperFan, it will be declared as an instance of that class." ;
    sh:condition g36:SingleZoneVAVAirHandlingUnit-WithReliefDamper ;
    sh:object g36:SingleZoneVAVAirHandlingUnit-WithReliefDamper ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n205


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    rdfs:comment "If an instance of `Zone` matches the constraints defined by g36:ZoneGroup, it will be declared as an instance of that class." ;
    sh:condition g36:ZoneGroup ;
    sh:object g36:ZoneGroup ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n1011


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 shall have the Domain HVAC using the relation hasDomain." ;
    sh:hasValue s223:Domain-HVAC ;
    sh:message "g36: A ZoneGroup shall have the Domain HVAC using the relation hasDomain." ;
    sh:minCount 1 ;
    sh:path s223:hasDomain .


            

URI: c14n313


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 shall contain at least one Zone using the relation contains." ;
    sh:class g36:Zone ;
    sh:message "g36: A ZoneGroup shall contain at least one Zone using the relation contains." ;
    sh:minCount 1 ;
    sh:path s223:contains .


            

URI: c14n284


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    rdfs:comment "If an instance of `Zone` matches the constraints defined by g36:Zone, it will be declared as an instance of that class." ;
    sh:condition g36:Zone ;
    sh:object g36:Zone ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n1031


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "A Zone shall have at least a zone CO2 concentration property using the relation hasProperty, if applicable control is used." ;
    sh:message "g36: A Zone shall have at least a zone CO2 concentration property using the relation hasProperty, if applicable control is used." ;
    sh:minCount 1 ;
    sh:path s223:hasProperty ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
            sh:node [ sh:property [ sh:hasValue quantitykind:DimensionlessRatio ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path qudt:hasQuantityKind ],
                        [ sh:hasValue s223:Constituent-CO2 ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path s223:ofConstituent ] ] ] ;
    sh:severity sh:Info .


            

URI: c14n1081


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 shall have at least one binary zone occupancy property using the relation hasProperty" ;
    sh:message "g36: A Zone shall have at least one binary zone occupancy property using the relation hasProperty" ;
    sh:minCount 1 ;
    sh:path s223:hasProperty ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:EnumeratedObservableProperty ;
            sh:node [ sh:property [ sh:class s223:EnumerationKind-Occupancy ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path s223:hasEnumerationKind ] ] ] ;
    sh:severity sh:Info .


            

URI: c14n238


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "A Zone shall have a zone temperature setpoint adjustment property using the relation hasProperty, if applicable." ;
    sh:message "g36: A Zone shall have a zone temperature setpoint adjustment property using the relation hasProperty, if applicable." ;
    sh:minCount 1 ;
    sh:path s223:hasProperty ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
            sh:node [ sh:property [ sh:hasValue quantitykind:Temperature ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path qudt:hasQuantityKind ],
                        [ sh:hasValue s223:Aspect-Delta ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path s223:hasAspect ] ] ] ;
    sh:qualifiedValueShapesDisjoint true ;
    sh:severity sh:Info .


            

URI: c14n902


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 shall have at least one Domain-HVAC using the relation hasDomain. " ;
    sh:hasValue s223:Domain-HVAC ;
    sh:message "g36: A Zone shall have at least one Domain-HVAC using the relation hasDomain. " ;
    sh:minCount 1 ;
    sh:path s223:hasDomain .


            

URI: c14n95


@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 Zone shall have at least one window switch on-off property using the relation hasProperty." ;
    sh:message "g36: A Zone shall have at least one window switch on-off property using the relation hasProperty." ;
    sh:minCount 1 ;
    sh:path s223:hasProperty ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:EnumeratedObservableProperty ;
            sh:node [ sh:property [ sh:class s223:Binary-OnOff ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path s223:hasEnumerationKind ],
                        [ rdfs:comment "Property shall be measured at a window." ;
                            sh:class s223:Window ;
                            sh:path [ sh:alternativePath ( ( [ sh:inversePath s223:observes ] s223:hasObservationLocation ) [ sh:inversePath s223:hasProperty ] ) ] ] ] ] ;
    sh:severity sh:Info .


            

URI: c14n957


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    rdfs:comment "If an instance of s223:SingleDuctTerminal matches the constraints defined by g36:VAVTerminalWithReheat, it will be declared as an instance of that class." ;
    sh:condition g36:VAVTerminalWithReheat ;
    sh:object g36:VAVTerminalWithReheat ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n214


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "The VAVTerminalWithReheat OutletConnectionPoint shall have at least one discharge air temperature property using the relation hasProperty." ;
    sh:message "g36: The VAVTerminalWithReheat OutletConnectionPoint shall have at least one discharge air temperature property using the relation hasProperty." ;
    sh:minCount 1 ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:minCount 1 ;
                            sh:path s223:hasProperty ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                    sh:node [ sh:property [ sh:hasValue quantitykind:Temperature ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path qudt:hasQuantityKind ] ] ] ] ] ] .


            

URI: c14n581


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "The VAVTerminalWithReheat connects to Domain Space in a g36:Zone" ;
    sh:class s223:DomainSpace ;
    sh:message "g36: The VAVTerminalWithReheat connects to Domain Space in a g36:Zone" ;
    sh:minCount 1 ;
    sh:node [ sh:property [ sh:class g36:Zone ;
                    sh:minCount 1 ;
                    sh:path [ sh:inversePath s223:contains ] ] ] ;
    sh:path s223:connectedTo .


            

URI: c14n593


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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 "The VAVTerminalWithReheat shall contain at least one hot water coil or at least one electric heating coil for heating using the relation contains." ;
    sh:message "g36: The VAVTerminalWithReheat shall contain at least one hot water coil or at least one electric heating coil for heating using the relation contains." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:or ( [ sh:class g36:HotWaterCoil ] [ sh:class g36:ElectricHeatingCoil ] ) ] .


            

URI: c14n634


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    rdfs:comment "If an instance of s223:SingleDuctTerminal matches the constraints defined by g36:VAVTerminalCoolingOnly, it will be declared as an instance of that class." ;
    sh:condition g36:VAVTerminalCoolingOnly ;
    sh:object g36:VAVTerminalCoolingOnly ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n203


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "The VAVTerminalCoolingOnly OutletConnectionPoint shall have at least one discharge airflow property using the relation hasProperty." ;
    sh:message "g36: The VAVTerminalCoolingOnly OutletConnectionPoint shall have at least one discharge airflow property using the relation hasProperty." ;
    sh:minCount 1 ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:path s223:hasProperty ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                    sh:node [ sh:property [ sh:hasValue quantitykind:VolumeFlowRate ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path qudt:hasQuantityKind ] ] ] ] ] ] .


            

URI: c14n23


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "The VAVTerminalCoolingOnly shall contain exactly one Damper using the relation contains." ;
    sh:message "g36: The VAVTerminalCoolingOnly shall contain exactly one Damper using the relation contains." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:Damper ] .


            

URI: c14n509


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "The VAVTerminalCoolingOnly connects to Domain Space in a g36:Zone" ;
    sh:class s223:DomainSpace ;
    sh:message "g36: VAVTerminalCoolingOnly connects to Domain Space in a g36:Zone" ;
    sh:minCount 1 ;
    sh:node [ sh:property [ sh:class g36:Zone ;
                    sh:minCount 1 ;
                    sh:path [ sh:inversePath s223:contains ] ] ] ;
    sh:path s223:connectedTo .


            

URI: c14n855


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    rdfs:comment "If an instance of s223:Damper matches the constraints defined by g36:TwoPositionDamper, it will be declared as an instance of that class." ;
    sh:condition g36:TwoPositionDamper ;
    sh:object g36:TwoPositionDamper ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n915


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 Two Position Damper shall have at least one open-and-close damper command property using the relation hasProperty." ;
    sh:message "g36: A Two Position Damper shall have at least one open-and-close damper command property using the relation hasProperty." ;
    sh:minCount 1 ;
    sh:path s223:hasProperty ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:EnumeratedActuatableProperty ;
            sh:node [ sh:property [ sh:hasValue s223:Binary-Position ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path s223:hasAspect ],
                        [ sh:class s223:EnumerationKind-Binary ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path s223:hasEnumerationKind ] ] ] .


            

URI: c14n153


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    rdfs:comment "If an instance of s223:AirHandlingUnit matches the constraints defined by g36:SingleZoneVAVAirHandlingUnit, it will be declared as an instance of that class." ;
    sh:condition g36:SingleZoneVAVAirHandlingUnit ;
    sh:object g36:SingleZoneVAVAirHandlingUnit ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n1060


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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:TripleRule ;
    rdfs:comment "If an instance of s223:AirHandlingUnit matches the constraints defined by g36:SingleZoneVAVAirHandlingUnit and has a return fan, it will be declared as an instance of that class." ;
    sh:condition [ sh:property [ rdfs:comment "For the case where the SingleZoneVAVAirHandlingUnit has both a Return air damper and a Return fan, the SingleZoneVAVAirHandlingUnit must have a Return fan." ;
                    sh:path s223:contains ;
                    sh:qualifiedMaxCount 1 ;
                    sh:qualifiedMinCount 1 ;
                    sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
                            sh:node [ sh:property [ sh:path s223:hasRole ;
                                            sh:qualifiedMinCount 1 ;
                                            sh:qualifiedValueShape [ sh:hasValue s223:Role-Return ] ] ] ] ] ],
        g36:SingleZoneVAVAirHandlingUnit ;
    sh:object g36:SingleZoneVAVAirHandlingUnit-WithReturnFan ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n664


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "For the case where the SingleZoneVAVAirHandlingUnit has a return fan, the SingleZoneVAVAirHandlingUnit must contain a return fan." ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
            sh:node [ sh:property [ sh:hasValue s223:Role-Return ;
                            sh:minCount 1 ;
                            sh:path s223:hasRole ] ] ] .


            

URI: c14n931


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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 "For the case where the SingleZoneVAVAirHandlingUnit has a return fan, the SingleZoneVAVAirHandlingUnit must contain an exhaust air damper with either an analog or two-position damper command property." ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:node [ sh:property [ sh:hasValue s223:Role-Exhaust ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path s223:hasRole ] ] ;
            sh:or ( [ sh:class g36:Damper ] [ sh:class g36:TwoPositionDamper ] ) ] .


            

URI: c14n722


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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:TripleRule ;
    rdfs:comment "If an instance of s223:AirHandlingUnit matches the constraints defined by g36:SingleZoneVAVAirHandlingUnit and has a relief fan, it will be declared as an instance of this class." ;
    sh:condition [ sh:property [ sh:path s223:contains ;
                    sh:qualifiedMaxCount 1 ;
                    sh:qualifiedMinCount 1 ;
                    sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
                            sh:node [ sh:property [ sh:path s223:hasRole ;
                                            sh:qualifiedMinCount 1 ;
                                            sh:qualifiedValueShape [ sh:hasValue s223:Role-Relief ] ] ] ] ] ],
        g36:SingleZoneVAVAirHandlingUnit ;
    sh:object g36:SingleZoneVAVAirHandlingUnit-WithReliefFan ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n257


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "For the case where the SingleZoneVAVAirHandlingUnit has both a relief air damper and a relief fan, the SingleZoneVAVAirHandlingUnit must have a relief air damper with a two-position damper command property." ;
    sh:path s223:contains ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:TwoPositionDamper ;
            sh:node [ sh:property [ sh:path s223:hasRole ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:hasValue s223:Role-Relief ] ] ] ] .


            

URI: c14n490


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "For the case where the SingleZoneVAVAirHandlingUnit has both a relief air damper and a relief fan, the SingleZoneVAVAirHandlingUnit must have a relief fan." ;
    sh:path s223:contains ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
            sh:node [ sh:property [ sh:path s223:hasRole ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:hasValue s223:Role-Relief ] ] ] ] .


            

URI: c14n76


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "For the case where the SingleZoneVAVAirHandlingUnit has both a relief air damper and a relief fan, the SingleZoneVAVAirHandlingUnit must be connectedTo at least one VAV, which is connectedTo at least one HVAC DomainSpace or Zone, which has a building static pressure property." ;
    sh:path ( [ sh:oneOrMorePath s223:connectedTo ] sh:zeroOrOnePath [ sh:inversePath s223:hasDomainSpace ] ) ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:node [ sh:property [ sh:path s223:hasProperty ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                    sh:node [ sh:property [ sh:hasValue quantitykind:Pressure ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path qudt:hasQuantityKind ] ] ] ],
                        [ sh:hasValue s223:Domain-HVAC ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path s223:hasDomain ] ] ] .


            

URI: c14n13


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "the SingleZoneVAVAirHandlingUnit contains a relief air damper with a modulating actuator." ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:Damper ;
            sh:node [ sh:property [ sh:minCount 1 ;
                            sh:path s223:hasProperty ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class s223:QuantifiableActuatableProperty ;
                                    sh:node [ sh:property [ sh:hasValue quantitykind:DimensionlessRatio ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path qudt:hasQuantityKind ],
                                                [ sh:hasValue s223:Binary-Position ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path s223:hasAspect ] ] ] ],
                        [ sh:hasValue s223:Role-Relief ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path s223:hasRole ] ] ] .


            

URI: c14n166


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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 "The SingleZoneVAVAirHandlingUnit shall contain at least one HotWaterCoil or at least one ElectricHeatingCoil for heating using the relation contains." ;
    sh:message "g36: The SingleZoneVAVAirHandlingUnit shall contain at least one HotWaterCoil or at least one ElectricHeatingCoil for heating using the relation contains." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:or ( [ sh:class g36:HotWaterCoil ] [ sh:class g36:ElectricHeatingCoil ] ) ] .


            

URI: c14n220


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "The SingleZoneVAVAirHandlingUnit shall have at least one outdoor air damper using the relation contains." ;
    sh:message "g36: The SingleZoneVAVAirHandlingUnit shall have at least one outdoor air damper using the relation contains." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:Damper ;
            sh:node [ sh:property [ sh:minCount 1 ;
                            sh:path s223:hasRole ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:hasValue s223:Role-OutdoorAirIntake ] ] ] ] .


            

URI: c14n438


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "A SingleZoneVAVAirHandlingUnit OutletConnectionPoint shall have at least one supply air temperature property using the relation hasProperty." ;
    sh:message "g36: A SingleZoneVAVAirHandlingUnit OutletConnectionPoint shall have at least one supply air temperature property using the relation hasProperty." ;
    sh:minCount 1 ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:minCount 1 ;
                            sh:path s223:hasProperty ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                    sh:node [ sh:property [ sh:hasValue quantitykind:Temperature ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path qudt:hasQuantityKind ],
                                                [ sh:hasValue s223:Role-Supply ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path s223:hasAspect ] ] ] ] ] ] .


            

URI: c14n474


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "The SingleZoneVAVAirHandlingUnit shall have at least one return air damper using the relation contains." ;
    sh:message "g36: The SingleZoneVAVAirHandlingUnit shall have at least one return air damper using the relation contains." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:Damper ;
            sh:node [ sh:property [ sh:minCount 1 ;
                            sh:path s223:hasRole ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:hasValue s223:Role-Return ] ] ] ] .


            

URI: c14n661


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "The SingleZoneVAVAirHandlingUnit shall contain at least one supply fan with a VFD that has the role Supply using the relation contains." ;
    sh:message "g36: The SingleZoneVAVAirHandlingUnit shall contain at least one supply fan with a VFD that has the role Supply using the relation contains." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
            sh:node [ sh:property [ sh:hasValue s223:Role-Supply ;
                            sh:path s223:hasRole ] ] ] .


            

URI: c14n999


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "The  SingleZoneVAVAirHandlingUnit shall contain at least one ChilledWaterCoil for cooling using the relation contains." ;
    sh:message "g36: The  SingleZoneVAVAirHandlingUnit shall contain at least one ChilledWaterCoil for cooling using the relation contains." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:ChilledWaterCoil ] .


            

URI: c14n1076


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    rdfs:comment "If an instance of s223:AirHandlingUnit matches the constraints defined by g36:MultipleZoneVAVAirHandlingUnit, it will be declared as an instance of that class." ;
    sh:condition g36:MultipleZoneVAVAirHandlingUnit ;
    sh:object g36:MultipleZoneVAVAirHandlingUnit ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n567


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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:TripleRule ;
    rdfs:comment "If an instance of s223:AirHandlingUnit matches the constraints defined by g36:MultipleZoneVAVAirHandlingUnit and has a return fan, it will be declared as an instance of this class." ;
    sh:condition [ sh:property [ rdfs:comment "For units with a return fan, the MultipleZoneVAVAirHandlingUnit must contain a return fan." ;
                    sh:minCount 1 ;
                    sh:path s223:contains ;
                    sh:qualifiedMinCount 1 ;
                    sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
                            sh:node [ sh:property [ sh:hasValue s223:Role-Return ;
                                            sh:minCount 1 ;
                                            sh:path s223:hasRole ] ] ] ] ],
        g36:MultipleZoneVAVAirHandlingUnit ;
    sh:object g36:MultipleZoneVAVAirHandlingUnit-WithReturnFan ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n1096


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "For units with a return fan, if airflow tracking logic is used, the OutletConnectionPoint of the supply fan in the MultipleZoneVAVAirHandlingUnit must have a supply airflow property." ;
    sh:message "g36: For units with a return fan, if airflow tracking logic is used, the OutletConnectionPoint of the supply fan in the MultipleZoneVAVAirHandlingUnit must have a supply airflow property." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
            sh:node [ sh:property [ sh:minCount 1 ;
                            sh:path s223:hasConnectionPoint ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                                    sh:node [ sh:property [ sh:minCount 1 ;
                                                    sh:path s223:hasProperty ;
                                                    sh:qualifiedMinCount 1 ;
                                                    sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                                            sh:node [ sh:property [ sh:hasValue quantitykind:VolumeFlowRate ;
                                                                            sh:maxCount 1 ;
                                                                            sh:minCount 1 ;
                                                                            sh:path qudt:hasQuantityKind ],
                                                                        [ sh:hasValue s223:Role-Supply ;
                                                                            sh:maxCount 1 ;
                                                                            sh:minCount 1 ;
                                                                            sh:path s223:hasAspect ] ] ] ] ] ] ] ],
                [ sh:property [ sh:hasValue s223:Role-Supply ;
                            sh:path s223:hasRole ] ] ] .


            

URI: c14n325


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "For units with a return fan, if direct building pressure logic is used, the OutletConnectionPoint of the return fan in the MultipleZoneVAVAirHandlingUnit must have a return fan discharge static pressure property." ;
    sh:message "g36: For units with a return fan, if direct building pressure logic is used, the OutletConnectionPoint of the return fan in the MultipleZoneVAVAirHandlingUnit must have a return fan discharge static pressure property." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
            sh:node [ sh:property [ sh:minCount 1 ;
                            sh:path s223:hasConnectionPoint ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                                    sh:node [ sh:property [ sh:minCount 1 ;
                                                    sh:path s223:hasProperty ;
                                                    sh:qualifiedMinCount 1 ;
                                                    sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                                            sh:node [ sh:property [ sh:hasValue quantitykind:Pressure ;
                                                                            sh:maxCount 1 ;
                                                                            sh:minCount 1 ;
                                                                            sh:path qudt:hasQuantityKind ],
                                                                        [ sh:hasValue s223:Role-Return ;
                                                                            sh:maxCount 1 ;
                                                                            sh:minCount 1 ;
                                                                            sh:path s223:hasAspect ] ] ] ] ] ] ] ],
                [ sh:property [ sh:hasValue s223:Role-Return ;
                            sh:path s223:hasRole ] ] ] .


            

URI: c14n538


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "For units with a return fan, if direct building pressure logic is used, the MultipleZoneVAVAirHandlingUnit must be connectedTo at least one VAV, which connectedTo at least one HVAC DomainSpace, which is contained by at least one Zone, which has a building static pressure property." ;
    sh:message "g36: For units with a return fan, if direct building pressure logic is used, the MultipleZoneVAVAirHandlingUnit must be connectedTo at least one VAV, which connectedTo at least one HVAC DomainSpace, which is contained by at least one Zone, which has a building static pressure property." ;
    sh:minCount 1 ;
    sh:path ( s223:connectedTo s223:connectedTo [ sh:inversePath s223:contains ] s223:hasProperty ) ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
            sh:node [ sh:property [ sh:hasValue quantitykind:Pressure ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path qudt:hasQuantityKind ] ] ] .


            

URI: c14n690


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "For units with a return fan, if airflow tracking logic is used, the OutletConnectionPoint of the return fan in the MultipleZoneVAVAirHandlingUnit must have a return airflow property." ;
    sh:message "g36: For units with a return fan, if airflow tracking logic is used, the OutletConnectionPoint of the return fan in the MultipleZoneVAVAirHandlingUnit must have a return airflow property." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
            sh:node [ sh:property [ sh:minCount 1 ;
                            sh:path s223:hasConnectionPoint ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
                                    sh:node [ sh:property [ sh:minCount 1 ;
                                                    sh:path s223:hasProperty ;
                                                    sh:qualifiedMinCount 1 ;
                                                    sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                                            sh:node [ sh:property [ sh:hasValue quantitykind:VolumeFlowRate ;
                                                                            sh:maxCount 1 ;
                                                                            sh:minCount 1 ;
                                                                            sh:path qudt:hasQuantityKind ],
                                                                        [ sh:hasValue s223:Role-Return ;
                                                                            sh:maxCount 1 ;
                                                                            sh:minCount 1 ;
                                                                            sh:path s223:hasAspect ] ] ] ] ] ] ] ],
                [ sh:property [ sh:hasValue s223:Role-Return ;
                            sh:path s223:hasRole ] ] ] .


            

URI: c14n841


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "For units with a return fan, the MultipleZoneVAVAirHandlingUnit must contain an exhaust air damper." ;
    sh:message "g36: For units with a return fan, the MultipleZoneVAVAirHandlingUnit must contain an exhaust air damper." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:Damper ;
            sh:node [ sh:property [ sh:hasValue s223:Role-Exhaust ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path s223:hasRole ] ] ] .


            

URI: c14n899


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "For units with a return fan, the MultipleZoneVAVAirHandlingUnit must contain a return fan." ;
    sh:message "g36: For units with a return fan, the MultipleZoneVAVAirHandlingUnit must contain a return fan." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
            sh:node [ sh:property [ sh:hasValue s223:Role-Return ;
                            sh:minCount 1 ;
                            sh:path s223:hasRole ] ] ] .


            

URI: c14n159


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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:TripleRule ;
    rdfs:comment "If an instance of s223:AirHandlingUnit matches the constraints defined by g36:MultipleZoneVAVAirHandlingUnit and has a relief fan, it will be declared as an instance of this class." ;
    sh:condition [ sh:property [ rdfs:comment "For units with both a relief air damper and a relief fan, the MultipleZoneVAVAirHandlingUnit must have a relief fan with a VFD." ;
                    sh:minCount 1 ;
                    sh:path s223:contains ;
                    sh:qualifiedMaxCount 1 ;
                    sh:qualifiedMinCount 1 ;
                    sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
                            sh:node [ sh:property [ sh:minCount 1 ;
                                            sh:path s223:hasRole ;
                                            sh:qualifiedMinCount 1 ;
                                            sh:qualifiedValueShape [ sh:hasValue s223:Role-Relief ] ] ] ] ] ],
        g36:MultipleZoneVAVAirHandlingUnit ;
    sh:object g36:MultipleZoneVAVAirHandlingUnit-WithReliefFan ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n1102


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "For units with both a relief air damper and a relief fan, the MultipleZoneVAVAirHandlingUnit must have a relief air damper with a two-position damper command property." ;
    sh:message "g36: For units with both a relief air damper and a relief fan, the MultipleZoneVAVAirHandlingUnit must have a relief air damper with a two-position damper command property." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:TwoPositionDamper ;
            sh:node [ sh:property [ sh:minCount 1 ;
                            sh:path s223:hasRole ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:hasValue s223:Role-Relief ] ] ] ] .


            

URI: c14n228


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "For units with both a relief air damper and a relief fan, the MultipleZoneVAVAirHandlingUnit must have a relief fan with a VFD." ;
    sh:message "g36: For units with both a relief air damper and a relief fan, the MultipleZoneVAVAirHandlingUnit must have a relief fan with a VFD." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
            sh:node [ sh:property [ sh:minCount 1 ;
                            sh:path s223:hasRole ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:hasValue s223:Role-Relief ] ] ] ] .


            

URI: c14n367


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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:TripleRule ;
    rdfs:comment "If an instance of s223:AirHandlingUnit matches the constraints defined by g36:MultipleZoneVAVAirHandlingUnit and has a relief damper, it will be declared as an instance of this class." ;
    sh:condition [ sh:property [ rdfs:comment "For units with actuated relief dampers but no relief fan, the MultipleZoneVAVAirHandlingUnit must contain a relief air damper with an analog damper command property." ;
                    sh:minCount 1 ;
                    sh:path s223:contains ;
                    sh:qualifiedMinCount 1 ;
                    sh:qualifiedValueShape [ sh:class g36:Damper ;
                            sh:node [ sh:property [ sh:hasValue s223:Role-Relief ;
                                            sh:maxCount 1 ;
                                            sh:minCount 1 ;
                                            sh:path s223:hasRole ] ] ] ] ],
        g36:MultipleZoneVAVAirHandlingUnit ;
    sh:object g36:MultipleZoneVAVAirHandlingUnit-WithReliefDamper ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n582


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "For units with actuated relief dampers but no relief fan, the MultipleZoneVAVAirHandlingUnit must be connectedTo at least one VAV, which connectedTo at least one HVAC DomainSpace, which is contained by at least one Zone, which has a building static pressure property." ;
    sh:path ( [ sh:oneOrMorePath s223:connectedTo ] sh:zeroOrOnePath [ sh:inversePath s223:hasDomainSpace ] ) ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:node [ sh:property [ sh:path s223:hasProperty ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                    sh:node [ sh:property [ sh:hasValue quantitykind:Pressure ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path qudt:hasQuantityKind ] ] ] ],
                        [ sh:hasValue s223:Domain-HVAC ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path s223:hasDomain ] ] ] .


            

URI: c14n864


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "For units with actuated relief dampers but no relief fan, the MultipleZoneVAVAirHandlingUnit must contain a relief air damper with an analog damper command property." ;
    sh:message "g36: For units with actuated relief dampers but no relief fan, the MultipleZoneVAVAirHandlingUnit must contain a relief air damper with an analog damper command property." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:Damper ;
            sh:node [ sh:property [ sh:hasValue s223:Role-Relief ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path s223:hasRole ] ] ] .


            

URI: c14n652


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    rdfs:comment "If an instance of s223:AirHandlingUnit matches the constraints defined by g36:MultipleZoneVAVAirHandlingUnit-OADandDP, it will be declared as an instance of that class." ;
    sh:condition g36:MultipleZoneVAVAirHandlingUnit-OADandDP ;
    sh:object g36:MultipleZoneVAVAirHandlingUnit-OADandDP ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n211


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "For units with a separate minimum outdoor air damper and DP sensor, MultipleZoneVAVAirHandlingUnit must contain a two-position outdoor air damper with a differential pressure property." ;
    sh:message "g36: For units with a separate minimum outdoor air damper and DP sensor, MultipleZoneVAVAirHandlingUnit must contain a two-position outdoor air damper with a differential pressure property." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:TwoPositionDamper ;
            sh:node [ sh:not [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasRole ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:hasValue s223:Role-Economizer ] ] ] ;
                    sh:property [ sh:minCount 1 ;
                            sh:path s223:hasRole ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:hasValue s223:Role-OutdoorAirIntake ] ],
                        [ sh:minCount 1 ;
                            sh:path s223:hasProperty ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                    sh:node [ sh:property [ sh:hasValue quantitykind:Pressure ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path qudt:hasQuantityKind ] ] ] ] ] ] .


            

URI: c14n158


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    rdfs:comment "If an instance of s223:AirHandlingUnit matches the constraints defined by g36:MultipleZoneVAVAirHandlingUnit-OADandAFMS, it will be declared as an instance of that class." ;
    sh:condition g36:MultipleZoneVAVAirHandlingUnit-OADandAFMS ;
    sh:object g36:MultipleZoneVAVAirHandlingUnit-OADandAFMS ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n200


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "For units with a separate minimum outdoor air damper and AFMS, MultipleZoneVAVAirHandlingUnit must contain a modulating outdoor air damper with a minimum airflow property." ;
    sh:message "g36: For units with a separate minimum outdoor air damper and AFMS, MultipleZoneVAVAirHandlingUnit must contain a modulating outdoor air damper with a minimum airflow property." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:Damper ;
            sh:node [ sh:not [ sh:property [ sh:minCount 1 ;
                                    sh:path s223:hasRole ;
                                    sh:qualifiedMinCount 1 ;
                                    sh:qualifiedValueShape [ sh:hasValue s223:Role-Economizer ] ] ] ;
                    sh:property [ sh:minCount 1 ;
                            sh:path s223:hasRole ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:hasValue s223:Role-OutdoorAirIntake ] ],
                        [ sh:minCount 1 ;
                            sh:path s223:hasProperty ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                    sh:node [ sh:property [ sh:minCount 1 ;
                                                    sh:path s223:hasAspect ;
                                                    sh:qualifiedMinCount 1 ;
                                                    sh:qualifiedValueShape [ sh:hasValue s223:Aspect-Minimum ] ],
                                                [ sh:hasValue quantitykind:VolumeFlowRate ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path qudt:hasQuantityKind ] ] ] ] ] ] .


            

URI: c14n139


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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:TripleRule ;
    rdfs:comment "If an instance of s223:AirHandlingUnit matches the constraints defined by g36:MultipleZoneVAVAirHandlingUnit and has a common economizer/minimum outdoor air damper, it will be declared as an instance of this class." ;
    sh:condition [ sh:property [ rdfs:comment "For units with a common economizer/minimum OA damper, must have exactly one economizer/minimum outdoor air damper." ;
                    sh:minCount 1 ;
                    sh:path s223:contains ;
                    sh:qualifiedMaxCount 1 ;
                    sh:qualifiedMinCount 1 ;
                    sh:qualifiedValueShape [ sh:class g36:Damper ;
                            sh:node [ sh:property [ sh:minCount 1 ;
                                            sh:path s223:hasRole ;
                                            sh:qualifiedMinCount 1 ;
                                            sh:qualifiedValueShape [ sh:hasValue s223:Role-Economizer ] ],
                                        [ sh:minCount 1 ;
                                            sh:path s223:hasRole ;
                                            sh:qualifiedMinCount 1 ;
                                            sh:qualifiedValueShape [ sh:hasValue s223:Role-OutdoorAirIntake ] ] ] ] ] ],
        g36:MultipleZoneVAVAirHandlingUnit ;
    sh:object g36:MultipleZoneVAVAirHandlingUnit-CommonDamper ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n800


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "Units with a common economizer/minimum OA damper, must have exactly one economizer/minimum outdoor air damper." ;
    sh:message "g36: Units with a common economizer/minimum OA damper, must have exactly one economizer/minimum outdoor air damper." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:Damper ;
            sh:node [ sh:property [ sh:minCount 1 ;
                            sh:path s223:hasRole ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:hasValue s223:Role-Economizer ] ],
                        [ sh:minCount 1 ;
                            sh:path s223:hasRole ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:hasValue s223:Role-OutdoorAirIntake ] ] ] ] .


            

URI: c14n848


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "For units with a common economizer/minimum OA damper, MultipleZoneVAVAirHandlingUnit InletConnectionPoint must have at least one outdoor airflow property." ;
    sh:message "g36: For units with a common economizer/minimum OA damper, MultipleZoneVAVAirHandlingUnit InletConnectionPoint must have at least one outdoor airflow property." ;
    sh:minCount 1 ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:minCount 1 ;
                            sh:path s223:hasProperty ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                    sh:node [ sh:property [ sh:minCount 1 ;
                                                    sh:path s223:hasAspect ;
                                                    sh:qualifiedMinCount 1 ;
                                                    sh:qualifiedValueShape [ sh:hasValue s223:Role-OutdoorAirIntake ] ],
                                                [ sh:hasValue quantitykind:VolumeFlowRate ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path qudt:hasQuantityKind ] ] ] ] ] ] .


            

URI: c14n1054


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "One MultipleZoneVAVAirHandlingUnit InletConnectionPoint shall have at least one return air temperature property using the relation hasProperty. " ;
    sh:message "g36: One MultipleZoneVAVAirHandlingUnit InletConnectionPoint shall have at least one return air temperature property using the relation hasProperty. " ;
    sh:minCount 1 ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:minCount 1 ;
                            sh:path s223:hasProperty ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                    sh:node [ sh:property [ sh:hasValue quantitykind:Temperature ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path qudt:hasQuantityKind ],
                                                [ sh:hasValue s223:Role-Return ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path s223:hasAspect ] ] ] ] ] ] .


            

URI: c14n350


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "One MultipleZoneVAVAirHandlingUnit OutletConnectionPoint shall have at least one supply air temperature property using the relation hasProperty." ;
    sh:message "g36: One MultipleZoneVAVAirHandlingUnit OutletConnectionPoint shall have at least one supply air temperature property using the relation hasProperty." ;
    sh:minCount 1 ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:minCount 1 ;
                            sh:path s223:hasProperty ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                    sh:node [ sh:property [ sh:hasValue quantitykind:Temperature ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path qudt:hasQuantityKind ],
                                                [ sh:hasValue s223:Role-Supply ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path s223:hasAspect ] ] ] ] ] ] .


            

URI: c14n372


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "One MultipleZoneVAVAirHandlingUnit InletConnectionPoint shall have at least one outdoor air temperature property using the relation hasProperty. " ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:minCount 1 ;
                            sh:path s223:hasProperty ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                    sh:node [ sh:property [ sh:hasValue s223:Role-OutdoorAirIntake ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path s223:hasAspect ],
                                                [ sh:hasValue quantitykind:Temperature ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path qudt:hasQuantityKind ] ] ] ] ] ] .


            

URI: c14n488


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "The MultipleZoneVAVAirHandlingUnit shall contain at least one return air damper using the relation contains." ;
    sh:message "g36: The MultipleZoneVAVAirHandlingUnit shall contain at least one return air damper using the relation contains." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:Damper ;
            sh:node [ sh:property [ sh:hasValue s223:Role-Return ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path s223:hasRole ] ] ] .


            

URI: c14n573


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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 "The  MultipleZoneVAVAirHandlingUnit shall contain at least one HotWaterCoil or at least one ElectricHeatingCoil for heating using the relation contains." ;
    sh:message "g36: The  MultipleZoneVAVAirHandlingUnit shall contain at least one HotWaterCoil or at least one ElectricHeatingCoil for heating using the relation contains." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:or ( [ sh:class g36:HotWaterCoil ] [ sh:class g36:ElectricHeatingCoil ] ) ] .


            

URI: c14n734


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "The MultipleZoneVAVAirHandlingUnit shall contain at least one supply fan with a VFD that has the role Supply using the relation contains" ;
    sh:message "g36: The MultipleZoneVAVAirHandlingUnit shall contain at least one supply fan with a VFD that has the role Supply using the relation contains" ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
            sh:node [ sh:property [ sh:hasValue s223:Role-Supply ;
                            sh:path s223:hasRole ] ] ] .


            

URI: c14n905


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "The MultipleZoneVAVAirHandlingUnit OutletConnectionPoint shall have at least one supply duct static pressure property using the relation hasProperty." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:minCount 1 ;
                            sh:path s223:hasProperty ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                    sh:node [ sh:property [ sh:hasValue quantitykind:Pressure ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path qudt:hasQuantityKind ],
                                                [ sh:hasValue s223:Role-Supply ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path s223:hasAspect ] ] ] ] ] ] .


            

URI: c14n906


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "The  MultipleZoneVAVAirHandlingUnit shall contain at least one ChilledWaterCoil for cooling using the relation contains." ;
    sh:message "g36: The  MultipleZoneVAVAirHandlingUnit shall contain at least one ChilledWaterCoil for cooling using the relation contains." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:ChilledWaterCoil ] .


            

URI: c14n655


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 HotWaterValve shall have at least one analog valve command property or at least two binary valve command properties using the relation hasProperty." ;
    sh:minCount 2 ;
    sh:path s223:hasProperty ;
    sh:qualifiedMinCount 2 ;
    sh:qualifiedValueShape [ sh:class s223:EnumeratedActuatableProperty ;
            sh:node [ sh:property [ sh:hasValue s223:EnumerationKind-Binary ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path s223:hasEnumerationKind ],
                        [ sh:hasValue s223:Binary-Position ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path s223:hasAspect ] ] ] .


            

URI: c14n980


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "A HotWaterValve shall have at least one analog valve command property or at least two binary valve command properties using the relation hasProperty." ;
    sh:minCount 1 ;
    sh:path s223:hasProperty ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:QuantifiableActuatableProperty ;
            sh:node [ sh:property [ sh:hasValue quantitykind:DimensionlessRatio ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path qudt:hasQuantityKind ],
                        [ sh:hasValue s223:Binary-Position ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path s223:hasAspect ] ] ] .


            

URI: c14n781


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    rdfs:comment "If an instance of s223:Valve matches the constraints defined by g36:HotWaterValve, it will be declared as an instance of that class." ;
    sh:condition g36:HotWaterValve,
        g36:HotWaterValveOrShape1 ;
    sh:object g36:HotWaterValve ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n67


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    rdfs:comment "If an instance of s223:HeatingCoil matches the constraints defined by g36:HotWaterCoil, it will be declared as an instance of that class." ;
    sh:condition g36:HotWaterCoil ;
    sh:object g36:HotWaterCoil ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n829


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "The HotWaterCoil shall be connected to a HotWaterValve using the relation connectedTo." ;
    sh:message "g36: The HotWaterCoil shall be connected to a HotWaterValve using the relation connectedTo." ;
    sh:minCount 1 ;
    sh:path s223:connectedTo ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:HotWaterValve ] .


            

URI: c14n14


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    rdfs:comment "If an instance of s223:Fan matches the constraints defined by g36:FanWithVFD, it will be declared as an instance of that class." ;
    sh:condition g36:FanWithVFD ;
    sh:object g36:FanWithVFD ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n937


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "A fan with VFD shall have at least one fan speed command using the relation hasProperty." ;
    sh:message "g36: A fan with VFD shall have at least one fan speed command using the relation hasProperty." ;
    sh:minCount 1 ;
    sh:path s223:hasProperty ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:QuantifiableActuatableProperty ;
            sh:node [ sh:property [ sh:hasValue quantitykind:DimensionlessRatio ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path qudt:hasQuantityKind ] ] ] .


            

URI: c14n487


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    rdfs:comment "If an instance of s223:FanPoweredTerminal matches the constraints defined by g36:FanPoweredTerminal, it will be declared as an instance of that class." ;
    sh:condition g36:FanPoweredTerminal ;
    sh:object g36:FanPoweredTerminal ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n1009


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "The FanPoweredTerminal shall connect to a Domain Space in a g36:Zone" ;
    sh:class s223:DomainSpace ;
    sh:message "g36: The FanPoweredTerminal connects to Domain Space in a g36:Zone" ;
    sh:minCount 1 ;
    sh:node [ sh:property [ sh:class g36:Zone ;
                    sh:minCount 1 ;
                    sh:path [ sh:inversePath s223:hasDomainSpace ] ] ] ;
    sh:path s223:connectedTo .


            

URI: c14n388


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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 FanPoweredTerminal shall contain at least one hot water coil or at least one electric heating coil for heating using the relation contains." ;
    sh:message "g36: A FanPoweredTerminal shall contain at least one hot water coil or at least one electric heating coil for heating using the relation contains." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:or ( [ sh:class g36:HotWaterCoil ] [ sh:class g36:ElectricHeatingCoil ] ) ] .


            

URI: c14n712


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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 FanPoweredTerminal shall have exactly one Fan or FanWithVFD using the relation contains." ;
    sh:message "g36: A FanPoweredTerminal shall have exactly one Fan or FanWithVFD using the relation contains." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:or ( [ sh:class g36:Fan ] [ sh:class g36:FanWithVFD ] ) ] .


            

URI: c14n727


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "The FanPoweredTerminal InletConnectionPoint shall have at least one supply airflow property using the relation hasProperty." ;
    sh:message "g36: The FanPoweredTerminal InletConnectionPoint shall have at least one supply airflow property using the relation hasProperty." ;
    sh:minCount 1 ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:path s223:hasProperty ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                    sh:node [ sh:property [ sh:hasValue quantitykind:VolumeFlowRate ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path qudt:hasQuantityKind ] ] ] ] ] ] .


            

URI: c14n760


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 shall have exactly one Damper using the relation contains." ;
    sh:message "g36: A FanPoweredTerminal shall have exactly one Damper using the relation contains." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:Damper ] .


            

URI: c14n914


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "The FanPoweredTerminal OutletConnectionPoint shall have at least one discharge air temperature property using the relation hasProperty." ;
    sh:message "g36: The FanPoweredTerminal OutletConnectionPoint shall have at least one discharge air temperature property using the relation hasProperty." ;
    sh:minCount 1 ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:path s223:hasProperty ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                    sh:node [ sh:property [ sh:hasValue quantitykind:Temperature ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path qudt:hasQuantityKind ] ] ] ] ] ] .


            

URI: c14n374


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    rdfs:comment "If an instance of s223:Fan matches the constraints defined by g36:Fan, it will be declared as an instance of that class." ;
    sh:condition g36:Fan ;
    sh:object g36:Fan ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n226


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 Start/Stop command using the relation hasProperty." ;
    sh:message "g36: A Fan shall have at least one Start/Stop command using the relation hasProperty." ;
    sh:minCount 1 ;
    sh:path s223:hasProperty ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:EnumeratedActuatableProperty ;
            sh:node [ sh:property [ sh:class s223:Binary-OnOff ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path s223:hasEnumerationKind ] ] ] .


            

URI: c14n227


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    rdfs:comment "If an instance of s223:ElectricResistanceElement matches the constraints defined by g36:ElectricHeatingCoil, it will be declared as an instance of that class." ;
    sh:condition g36:ElectricHeatingCoil ;
    sh:object g36:ElectricHeatingCoil ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n563


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "An electric heating coil shall have at least one analog heating command property using a relation hasProperty." ;
    sh:message "g36: An electric heating coil shall have at least one analog heating command property using a relation hasProperty." ;
    sh:minCount 1 ;
    sh:path s223:hasProperty ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:QuantifiableActuatableProperty ;
            sh:node [ sh:property [ sh:hasValue quantitykind:DimensionlessRatio ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path qudt:hasQuantityKind ] ] ] .


            

URI: c14n763


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    rdfs:comment "If an instance of s223:AirHandlingUnit matches the constraints defined by g36:DualFanDualDuctAirHandlingUnit, it will be declared as an instance of that class." ;
    sh:condition g36:DualFanDualDuctAirHandlingUnit ;
    sh:object g36:DualFanDualDuctAirHandlingUnit ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n178


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@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 "The DualFanDualDuctAirHandlingUnit shall contain at least one HotWaterCoil or at least one ElectricHeatingCoil for heating using the relation contains." ;
    sh:message "g36: The DualFanDualDuctAirHandlingUnit shall contain at least one HotWaterCoil or at least one ElectricHeatingCoil for heating using the relation contains." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:or ( [ sh:class g36:HotWaterCoil ] [ sh:class g36:ElectricHeatingCoil ] ) ] .


            

URI: c14n303


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "A DualFanDualDuctAirHandlingUnit OutletConnectionPoint shall have at least one supply duct static pressure property using the relation hasProperty." ;
    sh:message "g36: A DualFanDualDuctAirHandlingUnit OutletConnectionPoint shall have at least one supply duct static pressure property using the relation hasProperty." ;
    sh:minCount 1 ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:minCount 1 ;
                            sh:path s223:hasProperty ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                    sh:node [ sh:property [ sh:hasValue quantitykind:Pressure ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path qudt:hasQuantityKind ],
                                                [ sh:hasValue s223:Role-Supply ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path s223:hasAspect ] ] ] ] ] ] .


            

URI: c14n362


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "A DualFanDualDuctAirHandlingUnit OutletConnectionPoint shall have at least one supply air temperature property using the relation hasProperty." ;
    sh:message "g36: A DualFanDualDuctAirHandlingUnit OutletConnectionPoint shall have at least one supply air temperature property using the relation hasProperty." ;
    sh:minCount 1 ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:minCount 1 ;
                            sh:path s223:hasProperty ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                    sh:node [ sh:property [ sh:hasValue quantitykind:Temperature ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path qudt:hasQuantityKind ],
                                                [ sh:hasValue s223:Role-Supply ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path s223:hasAspect ] ] ] ] ] ] .


            

URI: c14n99


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "The DualFanDualDuctAirHandlingUnit shall contain at least one supply fan with a VFD that has the role Supply using the relation contains." ;
    sh:message "g36: The DualFanDualDuctAirHandlingUnit shall contain at least one supply fan with a VFD that has the role Supply using the relation contains." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:FanWithVFD ;
            sh:node [ sh:property [ sh:hasValue s223:Role-Supply ;
                            sh:path s223:hasRole ] ] ] .


            

URI: c14n250


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    rdfs:comment "If an instance of s223:DualDuctTerminal matches the constraints defined by g36:DualDuctTerminalWithInletSensors, it will be declared as an instance of that class." ;
    sh:condition g36:DualDuctTerminalWithInletSensors ;
    sh:object g36:DualDuctTerminalWithInletSensors ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n1028


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "The DualDuctTerminalWithInletSensors shall connect to Domain Space in a g36:Zone" ;
    sh:class s223:DomainSpace ;
    sh:message "g36: The DualDuctTerminalWithInletSensors connects to Domain Space in a g36:Zone" ;
    sh:minCount 1 ;
    sh:node [ sh:property [ sh:class g36:Zone ;
                    sh:minCount 1 ;
                    sh:path [ sh:inversePath s223:hasDomainSpace ] ] ] ;
    sh:path s223:connectedTo .


            

URI: c14n1098


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "The DualDuctTerminalWithInletSensors InletConnectionPoint shall have at least one heating supply airflow property using the relation hasProperty." ;
    sh:message "g36: The DualDuctTerminalWithInletSensors InletConnectionPoint shall have at least one heating supply airflow property using the relation hasProperty." ;
    sh:minCount 1 ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:minCount 1 ;
                            sh:path s223:hasProperty ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                    sh:node [ sh:property [ sh:minCount 1 ;
                                                    sh:path s223:hasAspect ;
                                                    sh:qualifiedMinCount 1 ;
                                                    sh:qualifiedValueShape [ sh:hasValue s223:Role-Heating ] ],
                                                [ sh:hasValue quantitykind:VolumeFlowRate ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path qudt:hasQuantityKind ] ] ] ] ] ] .


            

URI: c14n248


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "DualDuctTerminalWithInletSensors shall contain 1 damper that has the Role Cooling using the relation contains." ;
    sh:message "g36: DualDuctTerminalWithInletSensors shall contain 1 damper that has the Role Cooling using the relation contains." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:Damper ;
            sh:node [ sh:property [ sh:minCount 1 ;
                            sh:path s223:hasRole ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:hasValue s223:Role-Cooling ] ] ] ] .


            

URI: c14n395


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "DualDuctTerminalWithInletSensors shall contain 1 damper that has the Role Heating using the relation contains." ;
    sh:message "g36: DualDuctTerminalWithInletSensors shall contain 1 damper that has the Role Heating using the relation contains." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:Damper ;
            sh:node [ sh:property [ sh:minCount 1 ;
                            sh:path s223:hasRole ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:hasValue s223:Role-Heating ] ] ] ] .


            

URI: c14n833


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "The DualDuctTerminalWithInletSensors InletConnectionPoint shall have at least one cooling supply airflow property using the relation hasProperty." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:minCount 1 ;
                            sh:path s223:hasProperty ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                    sh:node [ sh:property [ sh:minCount 1 ;
                                                    sh:path s223:hasAspect ;
                                                    sh:qualifiedMinCount 1 ;
                                                    sh:qualifiedValueShape [ sh:hasValue s223:Role-Cooling ] ],
                                                [ sh:hasValue quantitykind:VolumeFlowRate ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path qudt:hasQuantityKind ] ] ] ] ] ] .


            

URI: c14n869


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "DualDuctTerminalWithInletSensors shall contain 2 dampers using the relation contains" ;
    sh:message "g36: DualDuctTerminalWithInletSensors shall contain 2 dampers using the relation contains" ;
    sh:minCount 2 ;
    sh:path s223:contains ;
    sh:qualifiedMaxCount 2 ;
    sh:qualifiedMinCount 2 ;
    sh:qualifiedValueShape [ sh:class g36:Damper ] .


            

URI: c14n555


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    rdfs:comment "If an instance of s223:DualDuctTerminal matches the constraints defined by g36:DualDuctTerminalWithDischargeSensor, it will be declared as an instance of that class." ;
    sh:condition g36:DualDuctTerminalWithDischargeSensor ;
    sh:object g36:DualDuctTerminalWithDischargeSensor ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n380


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "The DualDuctTerminalWithDischargeSensor shall connect to a Domain Space in a g36:Zone" ;
    sh:class s223:DomainSpace ;
    sh:message "g36: The DualDuctTerminalWithDischargeSensor connects to Domain Space in a g36:Zone" ;
    sh:minCount 1 ;
    sh:node [ sh:property [ sh:class g36:Zone ;
                    sh:minCount 1 ;
                    sh:path [ sh:inversePath s223:hasDomainSpace ] ] ] ;
    sh:path s223:connectedTo .


            

URI: c14n39


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "In the DualDuctTerminalWithDischargeSensor, one Damper has Role Cooling using the relation hasRole." ;
    sh:message "g36: In the DualDuctTerminalWithDischargeSensor, one Damper has Role Cooling using the relation hasRole." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:Damper ;
            sh:node [ sh:property [ sh:minCount 1 ;
                            sh:path s223:hasRole ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:hasValue s223:Role-Cooling ] ] ] ] .


            

URI: c14n616


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "In the DualDuctTerminalWithDischargeSensor, one Damper has Role Heating using the relation hasRole." ;
    sh:message "g36: In the DualDuctTerminalWithDischargeSensor, one Damper has Role Heating using the relation hasRole." ;
    sh:minCount 1 ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:Damper ;
            sh:node [ sh:property [ sh:minCount 1 ;
                            sh:path s223:hasRole ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:hasValue s223:Role-Heating ] ] ] ] .


            

URI: c14n730


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "The DualDuctTerminalWithDischargeSensor OutletConnectionPoint shall have at least one discharge airflow property using the relation hasProperty." ;
    sh:message "g36: The DualDuctTerminalWithDischargeSensor OutletConnectionPoint shall have at least one discharge airflow property using the relation hasProperty." ;
    sh:minCount 1 ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:minCount 1 ;
                            sh:path s223:hasProperty ;
                            sh:qualifiedMinCount 1 ;
                            sh:qualifiedValueShape [ sh:class s223:QuantifiableObservableProperty ;
                                    sh:node [ sh:property [ sh:hasValue quantitykind:VolumeFlowRate ;
                                                    sh:maxCount 1 ;
                                                    sh:minCount 1 ;
                                                    sh:path qudt:hasQuantityKind ] ] ] ] ] ] .


            

URI: c14n934


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "The DualDuctTerminalWithDischargeSensor shall contain 2 dampers using the relation contains." ;
    sh:message "g36: The DualDuctTerminalWithDischargeSensor shall contain 2 dampers using the relation contains." ;
    sh:minCount 2 ;
    sh:path s223:contains ;
    sh:qualifiedMaxCount 2 ;
    sh:qualifiedMinCount 2 ;
    sh:qualifiedValueShape [ sh:class g36:Damper ] .


            

URI: c14n1046


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "A damper shall have at least one analog damper command property or at least two binary damper command properties using the relation hasProperty." ;
    sh:minCount 1 ;
    sh:path s223:hasProperty ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:QuantifiableActuatableProperty ;
            sh:node [ sh:property [ sh:hasValue quantitykind:DimensionlessRatio ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path qudt:hasQuantityKind ],
                        [ sh:hasValue s223:Binary-Position ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path s223:hasAspect ] ] ] .


            

URI: c14n290


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 analog damper command property or at least two binary damper command properties using the relation hasProperty." ;
    sh:minCount 2 ;
    sh:path s223:hasProperty ;
    sh:qualifiedMinCount 2 ;
    sh:qualifiedValueShape [ sh:class s223:EnumeratedActuatableProperty ;
            sh:node [ sh:property [ sh:hasValue s223:EnumerationKind-Binary ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path s223:hasEnumerationKind ],
                        [ sh:hasValue s223:Binary-Position ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path s223:hasAspect ] ] ] .


            

URI: c14n896


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    rdfs:comment "If an instance of s223:Damper matches the constraints defined by g36:Damper, it will be declared as an instance of that class." ;
    sh:condition g36:Damper,
        g36:DamperOrShape1 ;
    sh:object g36:Damper ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n175


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "A ChilledWaterValve shall have at least one analog valve command property or at least two binary valve command properties using the relation hasProperty." ;
    sh:minCount 1 ;
    sh:path s223:hasProperty ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:QuantifiableActuatableProperty ;
            sh:node [ sh:property [ sh:hasValue quantitykind:DimensionlessRatio ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path qudt:hasQuantityKind ],
                        [ sh:hasValue s223:Binary-Position ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path s223:hasAspect ] ] ] .


            

URI: c14n335


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 ChilledWaterValve shall have at least one analog valve command property or at least two binary valve command properties using the relation hasProperty." ;
    sh:minCount 2 ;
    sh:path s223:hasProperty ;
    sh:qualifiedMinCount 2 ;
    sh:qualifiedValueShape [ sh:class s223:EnumeratedActuatableProperty ;
            sh:node [ sh:property [ sh:hasValue s223:EnumerationKind-Binary ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path s223:hasEnumerationKind ],
                        [ sh:hasValue s223:Binary-Position ;
                            sh:maxCount 1 ;
                            sh:minCount 1 ;
                            sh:path s223:hasAspect ] ] ] .


            

URI: c14n376


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    rdfs:comment "If an instance of s223:Valve matches the constraints defined by g36:ChilledWaterValve, it will be declared as an instance of that class." ;
    sh:condition g36:ChilledWaterValve,
        g36:ChilledWaterValveOrShape1 ;
    sh:object g36:ChilledWaterValve ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n209


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    rdfs:comment "If an instance of s223:CoolingCoil matches the constraints defined by g36:ChilledWaterCoil, it will be declared as an instance of that class." ;
    sh:condition g36:ChilledWaterCoil ;
    sh:object g36:ChilledWaterCoil ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


            

URI: c14n1100


@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "The ChilledWaterCoil shall be connected to a ChilledWaterValve using the relation connectedTo." ;
    sh:path s223:connectedTo ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class g36:ChilledWaterValve ] .


            

URI: c14n321


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLRule ;
    rdfs:comment "Infer a `hasDomain` relation by checking any enclosed `DomainSpace`s to determine the domain." ;
    sh:construct """
CONSTRUCT {$this s223:hasDomain ?domain .}
WHERE {
$this s223:hasDomainSpace/s223:hasDomain ?domain .
}
""" ;
    sh:prefixes ns4:model-rules .


            

URI: c14n608


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLRule ;
    rdfs:comment "Infer a `hasDomain` relation by checking any enclosed `Zone` to determine the domain." ;
    sh:construct """
CONSTRUCT {$this s223:hasDomain ?domain .}
WHERE {
$this s223:hasZone/s223:hasDomain ?domain .
}
""" ;
    sh:prefixes ns4:model-rules .


            

URI: c14n38


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 `Zone` must not contain itself, directly or indirectly." ;
    sh:message "s223: A `Zone` must not contain itself, directly or indirectly." ;
    sh:path s223:hasZone ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "A `Zone` must not contain itself, directly or indirectly." ;
            sh:message "s223: `Zone` {$this} must not contain itself (via s223:hasZone), directly or indirectly." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this
WHERE {
$this s223:hasZone+ ?nestedZone .
FILTER ($this = ?nestedZone) .
}
""" ] .


            

URI: c14n1010


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "A `Zone` must not contain itself, directly or indirectly." ;
    sh:message "s223: `Zone` {$this} must not contain itself (via s223:hasZone), directly or indirectly." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this
WHERE {
$this s223:hasZone+ ?nestedZone .
FILTER ($this = ?nestedZone) .
}
""" .


            

URI: c14n458


@prefix 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 `Zone` shall be associated with zero or more other `Zone`s using the relation `hasZone`." ;
    sh:class s223:Zone ;
    sh:message "s223: A `Zone` shall be associated with zero or more other `Zone`s using the relation `hasZone`." ;
    sh:path s223:hasZone .


            

URI: c14n56


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with exactly one `EnumerationKind-Domain` using the relation `hasDomain`." ;
    sh:class s223:EnumerationKind-Domain ;
    sh:maxCount 1 ;
    sh:message "s223: A `Zone` shall be associated with exactly one `EnumerationKind-Domain` using the relation `hasDomain`." ;
    sh:minCount 1 ;
    sh:path s223:hasDomain .


            

URI: c14n646


@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 `Zone` shall be associated with at least one `DomainSpace` using the relation `hasDomainSpace` or at least one `Zone` using the relation `hasZone`." ;
    sh:message "s223: A `Zone` shall be associated with at least one `DomainSpace` using the relation `hasDomainSpace` or at least one `Zone` using the relation `hasZone`." ;
    sh:minCount 1 ;
    sh:path [ sh:alternativePath ( s223:hasDomainSpace s223:hasZone ) ] .


            

URI: c14n718


@prefix 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 `Zone` shall be associated with zero or more `DomainSpace`s using the relation `hasDomainSpace`." ;
    sh:class s223:DomainSpace ;
    sh:message "s223: A `Zone` shall be associated with zero or more `DomainSpace`s using the relation `hasDomainSpace`." ;
    sh:path s223:hasDomainSpace .


            

URI: c14n799


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 `DomainSpace`s it `contains` must be the same." ;
    sh:message "s223: The associated domain of a `Zone` and the Domain of the `DomainSpace`s it `contains` must be the same." ;
    sh:path s223:hasDomain ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "The associated `EnumerationKind-Domain` of a `Zone` and the `EnumerationKind-Domain` of the `DomainSpace`s it contains must be the same." ;
            sh:message "s223: `Zone` {$this} has a Domain of {?domain}, but it contains a `DomainSpace` {?ds} which has a Domain of {?dsdomain}. These should be the same." ;
            sh:prefixes ns6: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)
}
""" ] .


            

URI: c14n448


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "The associated `EnumerationKind-Domain` of a `Zone` and the `EnumerationKind-Domain` of the `DomainSpace`s it contains must be the same." ;
    sh:message "s223: `Zone` {$this} has a Domain of {?domain}, but it contains a `DomainSpace` {?ds} which has a Domain of {?dsdomain}. These should be the same." ;
    sh:prefixes ns6: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)
}
""" .


            

URI: c14n568


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `WiredEthernetOutlet` shall have at least one outlet using the medium `Signal-WiredEthernet`." ;
    sh:message "s223: A `WiredEthernetOutlet` shall have at least one outlet using the medium `Signal-WiredEthernet`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Signal-WiredEthernet ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n793


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `WiredEthernetOutlet` shall have exactly one inlet using the medium `Signal-WiredEthernet`." ;
    sh:message "s223: A `WiredEthernetOutlet` shall have exactly one inlet using the medium `Signal-WiredEthernet`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Signal-WiredEthernet ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n940


@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 `Window` shall have at least one inlet using the medium `EM-Light` or `Fluid-Air`." ;
    sh:message "s223: A `Window` shall have at least one inlet using the medium `EM-Light` or `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:or ( [ sh:class s223:EM-Light ] [ sh:class s223:Fluid-Air ] ) ;
                            sh:path s223:hasMedium ] ] ] ;
    sh:severity sh:Warning .


            

URI: c14n965


@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 `Window` shall have at least one outlet using the medium `EM-Light` or `Fluid-Air`." ;
    sh:message "s223: A `Window` shall have at least one outlet using the medium `EM-Light` or `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:or ( [ sh:class s223:EM-Light ] [ sh:class s223:Fluid-Air ] ) ;
                            sh:path s223:hasMedium ] ] ] ;
    sh:severity sh:Warning .


            

URI: c14n541


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Waveguide` shall be associated with exactly one `Constituent-EM` using the relation `hasMedium`." ;
    sh:class s223:Constituent-EM ;
    sh:maxCount 1 ;
    sh:message "s223: A `Waveguide` shall be associated with exactly one `Constituent-EM` using the relation `hasMedium`." ;
    sh:minCount 1 ;
    sh:path s223:hasMedium .


            

URI: c14n344


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `WaterToWaterHeatPump` shall have at least two outlets using the medium `Fluid-Water`." ;
    sh:message "s223: A `WaterToWaterHeatPump` shall have at least two outlets using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 2 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n89


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `WaterToWaterHeatPump` shall have at least two inlets using the medium `Fluid-Water`." ;
    sh:message "s223: A `WaterToWaterHeatPump` shall have at least two inlets using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 2 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n204


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `WaterToAirHeatPump` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:message "s223: A `WaterToAirHeatPump` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n223


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `WaterToAirHeatPump` shall have at least one outlet using the medium `Fluid-Air`." ;
    sh:message "s223: A `WaterToAirHeatPump` shall have at least one outlet using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n336


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `WaterToAirHeatPump` shall have at least one inlet using the medium `Fluid-Air`." ;
    sh:message "s223: A `WaterToAirHeatPump` shall have at least one inlet using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n683


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `WaterToAirHeatPump` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:message "s223: A `WaterToAirHeatPump` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n116


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `WaterOutlet` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:message "s223: A `WaterOutlet` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n154


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `WaterOutlet` shall have exactly one inlet using the medium `Fluid-Water`." ;
    sh:message "s223: A `WaterOutlet` shall have exactly one inlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n628


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "One of the constituents of a `Water-GlycolSolution` shall be a `Constituent-H2O`." ;
    sh:message "s223: One of the constituents of a `Water-GlycolSolution` shall be a `Constituent-H2O`." ;
    sh:path s223:composedOf ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:QuantifiableProperty ;
            sh:node [ sh:property [ rdfs:comment "The `QuantityKind` of the constituent shall be `VolumeFraction`." ;
                            sh:in ( quantitykind:VolumeFraction ) ;
                            sh:path qudt:hasQuantityKind ],
                        [ rdfs:comment "One of the constituents of a `Water-GlycolSolution` shall be a `Constituent-H2O`." ;
                            sh:class s223:Constituent-H2O ;
                            sh:path s223:ofConstituent ] ] ] ;
    sh:qualifiedValueShapesDisjoint true .


            

URI: c14n706


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Water-GlycolSolution` shall be associated with at least two `QuantifiableProperty`s using the relation `composedOf`. These characterize the constituents of a `Water-GlycolSolution`." ;
    sh:class s223:QuantifiableProperty ;
    sh:message "s223: A `Water-GlycolSolution` shall be associated with at least two `QuantifiableProperty`s using the relation `composedOf`. These characterize the constituents of a `Water-GlycolSolution`." ;
    sh:minCount 2 ;
    sh:path s223:composedOf .


            

URI: c14n731


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "A `Water-GlycolSolution` shall be associated with zero or more `QuantifiableProperty`s with a `QuantityKind` of `Temperature` using the relation `hasFreezingPoint`." ;
    sh:class s223:QuantifiableProperty ;
    sh:message "s223: A `Water-GlycolSolution` shall be associated with zero or more `QuantifiableProperty`s with a `QuantityKind` of `Temperature` using the relation `hasFreezingPoint`." ;
    sh:node [ sh:property [ sh:in ( quantitykind:Temperature ) ;
                    sh:path qudt:hasQuantityKind ] ] ;
    sh:path s223:hasFreezingPoint .


            

URI: c14n946


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "One of the constituents of a `Water-GlycolSolution` shall be a `Constituent-Glycol`." ;
    sh:message "s223: One of the constituents of a `Water-GlycolSolution` shall be a `Constituent-Glycol`." ;
    sh:path s223:composedOf ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:QuantifiableProperty ;
            sh:node [ sh:property [ rdfs:comment "The `QuantityKind` of the constituent shall be `VolumeFraction`." ;
                            sh:in ( quantitykind:VolumeFraction ) ;
                            sh:path qudt:hasQuantityKind ],
                        [ rdfs:comment "One of the constituents of a `Water-GlycolSolution` shall be a `Constituent-Glycol`." ;
                            sh:class s223:Constituent-Glycol ;
                            sh:path s223:ofConstituent ] ] ] ;
    sh:qualifiedValueShapesDisjoint true .


            

URI: c14n19


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "A `VoltageSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of Voltage." ;
    sh:class s223:QuantifiableObservableProperty ;
    sh:message "s223: A `VoltageSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of Voltage." ;
    sh:node [ sh:property [ sh:in ( quantitykind:Voltage ) ;
                    sh:path qudt:hasQuantityKind ] ] ;
    sh:path s223:observes .


            

URI: c14n318


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Constituent-Electricity`." ;
    sh:message "s223: A `VariableFrequencyDrive` shall have at least one outlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n549


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Constituent-Electricity`." ;
    sh:message "s223: A `VariableFrequencyDrive` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] ;
    sh:severity sh:Warning .


            

URI: c14n939


@prefix 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 `VariableFrequencyDrive` shall be associated with zero or more pieces of `Equipment` using the relation `connectedTo`." ;
    sh:class s223:Equipment ;
    sh:message "s223: A `VariableFrequencyDrive` shall be associated with zero or more pieces of `Equipment` using the relation `connectedTo`." ;
    sh:path s223:connectedTo .


            

URI: c14n1481


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:message "s223: A `Valve` shall have at least one inlet and one outlet or two bidirectional connection points." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ] ;
    sh:qualifiedValueShapesDisjoint true .


            

URI: c14n1483


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:message "s223: A `Valve` shall have at least one inlet and one outlet or two bidirectional connection points." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ] ;
    sh:qualifiedValueShapesDisjoint true .


            

URI: c14n373


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:message "s223: A `Valve` shall have at least one inlet and one outlet or two bidirectional connection points." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 2 ;
    sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ] ;
    sh:qualifiedValueShapesDisjoint true .


            

URI: c14n876


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `USBOutlet` shall have at least one outlet using the medium `Signal-USB`." ;
    sh:message "s223: A `USBOutlet` shall have at least one outlet using the medium `Signal-USB`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Signal-USB ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n956


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `USBOutlet` shall have exactly one inlet using the medium `Signal-USB`." ;
    sh:message "s223: A `USBOutlet` shall have exactly one inlet using the medium `Signal-USB`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Signal-USB ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n875


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `USBCable` shall be associated with exactly one `Signal-USB` using the relation `hasMedium`." ;
    sh:class s223:Signal-USB ;
    sh:maxCount 1 ;
    sh:message "s223: A `USBCable` shall be associated with exactly one `Signal-USB` using the relation `hasMedium`." ;
    sh:minCount 1 ;
    sh:path s223:hasMedium .


            

URI: c14n105


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:message "s223: A `TwoWayValve` shall have at least one inlet." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ] .


            

URI: c14n951


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:message "s223: A `TwoWayValve` shall have at least one outlet." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ] .


            

URI: c14n366


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Constituent-Electricity`." ;
    sh:message "s223: A `Turbine` shall have at least one outlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n637


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with at least three connection points using the relation `hasConnectionPoint`." ;
    sh:message "s223: A `ThreeWayValve` shall be associated with at least three connection points using the relation `hasConnectionPoint`." ;
    sh:minCount 3 ;
    sh:path s223:hasConnectionPoint .


            

URI: c14n670


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ThermalEnergyStorageUnit` shall be associated with at least two connection points using the relation `hasConnectionPoint`." ;
    sh:message "s223: A `ThermalEnergyStorageUnit` shall be associated with at least two connection points using the relation `hasConnectionPoint`." ;
    sh:minCount 2 ;
    sh:path s223:hasConnectionPoint .


            

URI: c14n332


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 using the medium `Fluid-Air`." ;
    sh:message "s223: A `TerminalUnit` shall have at least one outlet using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n52


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 using the medium `Fluid-Air`." ;
    sh:message "s223: A `TerminalUnit` shall have at least one inlet using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n150


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "A `TemperatureSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Temperature`." ;
    sh:class s223:QuantifiableObservableProperty ;
    sh:message "s223: A `TemperatureSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Temperature`." ;
    sh:node [ sh:property [ sh:in ( quantitykind:Temperature ) ;
                    sh:path qudt:hasQuantityKind ] ] ;
    sh:path s223:observes .


            

URI: c14n271


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@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 `hasBoundaryConnectionPoint` relation using `hasOptionalConnectionPoint`." ;
    sh:construct """
CONSTRUCT {$this s223:hasBoundaryConnectionPoint ?thing .}
WHERE {
$this s223:hasOptionalConnectionPoint ?thing .
}
""" ;
    sh:name "InferredSystemToBoundaryConnectionPointFromOptional" ;
    sh:prefixes ns4:model-rules .


            

URI: c14n279


@prefix 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 `System` shall be associated with zero or more `ConnectionPoint`s that are the \"boundary\" of the equipment using the relation `hasBoundaryConnectionPoint`. The `hasBoundaryConnectionPoint` relation is used to reference those connection points of its equipment that must be connected, but in the context of validating the model with the system by itself, the \"dangling connection point\" should not generate a validation error." ;
    sh:class s223:ConnectionPoint ;
    sh:message "s223: A `System` shall be associated with zero or more `ConnectionPoint`s that are the \"boundary\" of the equipment using the relation `hasBoundaryConnectionPoint`. The `hasBoundaryConnectionPoint` relation is used to reference those connection points of its equipment that must be connected, but in the context of validating the model with the system by itself, the \"dangling connection point\" should not generate a validation error." ;
    sh:path s223:hasBoundaryConnectionPoint .


            

URI: c14n289


@prefix 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 `System` shall be associated with zero or more `EnumerationKind-Role`s using the relation `hasRole`." ;
    sh:class s223:EnumerationKind-Role ;
    sh:message "s223: A `System` shall be associated with zero or more `EnumerationKind-Role`s using the relation `hasRole`." ;
    sh:path s223:hasRole .


            

URI: c14n449


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Ensure that the boundary `ConnectionPoint`s of a `System` belong to only members of that `System`" ;
    sh:message "s223: `System` {$this} `hasBoundaryConnectionPoint` {?cp}, belonging to {?con} that is not a member of {?this}." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this ?cp ?con
WHERE {
$this s223:hasBoundaryConnectionPoint ?cp .
?cp s223:isConnectionPointOf ?con .
FILTER NOT EXISTS {$this s223:hasMember+ ?con}
}
""" .


            

URI: c14n648


@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` shall be associated with at least one piece of `Equipment`, `Junction`, or `System` using the relation `hasMember`." ;
    sh:message "s223: A `System` shall be associated with at least one piece of `Equipment`, `Junction`, or `System` using the relation `hasMember`." ;
    sh:minCount 1 ;
    sh:or ( [ sh:class s223:Equipment ] [ sh:class s223:Junction ] [ sh:class s223:System ] ) ;
    sh:path s223:hasMember ;
    sh:severity sh:Warning .


            

URI: c14n904


@prefix 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 `System` shall be associated with zero or more `ConnectionPoint`s that are the \"boundary\" of the equipment using the relation `hasBoundaryConnectionPoint`. The `hasBoundaryConnectionPoint` relation is used to reference those connection points of its equipment that must be connected, but in the context of validating the model with the system by itself, the \"dangling connection point\" should not generate a validation error." ;
    sh:class s223:ConnectionPoint ;
    sh:message "s223: A `System` shall be associated with zero or more `ConnectionPoint`s that are the \"boundary\" of the equipment using the relation `hasBoundaryConnectionPoint`. The `hasBoundaryConnectionPoint` relation is used to reference those connection points of its equipment that must be connected, but in the context of validating the model with the system by itself, the \"dangling connection point\" should not generate a validation error." ;
    sh:path s223:hasOptionalConnectionPoint .


            

URI: c14n668


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@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:SymmetricRelation .
}
			""" ;
    sh:prefixes ns4:owl-subset .


            

URI: c14n594


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `SteamInjector` shall have at least one outlet using the medium `Fluid-Air`." ;
    sh:message "s223: A `SteamInjector` shall have at least one outlet using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] ;
    sh:qualifiedValueShapesDisjoint true .


            

URI: c14n636


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `SteamInjector` shall have at least one inlet using the medium `Water-Steam`." ;
    sh:message "s223: A `SteamInjector` shall have at least one inlet using the medium `Water-Steam`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Water-Steam ;
                            sh:path s223:hasMedium ] ] ] ;
    sh:qualifiedValueShapesDisjoint true .


            

URI: c14n698


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `SteamInjector` shall have at least one inlet using the medium `Fluid-Air`." ;
    sh:message "s223: A `SteamInjector` shall have at least one inlet using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] ;
    sh:qualifiedValueShapesDisjoint true .


            

URI: c14n953


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Fluid-Water`." ;
    sh:message "s223: A `SolarThermalCollector` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n972


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:message "s223: A `SolarThermalCollector` shall have at least one inlet using the medium `EM-Light`." ;
    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 ] ] ] .


            

URI: c14n1021


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Sink` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:message "s223: A `Sink` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n92


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Sink` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:message "s223: A `Sink` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n503


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall contain at least one `Damper`." ;
    sh:message "s223: A `SingleDuctTerminal` shall contain at least one `Damper`." ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:Damper ] .


            

URI: c14n667


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Shower` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:message "s223: A `Shower` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n680


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Shower` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:message "s223: A `Shower` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n93


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ServerComputer` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: A `ServerComputer` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n717


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@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` relation 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 ns4:model-rules .


            

URI: c14n371


@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 `Sensor` shall be associated with exactly one `QuantifiableObservableProperty` or `EnumeratedObservableProperty` using the relation `observes`." ;
    sh:maxCount 1 ;
    sh:message "s223: A `Sensor` shall be associated with exactly one `QuantifiableObservableProperty` or `EnumeratedObservableProperty` using the relation `observes`." ;
    sh:minCount 1 ;
    sh:path s223:observes ;
    sh:xone ( [ sh:class s223:QuantifiableObservableProperty ] [ sh:class s223:EnumeratedObservableProperty ] ) .


            

URI: c14n419


@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 "If a `Sensor` measures a differential property, it shall be associated with exactly one `Connectable`, `Connection`, or `ConnectionPoint` using the relation `hasReferenceLocation`." ;
    sh:maxCount 1 ;
    sh:message "s223: If a `Sensor` measures a differential property, it shall be associated with exactly one `Connectable`, `Connection`, or `ConnectionPoint` using the relation `hasReferenceLocation`." ;
    sh:path s223:hasReferenceLocation ;
    sh:xone ( [ sh:class s223:Connectable ] [ sh:class s223:Connection ] [ sh:class s223:ConnectionPoint ] ) .


            

URI: c14n695


@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 `Sensor` shall be associated with exactly one `Connectable`, `Connection`, or `ConnectionPoint` using the relation `hasObservationLocation`." ;
    sh:maxCount 1 ;
    sh:message "s223: A `Sensor` shall be associated with exactly one `Connectable`, `Connection`, or `ConnectionPoint` using the relation `hasObservationLocation`." ;
    sh:minCount 1 ;
    sh:path s223:hasObservationLocation ;
    sh:xone ( [ sh:class s223:Connectable ] [ sh:class s223:Connection ] [ sh:class s223:ConnectionPoint ] ) .


            

URI: c14n786


@prefix 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 `Sensor` shall be associated with zero or more `QuantifiableProperty`s using the relation `hasMeasurementResolution`." ;
    sh:class s223:QuantifiableProperty ;
    sh:message "s223: A `Sensor` shall be associated with zero or more `QuantifiableProperty`s using the relation `hasMeasurementResolution`." ;
    sh:path s223:hasMeasurementResolution .


            

URI: c14n798


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 `hasReferenceLocation` relation exists, the observed `Property` shall have `qudt:isDeltaQuantity` true." ;
    sh:path s223:observes ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "If the `hasReferenceLocation` relation exists, the observed `Property` shall have `qudt:isDeltaQuantity` true." ;
            sh:message "s223: `Sensor` {$this} has a reference location, but its `Property` lacks `qudt:isDeltaQuantity` true." ;
            sh:prefixes ns6:model ;
            sh:select """
          SELECT $this
          WHERE {
$this s223:hasReferenceLocation ?y .
$this s223:observes ?x .
?x a/rdfs:subClassOf* s223:QuantifiableProperty .
FILTER NOT EXISTS {$this s223:observes/qudt:isDeltaQuantity true}
}
""" ] .


            

URI: c14n840


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 observed `Property` has `qudt:isDeltaQuantity` true, the `Sensor` shall have a `hasReferenceLocation` relation." ;
    sh:path s223:observes ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "If the observed `Property` has `qudt:isDeltaQuantity` true, the `Sensor` shall have a `hasReferenceLocation` relation." ;
            sh:message "s223: `Sensor` {$this} has `Property` {?x} with `qudt:isDeltaQuantity` true, but the `Sensor` lacks a reference location." ;
            sh:prefixes ns6:model ;
            sh:select """
          SELECT $this ?x
          WHERE {
$this s223:observes/qudt:isDeltaQuantity true .
$this s223:observes ?x .
?x a/rdfs:subClassOf* s223:QuantifiableProperty .
FILTER NOT EXISTS {$this s223:hasReferenceLocation ?y}
}
""" ] .


            

URI: c14n579


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "If the observed `Property` has `qudt:isDeltaQuantity` true, the `Sensor` shall have a `hasReferenceLocation` relation." ;
    sh:message "s223: `Sensor` {$this} has `Property` {?x} with `qudt:isDeltaQuantity` true, but the `Sensor` lacks a reference location." ;
    sh:prefixes ns6:model ;
    sh:select """
          SELECT $this ?x
          WHERE {
$this s223:observes/qudt:isDeltaQuantity true .
$this s223:observes ?x .
?x a/rdfs:subClassOf* s223:QuantifiableProperty .
FILTER NOT EXISTS {$this s223:hasReferenceLocation ?y}
}
""" .


            

URI: c14n102


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "If the `hasReferenceLocation` relation exists, the observed `Property` shall have `qudt:isDeltaQuantity` true." ;
    sh:message "s223: `Sensor` {$this} has a reference location, but its `Property` lacks `qudt:isDeltaQuantity` true." ;
    sh:prefixes ns6:model ;
    sh:select """
          SELECT $this
          WHERE {
$this s223:hasReferenceLocation ?y .
$this s223:observes ?x .
?x a/rdfs:subClassOf* s223:QuantifiableProperty .
FILTER NOT EXISTS {$this s223:observes/qudt:isDeltaQuantity true}
}
""" .


            

URI: c14n225


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Every class of the 223 standard must also be an instance of sh:NodeShape." ;
    sh:message "s223: Class {$this} must be declared as an instance of sh:NodeShape." ;
    sh:prefixes ns6:schema ;
    sh:select """
SELECT $this
WHERE {
FILTER NOT EXISTS {$this a sh:NodeShape} .
}
""" .


            

URI: c14n985


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Every class of the 223 standard must be a direct or indirect subclass of s223:Concept." ;
    sh:message "s223: Class {$this} must be within the rdfs:subClassOf hierarchy under s223:Concept." ;
    sh:prefixes ns6:schema ;
    sh:select """
SELECT $this
WHERE {
FILTER NOT EXISTS {$this rdfs:subClassOf* rdf:Property} .
FILTER NOT EXISTS {$this rdfs:subClassOf* s223:Concept} .
}
""" .


            

URI: c14n1016


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Every class of the 223 standard must have an rdfs:comment." ;
    sh:message "s223: Class {$this} must have an rdfs:comment." ;
    sh:prefixes ns6:schema ;
    sh:select """
SELECT $this
WHERE {
FILTER NOT EXISTS {$this rdfs:comment ?comment} .
}
""" .


            

URI: c14n212


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Every TripleRule must have an rdfs:comment." ;
    sh:message "s223: The TripleRule inferring {?pred} for Class {$this} must have an rdfs:comment." ;
    sh:prefixes ns6: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} .
}
""" .


            

URI: c14n187


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Every SPARQLRule must have an rdfs:comment." ;
    sh:message "s223: Every SPARQLRule for Class {$this} must have an rdfs:comment." ;
    sh:prefixes ns6:schema ;
    sh:select """
SELECT $this
WHERE {
$this sh:rule ?rule .
?rule a sh:SPARQLRule .
FILTER NOT EXISTS {?rule rdfs:comment ?comment} .
}
""" .


            

URI: c14n813


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Every SHACL property shape must have an rdfs:comment." ;
    sh:message "s223: The property shape with path {?path} for Class {$this} must have an rdfs:comment." ;
    sh:prefixes ns6:schema ;
    sh:select """
SELECT $this ?path
WHERE {
$this sh:property ?propshape .
?propshape sh:path ?path .
FILTER NOT EXISTS {?propshape rdfs:comment ?comment} .
}
""" .


            

URI: c14n1107


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Every SPARQLConstraint must have an rdfs:comment." ;
    sh:message "s223: The SPARQLConstraint for path {?path} for Class {$this} must have an rdfs:comment." ;
    sh:prefixes ns6:schema ;
    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} .
}
""" .


            

URI: c14n416


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@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 ns4:owl-subset .


            

URI: c14n452


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `RelationWithInverse` shall be associated with exactly one other `RelationWithInverse` using the relation `inverseOf`." ;
    sh:class s223:RelationWithInverse ;
    sh:maxCount 1 ;
    sh:message "s223: A `RelationWithInverse` shall be associated with exactly one other `RelationWithInverse` using the relation `inverseOf`." ;
    sh:minCount 1 ;
    sh:path s223:inverseOf .


            

URI: c14n131


@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 `Relation` shall be associated with at least one label using the relation `rdfs:label`." ;
    sh:message "s223: A `Relation` shall be associated with at least one label using the relation `rdfs:label`." ;
    sh:minCount 1 ;
    sh:path rdfs:label ;
    sh:severity sh:Warning .


            

URI: c14n231


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Refrigerator` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: A `Refrigerator` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n354


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 inlet and outlet of Water." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n504


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n645


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n1012


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 bidirectional connection point using the medium `Fluid-Air`." ;
    sh:message "s223: A `Radiator` shall have at least one bidirectional connection point using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n136


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 at least have the role `Role-Heating`." ;
    sh:message "s223: A `Radiator` shall at least have the role `Role-Heating`." ;
    sh:path s223:hasRole ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:Role-Heating ] .


            

URI: c14n650


@prefix 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-HeatTransfer relation for every instance of the listed targetClass values." ;
    sh:object s223:Role-HeatTransfer ;
    sh:predicate s223:hasRole ;
    sh:subject sh:this .


            

URI: c14n1072


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "Pattern 2: A `RadiantHeater` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:message "s223: Pattern 2: A `RadiantHeater` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n510


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "Pattern 2: A `RadiantHeater` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:message "s223: Pattern 2: A `RadiantHeater` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n671


@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 "Pattern 1: A `RadiantHeater` shall have at least one inlet using the medium `Constituent-Electricity` or `Fluid-NaturalGas`." ;
    sh:message "s223: Pattern 1: A `RadiantHeater` shall have at least one inlet using the medium `Constituent-Electricity` or `Fluid-NaturalGas`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:or ( [ sh:class s223:Constituent-Electricity ] [ sh:class s223:Fluid-NaturalGas ] ) ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n894


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `RadiantHeater` shall at least have the role `Role-Heating`." ;
    sh:message "s223: A `RadiantHeater` shall at least have the role `Role-Heating`." ;
    sh:path s223:hasRole ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:Role-Heating ] .


            

URI: c14n919


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `RadiantHeater` shall have at least one outlet using the medium `Light-Infrared`." ;
    sh:message "s223: A `RadiantHeater` shall have at least one outlet using the medium `Light-Infrared`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Light-Infrared ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n1085


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `RFOutlet` shall have at least one outlet using the medium `RF-Signal`." ;
    sh:message "s223: A `RFOutlet` shall have at least one outlet using the medium `RF-Signal`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:RF-Signal ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n141


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `RFOutlet` shall have exactly one inlet using the medium `RF-Signal`." ;
    sh:message "s223: A `RFOutlet` shall have exactly one inlet using the medium `RF-Signal`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:RF-Signal ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n334


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@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 `hasAspect s223:Aspect-Setpoint` for properties referred to by `hasSetpoint`" ;
    sh:construct """
CONSTRUCT {?y s223:hasAspect  s223:Aspect-Setpoint}
WHERE {
?prop s223:hasSetpoint ?y .
FILTER NOT EXISTS {?y s223:hasAspect s223:Aspect-Setpoint}
}
""" ;
    sh:prefixes ns4:model-rules .


            

URI: c14n41


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@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 `hasAspect s223:Aspect-Deadband` for properties referred to by `hasDeadband`" ;
    sh:construct """
CONSTRUCT {?y s223:hasAspect  s223:Aspect-Deadband}
WHERE {
?prop s223:hasDeadband ?y .
FILTER NOT EXISTS {?y s223:hasAspect s223:Aspect-Deadband}
}
""" ;
    sh:prefixes ns4:model-rules .


            

URI: c14n533


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@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 `hasAspect s223:Aspect-Threshold` for properties referred to by `hasThreshold`" ;
    sh:construct """
CONSTRUCT {?y s223:hasAspect  s223:Aspect-Threshold}
WHERE {
?prop s223:hasThreshold ?y .
FILTER NOT EXISTS {?y s223:hasAspect s223:Aspect-Threshold}
}
""" ;
    sh:prefixes ns4:model-rules .


            

URI: c14n702


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@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` relation 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 ns4:model-rules .


            

URI: c14n1037


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
@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 threshold use non-commensurate `Unit`s." ;
    sh:path qudt:hasUnit ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "This `QuantifiableProperty` and the associated threshold use non-commensurate `Unit`s." ;
            sh:message "s223: {$this} uses `Unit` {?punit}, while threshold {?threshold} uses `Unit` {?tunit}. These are non-commensurate." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this ?threshold ?punit ?tunit
WHERE {
$this qudt:hasUnit ?punit .
$this s223:hasThreshold ?threshold .
?threshold qudt:hasUnit ?tunit .
?punit qudt:hasDimensionVector ?pdv .
?tunit qudt:hasDimensionVector ?tdv .
FILTER (?punit != ?tunit) .
FILTER (?pdv != ?tdv) .
}
""" ] .


            

URI: c14n1041


@prefix qudt: <http://qudt.org/schema/qudt/> .
@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` should use `hasValue` instead of `qudt:value`." ;
    sh:maxCount 0 ;
    sh:message "s223: A `QuantifiableProperty` should use `hasValue` instead of `qudt:value`." ;
    sh:path qudt:value .


            

URI: c14n151


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
@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 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 "s223: {$this} uses `Unit` {?punit}, while setpoint {?setpoint} uses `Unit` {?sunit}. Be careful." ;
            sh:prefixes ns6: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) .
}
""" ] .


            

URI: c14n235


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "This `QuantifiableProperty` cannot have a value without a `Unit`." ;
    sh:path s223:hasValue ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "This `QuantifiableProperty` cannot have a value without a `Unit`." ;
            sh:message "s223: {$this} referenced by {?subject} has a value of {?v} but does not specify a `Unit`." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this ?v ?subject
WHERE {
$this s223:hasValue ?v .
FILTER NOT EXISTS {$this qudt:hasUnit ?u} .
?subject ?p $this .
}
""" ] .


            

URI: c14n35


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Check for consistent dimension vectors for a `QuantityKind` and the `Unit`" ;
    sh:message "s223: Inconsistent dimensionalities among the `Property`'s `Unit` and `Property`'s `QuantityKind`" ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this
   WHERE
{
      $this qudt:hasQuantityKind/qudt:hasDimensionVector ?qkdv1 .
      $this qudt:hasUnit/qudt:hasDimensionVector ?qkdv2 .
FILTER (?qkdv1 != ?qkdv2) .
}
""" .


            

URI: c14n360


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
@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 `Unit`s." ;
    sh:path qudt:hasUnit ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "This `QuantifiableProperty` and the associated setpoint use non-commensurate `Unit`s." ;
            sh:message "s223: {$this} uses `Unit` {?punit}, while setpoint {?setpoint} uses `Unit` {?sunit}. These are non-commensurate." ;
            sh:prefixes ns6: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) .
}
""" ] .


            

URI: c14n429


@prefix qudt: <http://qudt.org/schema/qudt/> .
@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` shall be associated with at most one Boolean value using the relation `qudt:isDeltaQuantity`. If the relation `qudt:isDeltaQuantity` has a value of true, the associated value should be interpreted as a difference reading, such as a temperature difference. This is needed to distinguish between a temperature reading and a temperature difference reading, which affects unit conversion calculations." ;
    sh:datatype xsd:boolean ;
    sh:maxCount 1 ;
    sh:message "s223: A `QuantifiableProperty` shall be associated with at most one Boolean value using the relation `qudt:isDeltaQuantity`. If the relation `qudt:isDeltaQuantity` has a value of true, the associated value should be interpreted as a difference reading, such as a temperature difference. This is needed to distinguish between a temperature reading and a temperature difference reading, which affects unit conversion calculations." ;
    sh:path qudt:isDeltaQuantity .


            

URI: c14n456


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
@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 deadband associated with it." ;
    sh:path qudt:hasUnit ;
    sh:severity sh:Info ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "This `QuantifiableProperty` uses a different `Unit` than the deadband associated with it." ;
            sh:message "s223: {$this} uses `Unit` {?punit}, while deadband {?deadband} uses `Unit` {?dunit}. Be careful." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this ?deadband ?punit ?dunit
WHERE {
$this qudt:hasUnit ?punit .
$this s223:hasDeadband ?deadband .
?deadband qudt:hasUnit ?dunit .
?punit qudt:hasDimensionVector ?pdv .
?dunit qudt:hasDimensionVector ?ddv .
FILTER (?punit != ?dunit) .
FILTER (?pdv = ?ddv) .
}
""" ] .


            

URI: c14n51


@prefix 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 `QuantifiableProperty` shall be associated with zero or more other `QuantifiableProperty`s using the relation `hasThreshold`." ;
    sh:class s223:QuantifiableProperty ;
    sh:message "s223: A `QuantifiableProperty` shall be associated with zero or more other `QuantifiableProperty`s using the relation `hasThreshold`." ;
    sh:path s223:hasThreshold .


            

URI: c14n518


@prefix 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 `QuantifiableProperty` shall be associated with zero or more other `QuantifiableProperty`s using the relation `hasSetpoint`. This can be used to indicate the desired value which the control process is trying to maintain." ;
    sh:class s223:QuantifiableProperty ;
    sh:message "s223: A `QuantifiableProperty` shall be associated with zero or more other `QuantifiableProperty`s using the relation `hasSetpoint`. This can be used to indicate the desired value which the control process is trying to maintain." ;
    sh:path s223:hasSetpoint .


            

URI: c14n580


@prefix qudt: <http://qudt.org/schema/qudt/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] rdfs:comment "A `QuantifiableProperty` shall be associated with zero or more `qudt:QuantityValue`s using the relation `qudt:quantityValue`. This allows for the expression of multiple equivalent combinations of a `Unit` and value. However, typically a `QuantifiableProperty` is associated with a static decimal value using `hasValue`, along with a single `Unit` and `QuantityKind`." ;
    sh:class qudt:QuantityValue ;
    sh:message "s223: A `QuantifiableProperty` shall be associated with zero or more `qudt:QuantityValue`s using the relation `qudt:quantityValue`. This allows for the expression of multiple equivalent combinations of a `Unit` and value. However, typically a `QuantifiableProperty` is associated with a static decimal value using `hasValue`, along with a single `Unit` and `QuantityKind`." ;
    sh:path qudt:quantityValue .


            

URI: c14n63


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
@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 deadband use non-commensurate `Unit`s." ;
    sh:path qudt:hasUnit ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "This `QuantifiableProperty` and the associated deadband use non-commensurate `Unit`s." ;
            sh:message "s223: {$this} uses `Unit` {?punit}, while deadband {?deadband} uses `Unit` {?dunit}. These are non-commensurate." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this ?deadband ?punit ?dunit
WHERE {
$this qudt:hasUnit ?punit .
$this s223:hasDeadband ?deadband .
?deadband qudt:hasUnit ?dunit .
?punit qudt:hasDimensionVector ?pdv .
?dunit qudt:hasDimensionVector ?ddv .
FILTER (?punit != ?dunit) .
FILTER (?pdv != ?ddv) .
}
""" ] .


            

URI: c14n747


@prefix qudt: <http://qudt.org/schema/qudt/> .
@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` shall be associated with at most one `Unit` using the relation `qudt:hasUnit`." ;
    sh:class qudt:Unit ;
    sh:maxCount 1 ;
    sh:message "s223: A `QuantifiableProperty` shall be associated with at most one `Unit` using the relation `qudt:hasUnit`." ;
    sh:path qudt:hasUnit .


            

URI: c14n750


@prefix 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 `QuantifiableProperty` shall be associated with zero or more `EnumerableProperty`s using the relation `hasAlarmStatus`." ;
    sh:class s223:EnumerableProperty ;
    sh:message "s223: A `QuantifiableProperty` shall be associated with zero or more `EnumerableProperty`s using the relation `hasAlarmStatus`." ;
    sh:path s223:hasAlarmStatus .


            

URI: c14n788


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] rdfs:comment "This `QuantifiableProperty` and the deadband associated with it have non-commensurate `QuantityKind`s." ;
    sh:path qudt:hasQuantityKind ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "This `QuantifiableProperty` and the deadband associated with it have non-commensurate `QuantityKind`s." ;
            sh:message "s223: {$this} uses `QuantityKind` {?pqk} with DimensionVector {?pdv}, while deadband {?deadband} uses `QuantityKind` {?dqk} with DimensionVector {?ddv}. These are non-commensurate" ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this ?deadband ?pqk ?dqk ?pdv ?ddv
WHERE {
$this qudt:hasQuantityKind ?pqk .
$this s223:hasDeadband ?deadband .
?deadband qudt:hasQuantityKind ?dqk .
?pqk qudt:hasDimensionVector ?pdv .
?dqk qudt:hasDimensionVector ?ddv .
FILTER (?pqk != ?dqk) .
FILTER (?pdv != ?ddv) .
}
""" ] .


            

URI: c14n801


@prefix 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 `QuantifiableProperty` shall be associated with zero or more other `QuantifiableProperty`s using the relation `hasDeadband`." ;
    sh:class s223:QuantifiableProperty ;
    sh:message "s223: A `QuantifiableProperty` shall be associated with zero or more other `QuantifiableProperty`s using the relation `hasDeadband`." ;
    sh:path s223:hasDeadband .


            

URI: c14n859


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
@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 threshold associated with it." ;
    sh:path qudt:hasUnit ;
    sh:severity sh:Info ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "This `QuantifiableProperty` uses a different `Unit` than the threshold associated with it." ;
            sh:message "s223: {$this} uses `Unit` {?punit}, while threshold {?threshold} uses `Unit` {?tunit}. Be careful." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this ?threshold ?punit ?tunit
WHERE {
$this qudt:hasUnit ?punit .
$this s223:hasThreshold ?threshold .
?threshold qudt:hasUnit ?tunit .
?punit qudt:hasDimensionVector ?pdv .
?tunit qudt:hasDimensionVector ?tdv .
FILTER (?punit != ?tunit) .
FILTER (?pdv = ?tdv) .
}
""" ] .


            

URI: c14n882


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


            

URI: c14n91


@prefix qudt: <http://qudt.org/schema/qudt/> .
@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` shall be associated with exactly one `QuantityKind` using the relation `qudt:hasQuantityKind`." ;
    sh:class qudt:QuantityKind ;
    sh:maxCount 1 ;
    sh:message "s223: A `QuantifiableProperty` shall be associated with exactly one `QuantityKind` using the relation `qudt:hasQuantityKind`." ;
    sh:minCount 1 ;
    sh:path qudt:hasQuantityKind .


            

URI: c14n960


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] rdfs:comment "This `QuantifiableProperty` and the threshold associated with it have non-commensurate `QuantityKind`s." ;
    sh:path qudt:hasQuantityKind ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "This `QuantifiableProperty` and the threshold associated with it have non-commensurate `QuantityKind`s." ;
            sh:message "s223: {$this} uses `QuantityKind` {?pqk} with DimensionVector {?pdv}, while threshold {?threshold} uses `QuantityKind` {?tqk} with DimensionVector {?tdv}. These are non-commensurate" ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this ?threshold ?pqk ?sqk ?pdv ?sdv
WHERE {
$this qudt:hasQuantityKind ?pqk .
$this s223:hasThreshold ?threshold .
?threshold qudt:hasQuantityKind ?tqk .
?pqk qudt:hasDimensionVector ?pdv .
?tqk qudt:hasDimensionVector ?tdv .
FILTER (?pqk != ?tqk) .
FILTER (?pdv != ?tdv) .
}
""" ] .


            

URI: c14n1040


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "This `QuantifiableProperty` and the threshold associated with it have non-commensurate `QuantityKind`s." ;
    sh:message "s223: {$this} uses `QuantityKind` {?pqk} with DimensionVector {?pdv}, while threshold {?threshold} uses `QuantityKind` {?tqk} with DimensionVector {?tdv}. These are non-commensurate" ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this ?threshold ?pqk ?sqk ?pdv ?sdv
WHERE {
$this qudt:hasQuantityKind ?pqk .
$this s223:hasThreshold ?threshold .
?threshold qudt:hasQuantityKind ?tqk .
?pqk qudt:hasDimensionVector ?pdv .
?tqk qudt:hasDimensionVector ?tdv .
FILTER (?pqk != ?tqk) .
FILTER (?pdv != ?tdv) .
}
""" .


            

URI: c14n539


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "This `QuantifiableProperty` and the setpoint associated with it have non-commensurate `QuantityKind`s." ;
    sh:message "s223: {$this} uses `QuantityKind` {?pqk} with DimensionVector {?pdv}, while Setpoint {?setpoint} uses `QuantityKind` {?sqk} with DimensionVector {?sdv}. These are non-commensurate" ;
    sh:prefixes ns6: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) .
}
""" .


            

URI: c14n688


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "This `QuantifiableProperty` uses a different `Unit` than the threshold associated with it." ;
    sh:message "s223: {$this} uses `Unit` {?punit}, while threshold {?threshold} uses `Unit` {?tunit}. Be careful." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this ?threshold ?punit ?tunit
WHERE {
$this qudt:hasUnit ?punit .
$this s223:hasThreshold ?threshold .
?threshold qudt:hasUnit ?tunit .
?punit qudt:hasDimensionVector ?pdv .
?tunit qudt:hasDimensionVector ?tdv .
FILTER (?punit != ?tunit) .
FILTER (?pdv = ?tdv) .
}
""" .


            

URI: c14n963


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "This `QuantifiableProperty` and the deadband associated with it have non-commensurate `QuantityKind`s." ;
    sh:message "s223: {$this} uses `QuantityKind` {?pqk} with DimensionVector {?pdv}, while deadband {?deadband} uses `QuantityKind` {?dqk} with DimensionVector {?ddv}. These are non-commensurate" ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this ?deadband ?pqk ?dqk ?pdv ?ddv
WHERE {
$this qudt:hasQuantityKind ?pqk .
$this s223:hasDeadband ?deadband .
?deadband qudt:hasQuantityKind ?dqk .
?pqk qudt:hasDimensionVector ?pdv .
?dqk qudt:hasDimensionVector ?ddv .
FILTER (?pqk != ?dqk) .
FILTER (?pdv != ?ddv) .
}
""" .


            

URI: c14n1013


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "This `QuantifiableProperty` and the associated deadband use non-commensurate `Unit`s." ;
    sh:message "s223: {$this} uses `Unit` {?punit}, while deadband {?deadband} uses `Unit` {?dunit}. These are non-commensurate." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this ?deadband ?punit ?dunit
WHERE {
$this qudt:hasUnit ?punit .
$this s223:hasDeadband ?deadband .
?deadband qudt:hasUnit ?dunit .
?punit qudt:hasDimensionVector ?pdv .
?dunit qudt:hasDimensionVector ?ddv .
FILTER (?punit != ?dunit) .
FILTER (?pdv != ?ddv) .
}
""" .


            

URI: c14n287


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "This `QuantifiableProperty` uses a different `Unit` than the deadband associated with it." ;
    sh:message "s223: {$this} uses `Unit` {?punit}, while deadband {?deadband} uses `Unit` {?dunit}. Be careful." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this ?deadband ?punit ?dunit
WHERE {
$this qudt:hasUnit ?punit .
$this s223:hasDeadband ?deadband .
?deadband qudt:hasUnit ?dunit .
?punit qudt:hasDimensionVector ?pdv .
?dunit qudt:hasDimensionVector ?ddv .
FILTER (?punit != ?dunit) .
FILTER (?pdv = ?ddv) .
}
""" .


            

URI: c14n1073


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "This `QuantifiableProperty` and the associated setpoint use non-commensurate `Unit`s." ;
    sh:message "s223: {$this} uses `Unit` {?punit}, while setpoint {?setpoint} uses `Unit` {?sunit}. These are non-commensurate." ;
    sh:prefixes ns6: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) .
}
""" .


            

URI: c14n849


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "This `QuantifiableProperty` cannot have a value without a `Unit`." ;
    sh:message "s223: {$this} referenced by {?subject} has a value of {?v} but does not specify a `Unit`." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this ?v ?subject
WHERE {
$this s223:hasValue ?v .
FILTER NOT EXISTS {$this qudt:hasUnit ?u} .
?subject ?p $this .
}
""" .


            

URI: c14n10


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "This `QuantifiableProperty` uses a different `Unit` than the setpoint associated with it." ;
    sh:message "s223: {$this} uses `Unit` {?punit}, while setpoint {?setpoint} uses `Unit` {?sunit}. Be careful." ;
    sh:prefixes ns6: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) .
}
""" .


            

URI: c14n103


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "This `QuantifiableProperty` and the associated threshold use non-commensurate `Unit`s." ;
    sh:message "s223: {$this} uses `Unit` {?punit}, while threshold {?threshold} uses `Unit` {?tunit}. These are non-commensurate." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this ?threshold ?punit ?tunit
WHERE {
$this qudt:hasUnit ?punit .
$this s223:hasThreshold ?threshold .
?threshold qudt:hasUnit ?tunit .
?punit qudt:hasDimensionVector ?pdv .
?tunit qudt:hasDimensionVector ?tdv .
FILTER (?punit != ?tunit) .
FILTER (?pdv != ?tdv) .
}
""" .


            

URI: c14n1006


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 `ConnectionPoint`s of a `Pump` must have compatible media." ;
    sh:path s223:hasConnectionPoint ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "The non-electrical `ConnectionPoint`s of a `Pump` must have compatible media." ;
            sh:message "s223: {?cpa} and {?cpb} on the `Pump` {$this} have incompatible Media {$mediuma} and {$mediumb}." ;
            sh:prefixes ns6: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:Constituent-Electricity}) .
  ?cpb s223:hasMedium ?mediumb .
  FILTER (NOT EXISTS {?mediumb a/rdfs:subClassOf* s223:Constituent-Electricity}) .
  FILTER (?mediuma != ?mediumb) .
  FILTER (NOT EXISTS {?mediumb a/rdfs:subClassOf* ?mediuma}) .
  FILTER (NOT EXISTS {?mediuma a/rdfs:subClassOf* ?mediumb}) .
}
""" ] .


            

URI: c14n26


@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 `Fluid-Water`, `Fluid-Oil` or `Constituent-Refrigerant`." ;
    sh:message "s223: A `Pump` shall have at least one outlet using the medium `Fluid-Water`, `Fluid-Oil` or `Constituent-Refrigerant`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:or ( [ sh:class s223:Fluid-Water ] [ sh:class s223:Constituent-Refrigerant ] [ sh:class s223:Fluid-Oil ] ) ;
                            sh:path s223:hasMedium ] ] ] ;
    sh:severity sh:Warning .


            

URI: c14n769


@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 `Fluid-Water`, `Fluid-Oil` or `Constituent-Refrigerant`." ;
    sh:message "s223: A `Pump` shall have at least one inlet using the medium `Fluid-Water`, `Fluid-Oil` or `Constituent-Refrigerant`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:or ( [ sh:class s223:Fluid-Water ] [ sh:class s223:Constituent-Refrigerant ] [ sh:class s223:Fluid-Oil ] ) ;
                            sh:path s223:hasMedium ] ] ] ;
    sh:severity sh:Warning .


            

URI: c14n685


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "The non-electrical `ConnectionPoint`s of a `Pump` must have compatible media." ;
    sh:message "s223: {?cpa} and {?cpb} on the `Pump` {$this} have incompatible Media {$mediuma} and {$mediumb}." ;
    sh:prefixes ns6: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:Constituent-Electricity}) .
  ?cpb s223:hasMedium ?mediumb .
  FILTER (NOT EXISTS {?mediumb a/rdfs:subClassOf* s223:Constituent-Electricity}) .
  FILTER (?mediuma != ?mediumb) .
  FILTER (NOT EXISTS {?mediumb a/rdfs:subClassOf* ?mediuma}) .
  FILTER (NOT EXISTS {?mediuma a/rdfs:subClassOf* ?mediumb}) .
}
""" .


            

URI: c14n1005


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with at most one `Substance-Medium` using the relation `ofMedium`." ;
    sh:class s223:Substance-Medium ;
    sh:maxCount 1 ;
    sh:message "s223: A `Property` shall be associated with at most one `Substance-Medium` using the relation `ofMedium`." ;
    sh:path s223:ofMedium .


            

URI: c14n1055


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "A `Property` cannot be declared an instance of both an `ActuatableProperty` and an `ObservableProperty`." ;
    sh:message "s223: {$this} cannot be declared an instance of both an `ActuatableProperty` and an `ObservableProperty`." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this
WHERE {
$this a/rdfs:subClassOf* s223:ActuatableProperty .
$this a/rdfs:subClassOf* s223:ObservableProperty .
}
""" .


            

URI: c14n1056


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 `Property` must not have both a `hasInternalReference` and a `hasExternalReference` relation." ;
    sh:path s223:hasInternalReference ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "A `Property` must not have both a `hasInternalReference` and a `hasExternalReference` relation." ;
            sh:message "s223: {$this} cannot have both a `hasInternalReference` and a `hasExternalReference` relation." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this
WHERE {
$this s223:hasInternalReference ?int .
$this s223:hasExternalReference ?ext .
}
""" ] .


            

URI: c14n234


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with at most one value using the relation `hasValue` to provide a static value in the model. It is not meant for real-time value (see {s223:hasExternalReference})." ;
    sh:maxCount 1 ;
    sh:message "s223: A `Property` shall be associated with at most one value using the relation `hasValue` to provide a static value in the model. It is not meant for real-time value (see {s223:hasExternalReference})." ;
    sh:path s223:hasValue .


            

URI: c14n298


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with at most one other `Property` using the relation `isInternalReferenceOf`." ;
    sh:class s223:Property ;
    sh:maxCount 1 ;
    sh:message "s223: A `Property` shall be associated with at most one other `Property` using the relation `isInternalReferenceOf`." ;
    sh:path s223:isInternalReferenceOf .


            

URI: c14n306


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with at most one `EnumerationKind-Substance` using the relation `ofSubstance`." ;
    sh:class s223:EnumerationKind-Substance ;
    sh:maxCount 1 ;
    sh:message "s223: A `Property` shall be associated with at most one `EnumerationKind-Substance` using the relation `ofSubstance`." ;
    sh:path s223:ofSubstance .


            

URI: c14n427


@prefix 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 `Property` shall be associated with zero or more `ExternalReference`s using the relation `hasExternalReference`." ;
    sh:class s223:ExternalReference ;
    sh:message "s223: A `Property` shall be associated with zero or more `ExternalReference`s using the relation `hasExternalReference`." ;
    sh:path s223:hasExternalReference .


            

URI: c14n620


@prefix 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 `Property` shall be associated with zero or more `EnumerationKind`s using the relation `hasAspect`." ;
    sh:class s223:EnumerationKind ;
    sh:message "s223: A `Property` shall be associated with zero or more `EnumerationKind`s using the relation `hasAspect`." ;
    sh:path s223:hasAspect .


            

URI: c14n689


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "If an incoming relation `composedOf` exists, then the `Property` must have a declared substance using the relation `ofConstituent`." ;
    sh:message "s223: `Property` {$this} is referred to by {?something} with s223:composedOf, but the `Property` has no value for s223:ofConstituent." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this ?something
WHERE {
?something s223:composedOf $this .
FILTER NOT EXISTS {$this s223:ofConstituent ?someSubstance} .
}
""" .


            

URI: c14n715


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with at most one `Function` using the inverse of the relation `hasOutput`." ;
    sh:class s223:Function ;
    sh:maxCount 1 ;
    sh:message "s223: A `Property` shall be associated with at most one `Function` using the inverse of the relation `hasOutput`." ;
    sh:path [ sh:inversePath s223:hasOutput ] .


            

URI: c14n740


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` must not be observed (set) by more than one entity." ;
    sh:maxCount 1 ;
    sh:message "s223: A `Property` must not be observed (set) by more than one entity." ;
    sh:path [ sh:inversePath s223:observes ] .


            

URI: c14n751


@prefix 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 `Property` shall be associated with zero or more `Property`s using the relation `hasInternalReference`." ;
    sh:class s223:Property ;
    sh:message "s223: A `Property` shall be associated with zero or more `Property`s using the relation `hasInternalReference`." ;
    sh:path s223:hasInternalReference .


            

URI: c14n790


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 `Property` has an `ofSubstance` relation, it should also have an `ofMedium` relation." ;
    sh:path s223:ofSubstance ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "If a `Property` has an `ofSubstance` relation, it should also have an `ofMedium` relation." ;
            sh:message "s223: Since Property {$this} has an `ofSubstance` relation, it should also have an `ofMedium` relation." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this
WHERE {
$this s223:ofSubstance ?substance .
FILTER NOT EXISTS {$this s223:ofMedium ?medium} .
}
""" ] .


            

URI: c14n80


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 `Property` must not have both a `hasExternalReference` and a `hasValue` relation." ;
    sh:path s223:hasValue ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "A `Property` must not have both a `hasExternalReference` and a `hasValue` relation." ;
            sh:message "s223: {$this} cannot have both a `hasExternalReference` and a `hasValue` relation." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this
WHERE {
$this s223:hasExternalReference ?ext .
$this s223:hasValue ?val .
}
""" ] .


            

URI: c14n910


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 `Property` must not have both a `hasInternalReference` and a `hasValue` relation." ;
    sh:path s223:hasInternalReference ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "A `Property` must not have both a `hasInternalReference` and a `hasValue` relation." ;
            sh:message "s223: {$this} cannot have both a `hasInternalReference` and a `hasValue` relation." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this
WHERE {
$this s223:hasInternalReference ?int .
$this s223:hasValue ?val .
}
""" ] .


            

URI: c14n911


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "A `Property` must not have both a `hasInternalReference` and a `hasValue` relation." ;
    sh:message "s223: {$this} cannot have both a `hasInternalReference` and a `hasValue` relation." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this
WHERE {
$this s223:hasInternalReference ?int .
$this s223:hasValue ?val .
}
""" .


            

URI: c14n256


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "A `Property` must not have both a `hasExternalReference` and a `hasValue` relation." ;
    sh:message "s223: {$this} cannot have both a `hasExternalReference` and a `hasValue` relation." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this
WHERE {
$this s223:hasExternalReference ?ext .
$this s223:hasValue ?val .
}
""" .


            

URI: c14n439


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "If a `Property` has an `ofSubstance` relation, it should also have an `ofMedium` relation." ;
    sh:message "s223: Since Property {$this} has an `ofSubstance` relation, it should also have an `ofMedium` relation." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this
WHERE {
$this s223:ofSubstance ?substance .
FILTER NOT EXISTS {$this s223:ofMedium ?medium} .
}
""" .


            

URI: c14n410


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "A `Property` must not have both a `hasInternalReference` and a `hasExternalReference` relation." ;
    sh:message "s223: {$this} cannot have both a `hasInternalReference` and a `hasExternalReference` relation." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this
WHERE {
$this s223:hasInternalReference ?int .
$this s223:hasExternalReference ?ext .
}
""" .


            

URI: c14n140


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "A `PressureSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Pressure` or `GaugePressure`." ;
    sh:class s223:QuantifiableObservableProperty ;
    sh:message "s223: A `PressureSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Pressure` or `GaugePressure`." ;
    sh:node [ sh:property [ sh:in ( quantitykind:Pressure quantitykind:GaugePressure ) ;
                    sh:path qudt:hasQuantityKind ] ] ;
    sh:path s223:observes .


            

URI: c14n148


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `PowerOverEthernetSwitch` shall have at least one bidirectional connection point using the medium `PowerAndSignal-PoE`." ;
    sh:message "s223: A `PowerOverEthernetSwitch` shall have at least one bidirectional connection point using the medium `PowerAndSignal-PoE`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:PowerAndSignal-PoE ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n828


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `PowerOverEthernetSwitch` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: A `PowerOverEthernetSwitch` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n129


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `PowerOverEthernetPort` shall have at least one bidirectional connection point using the medium `PowerAndSignal-PoE`." ;
    sh:message "s223: A `PowerOverEthernetPort` shall have at least one bidirectional connection point using the medium `PowerAndSignal-PoE`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:PowerAndSignal-PoE ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n522


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `PowerOverEthernetPort` shall have at least one inlet using the medium `Electricity-DC`." ;
    sh:message "s223: A `PowerOverEthernetPort` shall have at least one inlet using the medium `Electricity-DC`." ;
    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 ] ] ] .


            

URI: c14n177


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `PowerAndSignal-PoE` shall be a `DC-PoE`." ;
    sh:message "s223: One of the constituents of a `PowerAndSignal-PoE` shall be a `DC-PoE`." ;
    sh:path s223:composedOf ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:Property ;
            sh:node [ sh:property [ sh:class s223:DC-PoE ;
                            sh:path s223:ofConstituent ] ] ] ;
    sh:qualifiedValueShapesDisjoint true .


            

URI: c14n697


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `PowerAndSignal-PoE` shall be associated with at least two `Property`s using the relation `composedOf`. These characterize the constituents of Power over Ethernet (PoE)." ;
    sh:class s223:Property ;
    sh:message "s223: A `PowerAndSignal-PoE` shall be associated with at least two `Property`s using the relation `composedOf`. These characterize the constituents of Power over Ethernet (PoE)." ;
    sh:minCount 2 ;
    sh:path s223:composedOf .


            

URI: c14n772


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `PowerAndSignal-PoE` shall be a `Signal-WiredEthernet`." ;
    sh:message "s223: One of the constituents of a `PowerAndSignal-PoE` shall be a `Signal-WiredEthernet`." ;
    sh:path s223:composedOf ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:Property ;
            sh:node [ sh:property [ sh:class s223:Signal-WiredEthernet ;
                            sh:path s223:ofConstituent ] ] ] ;
    sh:qualifiedValueShapesDisjoint true .


            

URI: c14n552


@prefix 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 `PhysicalSpace` shall be associated with zero or more contained `PhysicalSpace`s using the relation `contains`." ;
    sh:class s223:PhysicalSpace ;
    sh:message "s223: A `PhysicalSpace` shall be associated with zero or more contained `PhysicalSpace`s using the relation `contains`." ;
    sh:path s223:contains .


            

URI: c14n901


@prefix 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 `PhysicalSpace` shall be associated with zero or more enclosed `DomainSpace`s using the relation `encloses`." ;
    sh:class s223:DomainSpace ;
    sh:message "s223: A `PhysicalSpace` shall be associated with zero or more enclosed `DomainSpace`s using the relation `encloses`." ;
    sh:path s223:encloses .


            

URI: c14n188


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `PhotovoltaicModule` shall have at least one inlet using the medium `EM-Light`." ;
    sh:message "s223: A `PhotovoltaicModule` shall have at least one inlet using the medium `EM-Light`." ;
    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 ] ] ] .


            

URI: c14n822


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `PhotovoltaicModule` shall have at least one outlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: A `PhotovoltaicModule` shall have at least one outlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n930


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `PersonalComputer` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: A `PersonalComputer` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n224


@prefix 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 `ParticulateSensor` shall always observe a `QuantifiableObservableProperty`." ;
    sh:class s223:QuantifiableObservableProperty ;
    sh:message "s223: A `ParticulateSensor` shall always observe a `QuantifiableObservableProperty`." ;
    sh:path s223:observes .


            

URI: c14n356


@prefix 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 `ParticulateSensor` shall be associated with zero or more `Substance-Particulate`s using the relation `ofSubstance`." ;
    sh:class s223:Substance-Particulate ;
    sh:message "s223: A `ParticulateSensor` shall be associated with zero or more `Substance-Particulate`s using the relation `ofSubstance`." ;
    sh:path s223:ofSubstance .


            

URI: c14n55


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `OutletConnectionPoint` shall be associated with at most one other `OutletConnectionPoint` using the relation `mapsTo`." ;
    sh:class s223:OutletConnectionPoint ;
    sh:maxCount 1 ;
    sh:message "s223: An `OutletConnectionPoint` shall be associated with at most one other `OutletConnectionPoint` using the relation `mapsTo`." ;
    sh:path s223:mapsTo .


            

URI: c14n643


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "s223: {$this} must have a `mapsTo` an `OutletConnectionPoint` of {?parentEquipment} and not an external `Connection` to {?destinationEquipment}." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this ?parentEquipment ?destinationEquipment
WHERE {
?equipment s223:hasConnectionPoint $this .
?parentEquipment s223:contains ?equipment .
$this s223:connectsThrough/s223:connectsTo ?destinationEquipment .
FILTER NOT EXISTS {?parentEquipment s223:contains ?destinationEquipment} .
FILTER NOT EXISTS {$this s223:mapsTo ?anything} .
}
""" ] .


            

URI: c14n974


@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 `OutletConnectionPoint` shall be associated with at most one `InletConnectionPoint` or `BidirectionalConnectionPoint` using the relation `pairedConnectionPoint`." ;
    sh:maxCount 1 ;
    sh:message "s223: An `OutletConnectionPoint` shall be associated with at most one `InletConnectionPoint` or `BidirectionalConnectionPoint` using the relation `pairedConnectionPoint`." ;
    sh:path s223:pairedConnectionPoint ;
    sh:xone ( [ sh:class s223:InletConnectionPoint ] [ sh:class s223:BidirectionalConnectionPoint ] ) .


            

URI: c14n844


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Ensure an `OutletConnectionPoint` has a `mapsTo` relation to its containing `Equipment` if it has an external `Connection`." ;
    sh:message "s223: {$this} must have a `mapsTo` an `OutletConnectionPoint` of {?parentEquipment} and not an external `Connection` to {?destinationEquipment}." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this ?parentEquipment ?destinationEquipment
WHERE {
?equipment s223:hasConnectionPoint $this .
?parentEquipment s223:contains ?equipment .
$this s223:connectsThrough/s223:connectsTo ?destinationEquipment .
FILTER NOT EXISTS {?parentEquipment s223:contains ?destinationEquipment} .
FILTER NOT EXISTS {$this s223:mapsTo ?anything} .
}
""" .


            

URI: c14n852


@prefix 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 "An `OccupantPresenceSensor` shall always observe an `EnumeratedObservableProperty` that has an `EnumerationKind` of `Occupancy-Presence`." ;
    sh:class s223:EnumeratedObservableProperty ;
    sh:message "s223: An `OccupantPresenceSensor` shall always observe an `EnumeratedObservableProperty` that has an `EnumerationKind` of `Occupancy-Presence`." ;
    sh:node [ sh:property [ sh:class s223:Occupancy-Presence ;
                    sh:path s223:hasEnumerationKind ] ] ;
    sh:path s223:observes .


            

URI: c14n874


@prefix 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 "An `OccupantMotionSensor` shall always observe an `EnumeratedObservableProperty` that has an `EnumerationKind` of `Occupancy-Motion`." ;
    sh:class s223:EnumeratedObservableProperty ;
    sh:message "s223: An `OccupantMotionSensor` shall always observe an `EnumeratedObservableProperty` that has an `EnumerationKind` of `Occupancy-Motion`." ;
    sh:node [ sh:property [ sh:class s223:Occupancy-Motion ;
                    sh:path s223:hasEnumerationKind ] ] ;
    sh:path s223:observes .


            

URI: c14n135


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 unit: <http://qudt.org/vocab/unit/> .

[] rdfs:comment "An `OccupantCountSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Population` and a `Unit` of `NUM`." ;
    sh:class s223:QuantifiableObservableProperty ;
    sh:message "s223: An `OccupantCountSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Population` and a `Unit` of `NUM`." ;
    sh:node [ sh:property [ sh:in ( quantitykind:Population ) ;
                    sh:path qudt:hasQuantityKind ],
                [ sh:in ( unit:NUM ) ;
                    sh:path qudt:hasUnit ] ] ;
    sh:path s223:observes .


            

URI: c14n525


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ObservableProperty` is usually referred to by a `Sensor` using the relation `observes`." ;
    sh:class s223:Sensor ;
    sh:message "s223: An `ObservableProperty` is usually referred to by a `Sensor` using the relation `observes`." ;
    sh:minCount 1 ;
    sh:path [ sh:inversePath s223:observes ] ;
    sh:severity sh:Warning .


            

URI: c14n130


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 sh: <http://www.w3.org/ns/shacl#> .

[] rdfs:comment "A `Numerical-Voltage` shall have a `QuantityKind` of `Voltage`." ;
    sh:in ( quantitykind:Voltage ) ;
    sh:message "s223: A `Numerical-Voltage` shall have a `QuantityKind` of `Voltage`." ;
    sh:path qudt:hasQuantityKind .


            

URI: c14n309


@prefix qudt: <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 sh: <http://www.w3.org/ns/shacl#> .
@prefix unit: <http://qudt.org/vocab/unit/> .

[] rdfs:comment "A `Numerical-Voltage` shall have a `Unit` of `V` (volt)." ;
    sh:in ( unit:V ) ;
    sh:message "s223: A `Numerical-Voltage` shall have a `Unit` of `V` (volt)." ;
    sh:path qudt:hasUnit .


            

URI: c14n183


@prefix qudt: <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 sh: <http://www.w3.org/ns/shacl#> .
@prefix unit: <http://qudt.org/vocab/unit/> .

[] rdfs:comment "A `Numerical-NumberOfElectricalPhases` shall have a `Unit` of `NUM` (number)." ;
    sh:in ( unit:NUM ) ;
    sh:message "s223: A `Numerical-NumberOfElectricalPhases` shall have a `Unit` of `NUM` (number)." ;
    sh:path qudt:hasUnit .


            

URI: c14n401


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 sh: <http://www.w3.org/ns/shacl#> .

[] rdfs:comment "A `Numerical-NumberOfElectricalPhases` shall have a `QuantityKind` of `NumberOfElectricalPhases`." ;
    sh:in ( quantitykind:NumberOfElectricalPhases ) ;
    sh:message "s223: A `Numerical-NumberOfElectricalPhases` shall have a `QuantityKind` of `NumberOfElectricalPhases`." ;
    sh:path qudt:hasQuantityKind .


            

URI: c14n16


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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 sh: <http://www.w3.org/ns/shacl#> .

[] rdfs:comment "A `Numerical-Frequency` shall have a `QuantityKind` of `Frequency`." ;
    sh:in ( quantitykind:Frequency ) ;
    sh:message "s223: A `Numerical-Frequency` shall have a `QuantityKind` of `Frequency`." ;
    sh:path qudt:hasQuantityKind .


            

URI: c14n918


@prefix qudt: <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 sh: <http://www.w3.org/ns/shacl#> .
@prefix unit: <http://qudt.org/vocab/unit/> .

[] rdfs:comment "A `Numerical-Frequency` shall have a `Unit` of `HZ` (hertz)." ;
    sh:in ( unit:HZ ) ;
    sh:message "s223: A `Numerical-Frequency` shall have a `Unit` of `HZ` (hertz)." ;
    sh:path qudt:hasUnit .


            

URI: c14n1014


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 entity can be contained by at most one other entity." ;
    sh:maxCount 1 ;
    sh:message "s223: An entity can be contained by at most one other entity." ;
    sh:path [ sh:inversePath s223:contains ] .


            

URI: c14n1097


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Constituent-Electricity`." ;
    sh:message "s223: A `Motor` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n850


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `MicrowaveOven` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: A `MicrowaveOven` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n970


@prefix 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 `Medium-Mix` shall be associated with zero or more `Property`s that identify and characterize its constituents using the relation `composedOf`. The `Property` identifies the constituent using the relation `ofConstituent`. If appropriate, a `QuantifiableProperty` may be used to also specify the amount of the constituent using the relations `qudt:hasQuantityKind`, `qudt:hasUnit`, and `hasValue`. For example, see {s223:Water-GlycolSolution}." ;
    sh:class s223:Property ;
    sh:message "s223: A `Medium-Mix` shall be associated with zero or more `Property`s that identify and characterize its constituents using the relation `composedOf`. The `Property` identifies the constituent using the relation `ofConstituent`. If appropriate, a `QuantifiableProperty` may be used to also specify the amount of the constituent using the relations `qudt:hasQuantityKind`, `qudt:hasUnit`, and `hasValue`. For example, see {s223:Water-GlycolSolution}." ;
    sh:path s223:composedOf .


            

URI: c14n1106


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Medium-Constituent` shall not be associated with any substances using the relation `composedOf`." ;
    sh:maxCount 0 ;
    sh:message "s223: A `Medium-Constituent` shall not be associated with any substances using the relation `composedOf`." ;
    sh:path s223:composedOf .


            

URI: c14n254


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:message "s223: A `Luminaire` shall have at least one outlet using the medium `EM-Light`." ;
    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 ] ] ] .


            

URI: c14n584


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Constituent-Electricity`." ;
    sh:message "s223: A `Luminaire` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n534


@prefix 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 `LightSensor` shall always observe a `QuantifiableObservableProperty`." ;
    sh:class s223:QuantifiableObservableProperty ;
    sh:message "s223: A `LightSensor` shall always observe a `QuantifiableObservableProperty`." ;
    sh:path s223:observes .


            

URI: c14n955


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "This `Junction` is not used to model significant details of a branching point in a connection, and may not be required." ;
    sh:message "s223: This `Junction` {$this} is not used to model significant details of a branching point in a connection, and may not be required." ;
    sh:prefixes ns6:model ;
    sh:select """
            SELECT $this
            WHERE {
                $this s223:hasConnectionPoint? | s223:connectedThrough? ?junc_cp_conn .

                FILTER NOT EXISTS {
                    # Connection has a relation that is not in the structural or required relationships
                    { ?junc_cp_conn ?p ?o . } UNION {?o ?p ?junc_cp_conn . }
                    FILTER (?p NOT IN (
                        s223:connected, s223:connectedTo, s223:connectedThrough, s223:hasConnectionPoint,
                        s223:connectsAt, s223:isConnectionPointOf, s223:cnx, rdf:type, rdfs:label, rdfs:comment
                    ))
                } .
            }
        """ ;
    sh:severity sh:Warning .


            

URI: c14n1145


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 two `ConnectionPoint`s including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ] ;
    sh:qualifiedValueShapesDisjoint true .


            

URI: c14n1149


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 two `ConnectionPoint`s including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ] ;
    sh:qualifiedValueShapesDisjoint true .


            

URI: c14n1152


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 two `ConnectionPoint`s including (a) at least one inlet and one outlet, or (b) at least one bidirectional connection point." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ] ;
    sh:qualifiedValueShapesDisjoint true .


            

URI: c14n1019


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "Incompatible Medium. Case 7: Two `ConnectionPoint`s with mediums with constituents." ;
    sh:name "Test for compatible declared Medium" ;
    sh:path s223:hasMedium ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Incompatible Medium. Case 7: Two `ConnectionPoint`s with mediums with constituents." ;
            sh:message "s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}." ;
            sh:prefixes ns6: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 .
    ?m1 s223:composedOf/s223:ofConstituent ?s1 .
    ?m2 s223:composedOf/s223:ofConstituent ?s2 .
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s11 .
    ?m2 s223:composedOf/s223:ofConstituent ?s12 .
    FILTER (?s11 = ?s12) .
  }
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s21 .
    ?m2 s223:composedOf/s223:ofConstituent ?s22 .
    {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .
  }
}
""" ] .


            

URI: c14n164


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "Incompatible Medium. Case 3: `Junction` with a pure medium and an associated `ConnectionPoint` with constituents" ;
    sh:name "Test for compatible declared Medium" ;
    sh:path s223:hasMedium ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Incompatible Medium. Case 3: `Junction` with a pure medium and an associated `ConnectionPoint` with constituents." ;
            sh:message "s223: `Junction` {$this} with Medium {?m1} is incompatible with {?cp} with Medium {?m2}." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this ?m2 ?cp ?m1
WHERE {
$this s223:cnx ?cp .
?cp a/rdfs:subClassOf* s223:ConnectionPoint .
?cp s223:hasMedium ?m2 .
$this s223:hasMedium ?m1 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" ] .


            

URI: c14n340


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "Incompatible Medium. Case5: Two `ConnectionPoint`s with pure mediums." ;
    sh:name "Test for compatible declared Medium" ;
    sh:path s223:hasMedium ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Incompatible Medium. Case 5: Two `ConnectionPoint`s with pure mediums." ;
            sh:message "s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}." ;
            sh:prefixes ns6: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 .
FILTER (?cp1 != ?cp2 ) .
?cp2 s223:hasMedium ?m2 .
FILTER (?m1 != ?m2 ) .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {?m2 s223:composedOf ?c2}
FILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .
FILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .
}
""" ] .


            

URI: c14n570


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "Incompatible Medium. Case 2: A `Junction` with constituents and an associated `ConnectionPoint` with a pure medium." ;
    sh:name "Test for compatible declared Medium" ;
    sh:path s223:hasMedium ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Incompatible Medium. Case 2: A `Junction` with constituents and an associated `ConnectionPoint` with a pure medium." ;
            sh:message "s223: `Junction` {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}." ;
            sh:prefixes ns6: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 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" ] .


            

URI: c14n729


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 be associated with exactly one `Substance-Medium` using the relation `hasMedium`." ;
    sh:class s223:Substance-Medium ;
    sh:maxCount 1 ;
    sh:message "s223: A `Junction` shall be associated with exactly one `Substance-Medium` using the relation `hasMedium`." ;
    sh:minCount 1 ;
    sh:path s223:hasMedium .


            

URI: c14n762


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 be associated with at least two connection points using the relation `hasConnectionPoint`." ;
    sh:message "s223: A `Junction` shall be associated with at least two connection points using the relation `hasConnectionPoint`." ;
    sh:minCount 2 ;
    sh:path s223:hasConnectionPoint .


            

URI: c14n774


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "Incompatible Medium. Case 6: Two `ConnectionPoint`s, one with a medium with constituents and one a pure medium." ;
    sh:name "Test for compatible declared Medium" ;
    sh:path s223:hasMedium ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Incompatible Medium. Case 6: Two `ConnectionPoint`s with a medium with constituents and a pure medium." ;
            sh:message "s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}." ;
            sh:prefixes ns6: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 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" ] .


            

URI: c14n802


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "Incompatible Medium. Case1: A `Junction` with a pure medium and an associated `ConnectionPoint` with a pure medium." ;
    sh:name "Test for compatible declared Medium" ;
    sh:path s223:hasMedium ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Incompatible Medium. Case 1: Two pure mediums." ;
            sh:message "s223: `Junction` {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}." ;
            sh:prefixes ns6: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 {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {?m2 s223:composedOf ?c2}
FILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .
FILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .
}
""" ] .


            

URI: c14n909


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "Incompatible Medium. Case4: `Junction` with constituents and an associated `ConnectionPoint` with constituents." ;
    sh:name "Test for compatible declared Medium" ;
    sh:path s223:hasMedium ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Incompatible Medium. Case 4: `Junction` with constituents and an associated `ConnectionPoint` with constituents." ;
            sh:message "s223: `Junction` {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}." ;
            sh:prefixes ns6: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 .
    ?m1 s223:composedOf/s223:ofConstituent ?s1 .
    ?m2 s223:composedOf/s223:ofConstituent ?s2 .
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s11 .
    ?m2 s223:composedOf/s223:ofConstituent ?s12 .
    FILTER (?s11 = ?s12) .
  }
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s21 .
    ?m2 s223:composedOf/s223:ofConstituent ?s22 .
    {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .
  }
}
""" ] .


            

URI: c14n921


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Incompatible Medium. Case 4: `Junction` with constituents and an associated `ConnectionPoint` with constituents." ;
    sh:message "s223: `Junction` {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}." ;
    sh:prefixes ns6: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 .
    ?m1 s223:composedOf/s223:ofConstituent ?s1 .
    ?m2 s223:composedOf/s223:ofConstituent ?s2 .
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s11 .
    ?m2 s223:composedOf/s223:ofConstituent ?s12 .
    FILTER (?s11 = ?s12) .
  }
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s21 .
    ?m2 s223:composedOf/s223:ofConstituent ?s22 .
    {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .
  }
}
""" .


            

URI: c14n530


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Incompatible Medium. Case 1: Two pure mediums." ;
    sh:message "s223: `Junction` {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}." ;
    sh:prefixes ns6: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 {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {?m2 s223:composedOf ?c2}
FILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .
FILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .
}
""" .


            

URI: c14n96


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Incompatible Medium. Case 6: Two `ConnectionPoint`s with a medium with constituents and a pure medium." ;
    sh:message "s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}." ;
    sh:prefixes ns6: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 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" .


            

URI: c14n217


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Incompatible Medium. Case 2: A `Junction` with constituents and an associated `ConnectionPoint` with a pure medium." ;
    sh:message "s223: `Junction` {$this} with Medium {?m2} is incompatible with {?cp} with Medium {?m1}." ;
    sh:prefixes ns6: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 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" .


            

URI: c14n592


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Incompatible Medium. Case 5: Two `ConnectionPoint`s with pure mediums." ;
    sh:message "s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}." ;
    sh:prefixes ns6: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 .
FILTER (?cp1 != ?cp2 ) .
?cp2 s223:hasMedium ?m2 .
FILTER (?m1 != ?m2 ) .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {?m2 s223:composedOf ?c2}
FILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .
FILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .
}
""" .


            

URI: c14n7


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Incompatible Medium. Case 3: `Junction` with a pure medium and an associated `ConnectionPoint` with constituents." ;
    sh:message "s223: `Junction` {$this} with Medium {?m1} is incompatible with {?cp} with Medium {?m2}." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this ?m2 ?cp ?m1
WHERE {
$this s223:cnx ?cp .
?cp a/rdfs:subClassOf* s223:ConnectionPoint .
?cp s223:hasMedium ?m2 .
$this s223:hasMedium ?m1 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" .


            

URI: c14n565


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Incompatible Medium. Case 7: Two `ConnectionPoint`s with mediums with constituents." ;
    sh:message "s223: {?cp1} with Medium {?m1} is incompatible with {?cp2} with Medium {?m2}." ;
    sh:prefixes ns6: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 .
    ?m1 s223:composedOf/s223:ofConstituent ?s1 .
    ?m2 s223:composedOf/s223:ofConstituent ?s2 .
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s11 .
    ?m2 s223:composedOf/s223:ofConstituent ?s12 .
    FILTER (?s11 = ?s12) .
  }
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s21 .
    ?m2 s223:composedOf/s223:ofConstituent ?s22 .
    {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .
  }
}
""" .


            

URI: c14n1007


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `InletConnectionPoint` shall be associated with at most one other `InletConnectionPoint` using the relation `mapsTo`." ;
    sh:class s223:InletConnectionPoint ;
    sh:maxCount 1 ;
    sh:message "s223: An `InletConnectionPoint` shall be associated with at most one other `InletConnectionPoint` using the relation `mapsTo`." ;
    sh:path s223:mapsTo .


            

URI: c14n111


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "s223: {$this} must have a `mapsTo` an `InletConnectionPoint` of {?parentEquipment} and not an external `Connection` from {?sourceEquipment}." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this ?parentEquipment ?sourceEquipment
WHERE {
?equipment s223:hasConnectionPoint $this .
?parentEquipment s223:contains ?equipment .
$this s223:connectsThrough/s223:connectsFrom ?sourceEquipment .
FILTER NOT EXISTS {?parentEquipment s223:contains ?sourceEquipment} .
FILTER NOT EXISTS {$this s223:mapsTo ?anything} .
}
""" ] .


            

URI: c14n857


@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 `InletConnectionPoint` shall be associated with at most one `OutletConnectionPoint` or `BidirectionalConnectionPoint` using the relation `pairedConnectionPoint`." ;
    sh:maxCount 1 ;
    sh:message "s223: An `InletConnectionPoint` shall be associated with at most one `OutletConnectionPoint` or `BidirectionalConnectionPoint` using the relation `pairedConnectionPoint`." ;
    sh:path s223:pairedConnectionPoint ;
    sh:xone ( [ sh:class s223:OutletConnectionPoint ] [ sh:class s223:BidirectionalConnectionPoint ] ) .


            

URI: c14n618


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Ensure an `InletConnectionPoint` has a `mapsTo` relation to its containing `Equipment` if it has an external `Connection`" ;
    sh:message "s223: {$this} must have a `mapsTo` an `InletConnectionPoint` of {?parentEquipment} and not an external `Connection` from {?sourceEquipment}." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this ?parentEquipment ?sourceEquipment
WHERE {
?equipment s223:hasConnectionPoint $this .
?parentEquipment s223:contains ?equipment .
$this s223:connectsThrough/s223:connectsFrom ?sourceEquipment .
FILTER NOT EXISTS {?parentEquipment s223:contains ?sourceEquipment} .
FILTER NOT EXISTS {$this s223:mapsTo ?anything} .
}
""" .


            

URI: c14n536


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "An `IlluminanceSensor` shall observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Illuminance`." ;
    sh:class s223:QuantifiableObservableProperty ;
    sh:message "s223: An `IlluminanceSensor` shall observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Illuminance`." ;
    sh:node [ sh:property [ sh:in ( quantitykind:Illuminance ) ;
                    sh:path qudt:hasQuantityKind ] ] ;
    sh:path s223:observes .


            

URI: c14n1089


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `IceMaker` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:message "s223: An `IceMaker` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n199


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `IceMaker` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: An `IceMaker` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n1080


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `HydronicHeatExchanger` shall have at least two inlets using the medium `Mix-Fluid`, each paired with an outlet." ;
    sh:message "s223: A `HydronicHeatExchanger` shall have at least two inlets using the medium `Mix-Fluid`, each paired with an outlet." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 2 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Mix-Fluid ;
                            sh:path s223:hasMedium ],
                        [ sh:class s223:OutletConnectionPoint ;
                            sh:minCount 1 ;
                            sh:path s223:pairedConnectionPoint ] ] ] .


            

URI: c14n460


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `HydronicHeatExchanger` shall have at least two outlets using the medium `Mix-Fluid`, each paired with an inlet." ;
    sh:message "s223: A `HydronicHeatExchanger` shall have at least two outlets using the medium `Mix-Fluid`, each paired with an inlet." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 2 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Mix-Fluid ;
                            sh:path s223:hasMedium ],
                        [ sh:class s223:InletConnectionPoint ;
                            sh:minCount 1 ;
                            sh:path s223:pairedConnectionPoint ] ] ] .


            

URI: c14n514


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `HydronicHeatExchanger` shall have no connection points using the medium `Fluid-Air`." ;
    sh:message "s223: A `HydronicHeatExchanger` shall have no connection points using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMaxCount 0 ;
    sh:qualifiedValueShape [ sh:property [ sh:class s223:Fluid-Air ;
                    sh:path s223:hasMedium ] ] .


            

URI: c14n681


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `HydronicHeatExchanger` shall have no bidirectional connection points." ;
    sh:message "s223: A `HydronicHeatExchanger` shall have no bidirectional connection points." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMaxCount 0 ;
    sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ] .


            

URI: c14n599


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "A `HumiditySensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of either `RelativeHumidity` or `AbsoluteHumidity`." ;
    sh:class s223:QuantifiableObservableProperty ;
    sh:message "s223: A `HumiditySensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of either `RelativeHumidity` or `AbsoluteHumidity`." ;
    sh:node [ sh:property [ sh:in ( quantitykind:RelativeHumidity quantitykind:AbsoluteHumidity ) ;
                    sh:path qudt:hasQuantityKind ] ] ;
    sh:path s223:observes .


            

URI: c14n744


@prefix 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 must always have the role `Role-Heating`" ;
    sh:object s223:Role-Heating ;
    sh:predicate s223:hasRole ;
    sh:subject sh:this .


            

URI: c14n807


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `HeatingCoil` shall at least have the role `Role-Heating`." ;
    sh:message "s223: A `HeatingCoil` shall at least have the role `Role-Heating`." ;
    sh:path s223:hasRole ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:Role-Heating ] .


            

URI: c14n311


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `GroundToAirHeatPump` shall have at least one inlet using the medium `Fluid-Air`." ;
    sh:message "s223: A `GroundToAirHeatPump` shall have at least one inlet using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n457


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `GroundToAirHeatPump` shall have at least one bidirectional connection point using the medium `Medium-ThermalContact`." ;
    sh:message "s223: A `GroundToAirHeatPump` shall have at least one bidirectional connection point using the medium `Medium-ThermalContact`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Medium-ThermalContact ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n827


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `GroundToAirHeatPump` shall have at least one outlet using the medium `Fluid-Air`." ;
    sh:message "s223: A `GroundToAirHeatPump` shall have at least one outlet using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n162


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Constituent-Electricity`." ;
    sh:message "s223: A `Generator` shall have at least one outlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n916


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "A `GaugePressureSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of GaugePressure and a value of `true` for `qudt:isDeltaQuantity`." ;
    sh:class s223:QuantifiableObservableProperty ;
    sh:message "s223: A `GaugePressureSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of GaugePressure and a value of `true` for `qudt:isDeltaQuantity`." ;
    sh:node [ sh:property [ sh:in ( quantitykind:GaugePressure ) ;
                    sh:path qudt:hasQuantityKind ],
                [ sh:in ( true ) ;
                    sh:path qudt:isDeltaQuantity ] ] ;
    sh:path s223:observes .


            

URI: c14n1050


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Fluid-Air`." ;
    sh:message "s223: A `Furnace` shall have at least one inlet using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n64


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Fluid-Air`." ;
    sh:message "s223: A `Furnace` shall have at least one outlet using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n53


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with at least one `Property` using either the relation `hasInput` or `hasOutput`." ;
    sh:class s223:Property ;
    sh:minCount 1 ;
    sh:path s223:hasInput .


            

URI: c14n560


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with at least one `Property` using either the relation `hasInput` or `hasOutput`." ;
    sh:class s223:Property ;
    sh:minCount 1 ;
    sh:path s223:hasOutput .


            

URI: c14n244


@prefix 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 `Function` shall be associated with zero or more input `Property`s using the relation `hasInput`." ;
    sh:class s223:Property ;
    sh:message "s223: A `Function` shall be associated with zero or more input `Property`s using the relation `hasInput`." ;
    sh:path s223:hasInput .


            

URI: c14n789


@prefix 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 `Function` shall be associated with zero or more output `Property`s using the relation `hasOutput`." ;
    sh:class s223:Property ;
    sh:message "s223: A `Function` shall be associated with zero or more output `Property`s using the relation `hasOutput`." ;
    sh:path s223:hasOutput .


            

URI: c14n471


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Fluid-Air`." ;
    sh:message "s223: A `FumeHood` shall have at least one inlet using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n746


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Fluid-Air`." ;
    sh:message "s223: A `FumeHood` shall have at least one outlet using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n268


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Freezer` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: A `Freezer` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n1003


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `FlushToilet` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:message "s223: A `FlushToilet` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n870


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `FlushToilet` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:message "s223: A `FlushToilet` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n361


@prefix 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 `FlowSensor` shall always observe a `QuantifiableObservableProperty`." ;
    sh:class s223:QuantifiableObservableProperty ;
    sh:message "s223: A `FlowSensor` shall always observe a `QuantifiableObservableProperty`." ;
    sh:path s223:observes .


            

URI: c14n1074


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:message "s223: A `Filter` shall have at least one inlet." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ] .


            

URI: c14n161


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "Incompatible Medium. Case 3: Associated `ConnectionPoint`s with mediums having constituents." ;
    sh:path s223:hasConnectionPoint ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Incompatible Medium. Case 3: Two mediums with constituents." ;
            sh:message "s223: For `Filter` {$this} there is no compatible substance between medium {?m2} and medium {?m1}." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT ?this ?m2 ?m1
WHERE {
  ?this s223:cnx ?cp1, ?cp2 .
  ?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .
  ?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .
  FILTER (?cp1 != ?cp2) .
  ?cp1 s223:hasMedium ?m1 .
  ?cp2 s223:hasMedium ?m2 .
    ?m1 s223:composedOf/s223:ofConstituent ?s1 .
    ?m2 s223:composedOf/s223:ofConstituent ?s2 .
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s11 .
    ?m2 s223:composedOf/s223:ofConstituent ?s12 .
    FILTER (?s11 = ?s12) .
  }
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s21 .
    ?m2 s223:composedOf/s223:ofConstituent ?s22 .
    {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .
  }
}
""" ] .


            

URI: c14n420


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "Incompatible Medium. Case 2: Associated `ConnectionPoint`s, one with a pure medium and one with a medium having constituents.." ;
    sh:path s223:hasConnectionPoint ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Incompatible Medium. Case 2: A medium with constituents and a pure medium." ;
            sh:message "s223: {$this} has an incompatible medium {?m1} with any constituent of {?m2}." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this ?m2 ?m1
WHERE {
$this s223:cnx ?cp1, ?cp2 .
?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .
?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .
FILTER (?cp1 != ?cp2) .
?cp1 s223:hasMedium ?m1 .
?cp2 s223:hasMedium ?m2 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" ] .


            

URI: c14n432


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "Incompatible Medium. Case 1: Associated `ConnectionPoint`s with two pure mediums." ;
    sh:path s223:hasConnectionPoint ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Incompatible Medium. Case 1: Two pure mediums." ;
            sh:message "s223: {$this} with inlet medium {?m2} is incompatible with outlet medium {?m1}." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this ?m2 ?m1
WHERE {
$this s223:cnx ?cp1, ?cp2 .
?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .
?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .
FILTER (?cp1 != ?cp2) .
?cp1 s223:hasMedium ?m1 .
?cp2 s223:hasMedium ?m2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {?m2 s223:composedOf ?c2}
FILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .
FILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .
}
""" ] .


            

URI: c14n682


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:message "s223: A `Filter` shall have at least one outlet." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ] .


            

URI: c14n31


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Incompatible Medium. Case 1: Two pure mediums." ;
    sh:message "s223: {$this} with inlet medium {?m2} is incompatible with outlet medium {?m1}." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this ?m2 ?m1
WHERE {
$this s223:cnx ?cp1, ?cp2 .
?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .
?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .
FILTER (?cp1 != ?cp2) .
?cp1 s223:hasMedium ?m1 .
?cp2 s223:hasMedium ?m2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {?m2 s223:composedOf ?c2}
FILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .
FILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .
}
""" .


            

URI: c14n384


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Incompatible Medium. Case 2: A medium with constituents and a pure medium." ;
    sh:message "s223: {$this} has an incompatible medium {?m1} with any constituent of {?m2}." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this ?m2 ?m1
WHERE {
$this s223:cnx ?cp1, ?cp2 .
?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .
?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .
FILTER (?cp1 != ?cp2) .
?cp1 s223:hasMedium ?m1 .
?cp2 s223:hasMedium ?m2 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" .


            

URI: c14n71


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Incompatible Medium. Case 3: Two mediums with constituents." ;
    sh:message "s223: For `Filter` {$this} there is no compatible substance between medium {?m2} and medium {?m1}." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT ?this ?m2 ?m1
WHERE {
  ?this s223:cnx ?cp1, ?cp2 .
  ?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .
  ?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .
  FILTER (?cp1 != ?cp2) .
  ?cp1 s223:hasMedium ?m1 .
  ?cp2 s223:hasMedium ?m2 .
    ?m1 s223:composedOf/s223:ofConstituent ?s1 .
    ?m2 s223:composedOf/s223:ofConstituent ?s2 .
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s11 .
    ?m2 s223:composedOf/s223:ofConstituent ?s12 .
    FILTER (?s11 = ?s12) .
  }
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s21 .
    ?m2 s223:composedOf/s223:ofConstituent ?s22 .
    {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .
  }
}
""" .


            

URI: c14n280


@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 `FiberOpticCable` shall be associated with exactly one `Signal-FiberEthernet` or `Wideband-CATV` using the relation `hasMedium`." ;
    sh:maxCount 1 ;
    sh:message "s223: A `FiberOpticCable` shall be associated with exactly one `Signal-FiberEthernet` or `Wideband-CATV` using the relation `hasMedium`." ;
    sh:minCount 1 ;
    sh:path s223:hasMedium ;
    sh:xone ( [ sh:class s223:Signal-FiberEthernet ] [ sh:class s223:Wideband-CATV ] ) .


            

URI: c14n491


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `FiberEthernetOutlet` shall have exactly one inlet using the medium `Signal-FiberEthernet`." ;
    sh:message "s223: A `FiberEthernetOutlet` shall have exactly one inlet using the medium `Signal-FiberEthernet`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Signal-FiberEthernet ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n694


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `FiberEthernetOutlet` shall have at least one outlet using the medium `Signal-FiberEthernet`." ;
    sh:message "s223: A `FiberEthernetOutlet` shall have at least one outlet using the medium `Signal-FiberEthernet`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Signal-FiberEthernet ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n296


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Faucet` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:message "s223: A `Faucet` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n477


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Faucet` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:message "s223: A `Faucet` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n57


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall contain at least one `Fan`." ;
    sh:message "s223: A `FanPoweredTerminal` shall contain at least one `Fan`." ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:Fan ] .


            

URI: c14n126


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 contain at least one `Coil`." ;
    sh:message "s223: A `FanCoilUnit` shall contain at least one `Coil`." ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:Coil ] .


            

URI: c14n323


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 contain at least one `Fan`." ;
    sh:message "s223: A `FanCoilUnit` shall contain at least one `Fan`." ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:Fan ] .


            

URI: c14n709


@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` shall at least have the role `Role-Cooling` or `Role-Heating`." ;
    sh:message "s223: A `FanCoilUnit` shall at least have the role `Role-Cooling` or `Role-Heating`." ;
    sh:path s223:hasRole ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:xone ( [ sh:class s223:Role-Cooling ] [ sh:class s223:Role-Heating ] ) ] .


            

URI: c14n775


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Fluid-Air`." ;
    sh:message "s223: A `FanCoilUnit` shall have at least one inlet using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n9


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Fluid-Air`." ;
    sh:message "s223: A `FanCoilUnit` shall have at least one outlet using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n981


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Fluid-Air`." ;
    sh:message "s223: A `Fan` shall have at least one inlet using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n993


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Fluid-Air`." ;
    sh:message "s223: A `Fan` shall have at least one outlet using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n1058


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 inlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: An `EthernetSwitch` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n814


@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 `EthernetSwitch` shall have at least two bidirectional connection points using the medium `Signal-WiredEthernet` or `Signal-FiberEthernet`." ;
    sh:message "s223: An `EthernetSwitch` shall have at least two bidirectional connection points using the medium `Signal-WiredEthernet` or `Signal-FiberEthernet`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 2 ;
    sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
            sh:node [ sh:property [ sh:or ( [ sh:class s223:Signal-WiredEthernet ] [ sh:class s223:Signal-FiberEthernet ] ) ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n386


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `EthernetPort` shall have at least one inlet using the medium `Electricity-DC`." ;
    sh:message "s223: An `EthernetPort` shall have at least one inlet using the medium `Electricity-DC`." ;
    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 ] ] ] .


            

URI: c14n398


@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 `EthernetPort` shall have at least two bidirectional connection points using the medium `Signal-WiredEthernet` or `Signal-FiberEthernet`." ;
    sh:message "s223: An `EthernetPort` shall have at least two bidirectional connection points using the medium `Signal-WiredEthernet` or `Signal-FiberEthernet`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 2 ;
    sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
            sh:node [ sh:property [ sh:or ( [ sh:class s223:Signal-WiredEthernet ] [ sh:class s223:Signal-FiberEthernet ] ) ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n382


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `EthernetCable` shall be associated with exactly one `Signal-WiredEthernet` using the relation `hasMedium`." ;
    sh:class s223:Signal-WiredEthernet ;
    sh:maxCount 1 ;
    sh:message "s223: An `EthernetCable` shall be associated with exactly one `Signal-WiredEthernet` using the relation `hasMedium`." ;
    sh:minCount 1 ;
    sh:path s223:hasMedium .


            

URI: c14n1092


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Escalator` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: An `Escalator` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n733


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@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 ns4:model-rules .


            

URI: c14n784


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@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 ns4:model-rules .


            

URI: c14n1113


@prefix 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 piece of `Equipment` shall be associated with zero or more `PhysicalSpace`s using the relation `hasPhysicalLocation`." ;
    sh:class s223:PhysicalSpace ;
    sh:message "s223: A piece of `Equipment` shall be associated with zero or more `PhysicalSpace`s using the relation `hasPhysicalLocation`." ;
    sh:path s223:hasPhysicalLocation .


            

URI: c14n22


@prefix 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 piece of `Equipment` shall be associated with zero or more `EnumerationKind-Role`s using the relation `hasRole`." ;
    sh:class s223:EnumerationKind-Role ;
    sh:message "s223: A piece of `Equipment` shall be associated with zero or more `EnumerationKind-Role`s using the relation `hasRole`." ;
    sh:path s223:hasRole .


            

URI: c14n310


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "Disallow contained equipment from having external incoming connections." ;
    sh:message "s223: Disallow contained equipment from having external incoming connections." ;
    sh:path s223:connectedFrom ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Disallow contained equipment from having external incoming connections." ;
            sh:message "s223: {$this} should not have a connection from external equipment {?otherDev} because {?container} contains {$this}." ;
            sh:prefixes ns6: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 .}
}
""" ] .


            

URI: c14n391


@prefix 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 piece of `Equipment` shall be associated with zero or more `ActuatableProperty`s using the relation `actuatedByProperty`." ;
    sh:class s223:ActuatableProperty ;
    sh:message "s223: A piece of `Equipment` shall be associated with zero or more `ActuatableProperty`s using the relation `actuatedByProperty`." ;
    sh:path s223:actuatedByProperty .


            

URI: c14n414


@prefix 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 piece of `Equipment` shall be associated with zero or more `Function`s using the relation `executes`." ;
    sh:class s223:Function ;
    sh:message "s223: A piece of `Equipment` shall be associated with zero or more `Function`s using the relation `executes`." ;
    sh:path s223:executes .


            

URI: c14n59


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 another piece of equipment that is in the same subclass branch." ;
    sh:message "s223: Warning about a subclass of `Equipment` of type A containing piece of equipment 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 piece of equipment that is in the same subclass branch." ;
            sh:message "s223: {$this}, of type {?type1}, contains {?subEquip} of type {?type2}, that could result in double-counting items in the class hierarchy of {?type1}." ;
            sh:prefixes ns6: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 .
}
}
""" ] .


            

URI: c14n726


@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 "A piece of `Equipment` shall be associated with zero or more other pieces of contained `Equipment` and/or `Junction`s using the relation `contains`." ;
    sh:message "s223: A piece of `Equipment` shall be associated with zero or more other pieces of contained `Equipment` and/or `Junction`s using the relation `contains`." ;
    sh:name "device contains shape" ;
    sh:or ( [ sh:class s223:Equipment ] [ sh:class s223:Junction ] ) ;
    sh:path s223:contains .


            

URI: c14n743


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "Disallow contained equipment from having external outgoing connections." ;
    sh:message "s223: Disallow contained equipment from having external outgoing connections." ;
    sh:path s223:connectedTo ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Disallow contained equipment from having external outgoing connections." ;
            sh:message "s223: {$this} should not have a connection to external equipment {?otherDev} because {?container} contains {$this}." ;
            sh:prefixes ns6: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 .}
}
""" ] .


            

URI: c14n810


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Disallow contained equipment from having external outgoing connections." ;
    sh:message "s223: {$this} should not have a connection to external equipment {?otherDev} because {?container} contains {$this}." ;
    sh:prefixes ns6: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 .}
}
""" .


            

URI: c14n345


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Warning about a subclass of `Equipment` of type A containing piece of equipment that is in the same subclass branch." ;
    sh:message "s223: {$this}, of type {?type1}, contains {?subEquip} of type {?type2}, that could result in double-counting items in the class hierarchy of {?type1}." ;
    sh:prefixes ns6: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 .
}
}
""" .


            

URI: c14n1017


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Disallow contained equipment from having external incoming connections." ;
    sh:message "s223: {$this} should not have a connection from external equipment {?otherDev} because {?container} contains {$this}." ;
    sh:prefixes ns6: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 .}
}
""" .


            

URI: c14n286


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 substance has a constituent, that constituent may not itself have constituents." ;
    sh:path s223:composedOf ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "If a substance has a constituent, that constituent may not itself have constituents." ;
            sh:message "s223: This substance {$this} has a constituent {?constituent} that itself is composed of {?nextConstituent}. Create new substance with only atomic constituents." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this ?constituent ?nextConstituent
WHERE {
$this s223:composedOf/s223:ofConstituent ?constituent .
?constituent s223:composedOf/s223:ofConstituent ?nextConstituent .
}
""" ] .


            

URI: c14n379


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "If a substance has a constituent, that constituent may not itself have constituents." ;
    sh:message "s223: This substance {$this} has a constituent {?constituent} that itself is composed of {?nextConstituent}. Create new substance with only atomic constituents." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this ?constituent ?nextConstituent
WHERE {
$this s223:composedOf/s223:ofConstituent ?constituent .
?constituent s223:composedOf/s223:ofConstituent ?nextConstituent .
}
""" .


            

URI: c14n160


@prefix qudt: <http://qudt.org/schema/qudt/> .
@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 "An `EnumerationKind-Numerical` shall be associated with exactly one `Unit` using the relation `qudt:hasUnit`." ;
    sh:class qudt:Unit ;
    sh:maxCount 1 ;
    sh:message "s223: An `EnumerationKind-Numerical` shall be associated with exactly one `Unit` using the relation `qudt:hasUnit`." ;
    sh:minCount 1 ;
    sh:path qudt:hasUnit .


            

URI: c14n176


@prefix qudt: <http://qudt.org/schema/qudt/> .
@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 "An `EnumerationKind-Numerical` shall be associated with exactly one `QuantityKind` using the relation `qudt:hasQuantityKind`." ;
    sh:class qudt:QuantityKind ;
    sh:maxCount 1 ;
    sh:message "s223: An `EnumerationKind-Numerical` shall be associated with exactly one `QuantityKind` using the relation `qudt:hasQuantityKind`." ;
    sh:minCount 1 ;
    sh:path qudt:hasQuantityKind .


            

URI: c14n893


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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-Numerical` shall be associated with at most one decimal value using the relation `hasValue`." ;
    sh:datatype xsd:decimal ;
    sh:maxCount 1 ;
    sh:message "s223: An `EnumerationKind-Numerical` shall be associated with at most one decimal value using the relation `hasValue`." ;
    sh:path s223:hasValue .


            

URI: c14n18


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with exactly one `EnumerationKind` using the relation `hasEnumerationKind`." ;
    sh:class s223:EnumerationKind ;
    sh:maxCount 1 ;
    sh:message "s223: An `EnumerableProperty` shall be associated with exactly one `EnumerationKind` using the relation `hasEnumerationKind`." ;
    sh:minCount 1 ;
    sh:path s223:hasEnumerationKind .


            

URI: c14n805


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "An enumeration value shall be consistent with the stated `EnumerationKind`." ;
    sh:path s223:hasValue ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "An enumeration value shall be consistent with the stated `EnumerationKind`." ;
            sh:message "s223: {$this} has an enumeration value of {?value} which is not a valid {?kind}." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this ?value ?kind
WHERE {
$this s223:hasValue ?value .
$this s223:hasEnumerationKind ?kind .
FILTER (NOT EXISTS {?value a/rdfs:subClassOf* ?kind}) .
}
""" ] .


            

URI: c14n440


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "An enumeration value shall be consistent with the stated `EnumerationKind`." ;
    sh:message "s223: {$this} has an enumeration value of {?value} which is not a valid {?kind}." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this ?value ?kind
WHERE {
$this s223:hasValue ?value .
$this s223:hasEnumerationKind ?kind .
FILTER (NOT EXISTS {?value a/rdfs:subClassOf* ?kind}) .
}
""" .


            

URI: c14n666


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Elevator` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: An `Elevator` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n478


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ElectricityOutlet` shall have at least one outlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: An `ElectricityOutlet` shall have at least one outlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n967


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ElectricityOutlet` shall have exactly one inlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: An `ElectricityOutlet` shall have exactly one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n708


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "An `ElectricityMeter` shall contain a `VoltageSensor` and `ElectricCurrentSensor` with the same observation location." ;
    sh:message "s223: {$this} does not contain a `VoltageSensor` and `ElectricCurrentSensor` with a shared observation location." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this
WHERE {
  FILTER NOT EXISTS {
    $this s223:contains ?voltageSensor .
    $this s223:contains ?currentSensor .
    ?voltageSensor a/rdfs:subClassOf* s223:VoltageSensor ;
                   s223:hasObservationLocation ?location .
    ?currentSensor a/rdfs:subClassOf* s223:ElectricCurrentSensor ;
                   s223:hasObservationLocation ?location .
  }
}
""" .


            

URI: c14n469


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ElectricityMeter` shall contain at least one `ElectricCurrentSensor`." ;
    sh:message "s223: An `ElectricityMeter` shall contain at least one `ElectricCurrentSensor`." ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:ElectricCurrentSensor ] ;
    sh:qualifiedValueShapesDisjoint true .


            

URI: c14n602


@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 "The medium observed by the sensors contained by an `ElectricityMeter` shall be a `Constituent-Electricity`." ;
    sh:class s223:Constituent-Electricity ;
    sh:message "s223: The medium observed by the sensors contained by an `ElectricityMeter` shall be a `Constituent-Electricity`." ;
    sh:minCount 1 ;
    sh:path ( s223:contains s223:hasObservationLocation s223:hasMedium ) .


            

URI: c14n651


@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 "The observation location of the sensors contained by an `ElectricityMeter` shall be either a `Connection` or a `ConnectionPoint`." ;
    sh:message "s223: The observation location of the sensors contained by an `ElectricityMeter` shall be either a `Connection` or a `ConnectionPoint`." ;
    sh:minCount 1 ;
    sh:or ( [ sh:class s223:Connection ] [ sh:class s223:ConnectionPoint ] ) ;
    sh:path ( s223:contains s223:hasObservationLocation ) .


            

URI: c14n79


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ElectricityMeter` shall contain at least one `VoltageSensor`." ;
    sh:message "s223: An `ElectricityMeter` shall contain at least one `VoltageSensor`." ;
    sh:path s223:contains ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:VoltageSensor ] ;
    sh:qualifiedValueShapesDisjoint true .


            

URI: c14n444


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ElectricityBreaker` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: An `ElectricityBreaker` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n883


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ElectricityBreaker` shall have at least one outlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: An `ElectricityBreaker` shall have at least one outlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n659


@prefix 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 "An `Electricity-DC` shall be associated with zero or more `Voltage-0V`s using the relation `hasDCZeroVoltage`." ;
    sh:class s223:Voltage-0V ;
    sh:message "s223: An `Electricity-DC` shall be associated with zero or more `Voltage-0V`s using the relation `hasDCZeroVoltage`." ;
    sh:path s223:hasDCZeroVoltage .


            

URI: c14n739


@prefix 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 "An `Electricity-DC` shall be associated with zero or more `Numerical-Voltage`s using the relation `hasDCNegativeVoltage`." ;
    sh:class s223:Numerical-Voltage ;
    sh:message "s223: An `Electricity-DC` shall be associated with zero or more `Numerical-Voltage`s using the relation `hasDCNegativeVoltage`." ;
    sh:path s223:hasDCNegativeVoltage .


            

URI: c14n82


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with at least one `Numerical-Voltage` using the relation `hasDCDifferentialVoltage`." ;
    sh:class s223:Numerical-Voltage ;
    sh:message "s223: An `Electricity-DC` shall be associated with at least one `Numerical-Voltage` using the relation `hasDCDifferentialVoltage`." ;
    sh:minCount 1 ;
    sh:path s223:hasDCDifferentialVoltage .


            

URI: c14n885


@prefix 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 "An `Electricity-DC` shall be associated with zero or more `Numerical-Voltage`s using the relation `hasDCPositiveVoltage`." ;
    sh:class s223:Numerical-Voltage ;
    sh:message "s223: An `Electricity-DC` shall be associated with zero or more `Numerical-Voltage`s using the relation `hasDCPositiveVoltage`." ;
    sh:path s223:hasDCPositiveVoltage .


            

URI: c14n1088


@prefix 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 "An `Electricity-AC` shall be associated with zero or more `Numerical-Voltage`s using the relation `hasACLineLineVoltage`." ;
    sh:class s223:Numerical-Voltage ;
    sh:message "s223: An `Electricity-AC` shall be associated with zero or more `Numerical-Voltage`s using the relation `hasACLineLineVoltage`." ;
    sh:path s223:hasACLineLineVoltage .


            

URI: c14n167


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with at least one `Numerical-NumberOfElectricalPhases` using the relation `hasNumberOfElectricalPhases`." ;
    sh:class s223:Numerical-NumberOfElectricalPhases ;
    sh:message "s223: An `Electricity-AC` shall be associated with at least one `Numerical-NumberOfElectricalPhases` using the relation `hasNumberOfElectricalPhases`." ;
    sh:minCount 1 ;
    sh:path s223:hasNumberOfElectricalPhases .


            

URI: c14n168


@prefix 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 "An `Electricity-AC` shall be associated with zero or more `Numerical-Voltage`s using the relation `hasACLineNeutralVoltage`." ;
    sh:class s223:Numerical-Voltage ;
    sh:message "s223: An `Electricity-AC` shall be associated with zero or more `Numerical-Voltage`s using the relation `hasACLineNeutralVoltage`." ;
    sh:path s223:hasACLineNeutralVoltage .


            

URI: c14n977


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with at least one `Numerical-Frequency` using the relation `hasFrequency`." ;
    sh:class s223:Numerical-Frequency ;
    sh:message "s223: An `Electricity-AC` shall be associated with at least one `Numerical-Frequency` using the relation `hasFrequency`." ;
    sh:minCount 1 ;
    sh:path s223:hasFrequency .


            

URI: c14n364


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ElectricWaterDispenser` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: An `ElectricWaterDispenser` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n394


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ElectricWaterDispenser` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:message "s223: An `ElectricWaterDispenser` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n484


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ElectricResistanceElement` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: An `ElectricResistanceElement` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n588


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "Pattern 1: An `ElectricResistanceElement` shall have exactly one bidirectional connection point using the medium `Mix-Fluid`." ;
    sh:message "s223: Pattern 1: An `ElectricResistanceElement` shall have exactly one bidirectional connection point using the medium `Mix-Fluid`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Mix-Fluid ;
                            sh:path s223:hasMedium ] ] ] ;
    sh:qualifiedValueShapesDisjoint true .


            

URI: c14n755


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "Pattern 2: An `ElectricResistanceElement` shall have exactly one inlet using the medium `Mix-Fluid`." ;
    sh:message "s223: Pattern 2: An `ElectricResistanceElement` shall have exactly one inlet using the medium `Mix-Fluid`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Mix-Fluid ;
                            sh:path s223:hasMedium ] ] ] ;
    sh:qualifiedValueShapesDisjoint true .


            

URI: c14n776


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ElectricResistanceElement` shall at least have the role `Role-Heating`." ;
    sh:message "s223: An `ElectricResistanceElement` shall at least have the role `Role-Heating`." ;
    sh:path s223:hasRole ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:Role-Heating ] .


            

URI: c14n831


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "Pattern 2: An `ElectricResistanceElement` shall have exactly one outlet using the medium `Mix-Fluid`." ;
    sh:message "s223: Pattern 2: An `ElectricResistanceElement` shall have exactly one outlet using the medium `Mix-Fluid`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Mix-Fluid ;
                            sh:path s223:hasMedium ] ] ] ;
    sh:qualifiedValueShapesDisjoint true .


            

URI: c14n959


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ElectricOven` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: An `ElectricOven` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n639


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ElectricEnergyTransformer` shall have at least two connection points using the medium `Electricity-AC`." ;
    sh:message "s223: An `ElectricEnergyTransformer` shall have at least two connection points using the medium `Electricity-AC`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 2 ;
    sh:qualifiedValueShape [ sh:class s223:ConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Electricity-AC ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n1086


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ElectricEnergyInverter` shall have at least one connection point using the medium `Electricity-AC`." ;
    sh:message "s223: An `ElectricEnergyInverter` shall have at least one connection point using the medium `Electricity-AC`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:ConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Electricity-AC ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n300


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ElectricEnergyInverter` shall have at least one connection point using the medium `Electricity-DC`." ;
    sh:message "s223: An `ElectricEnergyInverter` shall have at least one connection point using the medium `Electricity-DC`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:ConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Electricity-DC ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n1063


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ElectricEnergyDCDCConverter` shall have at least two connection points using the medium `Electricity-DC`." ;
    sh:message "s223: An `ElectricEnergyDCDCConverter` shall have at least two connection points using the medium `Electricity-DC`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 2 ;
    sh:qualifiedValueShape [ sh:class s223:ConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Electricity-DC ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n512


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ElectricEnergyConverter` shall have at least two connection points using the medium `Constituent-Electricity`." ;
    sh:message "s223: An `ElectricEnergyConverter` shall have at least two connection points using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 2 ;
    sh:qualifiedValueShape [ sh:class s223:ConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n278


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "An `ElectricCurrentSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `ElectricCurrent`." ;
    sh:class s223:QuantifiableObservableProperty ;
    sh:message "s223: An `ElectricCurrentSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `ElectricCurrent`." ;
    sh:node [ sh:property [ sh:in ( quantitykind:ElectricCurrent ) ;
                    sh:path qudt:hasQuantityKind ] ] ;
    sh:path s223:observes .


            

URI: c14n764


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ElectricCooktop` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: An `ElectricCooktop` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n973


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ElectricClothesDryer` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: An `ElectricClothesDryer` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n809


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `EM` shall be associated with exactly one `Constituent-EM` using the relation `hasMedium`." ;
    sh:class s223:Constituent-EM ;
    sh:maxCount 1 ;
    sh:message "s223: An `EM` shall be associated with exactly one `Constituent-EM` using the relation `hasMedium`." ;
    sh:minCount 1 ;
    sh:path s223:hasMedium .


            

URI: c14n317


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "A `DuvSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Duv`." ;
    sh:class s223:QuantifiableObservableProperty ;
    sh:message "s223: A `DuvSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `Duv`." ;
    sh:node [ sh:property [ sh:in ( quantitykind:Duv ) ;
                    sh:path qudt:hasQuantityKind ] ] ;
    sh:path s223:observes .


            

URI: c14n656


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Fluid-Air`." ;
    sh:message "s223: A `DualDuctTerminal` shall have at least two inlets using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 2 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n638


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Drain` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:message "s223: A `Drain` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n929


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Drain` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:message "s223: A `Drain` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n562


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Fluid-Air`." ;
    sh:message "s223: A `Door` shall have at least two bidirectional connection points using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 2 ;
    sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n542


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLRule ;
    rdfs:comment "Infer a `hasDomain` relation by checking any enclosing `Zone` to determine the domain." ;
    sh:construct """
CONSTRUCT {$this s223:hasDomain ?domain .}
WHERE {
$this ^s223:hasDomainSpace/s223:hasDomain ?domain .
}
""" ;
    sh:prefixes ns4:model-rules .


            

URI: c14n425


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "s223: A `DomainSpace` must be enclosed by a `PhysicalSpace`." ;
    sh:minCount 1 ;
    sh:path [ sh:inversePath s223:encloses ] ;
    sh:severity sh:Info .


            

URI: c14n612


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with exactly one `EnumerationKind-Domain` using the relation `hasDomain`." ;
    sh:class s223:EnumerationKind-Domain ;
    sh:maxCount 1 ;
    sh:message "s223: A `DomainSpace` shall be associated with exactly one `EnumerationKind-Domain` using the relation `hasDomain`." ;
    sh:minCount 1 ;
    sh:path s223:hasDomain .


            

URI: c14n445


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Dishwasher` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:message "s223: A `Dishwasher` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n451


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Dishwasher` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: A `Dishwasher` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n983


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Dishwasher` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:message "s223: A `Dishwasher` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n30


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Fluid-Air`." ;
    sh:message "s223: A `Damper` shall have at least one outlet using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n954


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Fluid-Air`." ;
    sh:message "s223: A `Damper` shall have at least one inlet using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n865


@prefix quantitykind: <http://qudt.org/vocab/quantitykind/> .
@prefix qudt: <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#> .

[] rdfs:comment "A `CorrelatedColorTemperatureSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `CorrelatedColorTemperature`." ;
    sh:class s223:QuantifiableObservableProperty ;
    sh:message "s223: A `CorrelatedColorTemperatureSensor` shall always observe a `QuantifiableObservableProperty` that has a `QuantityKind` of `CorrelatedColorTemperature`." ;
    sh:node [ sh:property [ sh:in ( quantitykind:CorrelatedColorTemperature ) ;
                    sh:path qudt:hasQuantityKind ] ] ;
    sh:path s223:observes .


            

URI: c14n292


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `CopyMachine` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: A `CopyMachine` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n1043


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Fluid-Water`." ;
    sh:message "s223: A `CoolingTower` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n777


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Fluid-Water`." ;
    sh:message "s223: A `CoolingTower` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n180


@prefix 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 "A `CoolingCoil` must always have the role `Role-Cooling`" ;
    sh:object s223:Role-Cooling ;
    sh:predicate s223:hasRole ;
    sh:subject sh:this .


            

URI: c14n85


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `CoolingCoil` shall at least have the role `Role-Cooling`." ;
    sh:message "s223: A `CoolingCoil` shall at least have the role `Role-Cooling`." ;
    sh:path s223:hasRole ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:Role-Cooling ] .


            

URI: c14n239


@prefix 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 `Controller` shall be associated with zero or more `Function`s using the relation `executes`." ;
    sh:class s223:Function ;
    sh:message "s223: A `Controller` shall be associated with zero or more `Function`s using the relation `executes`." ;
    sh:path s223:executes .


            

URI: c14n1101


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "`Equipment` and `PhysicalSpace`s must not contain themselves, directly or indirectly." ;
    sh:path s223:hasZone ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "`Equipment` and `PhysicalSpace`s must not contain themselves, directly or indirectly." ;
            sh:message "s223: Problem with {$this}. `Equipment` and `PhysicalSpace`s must not contain themselves, directly or indirectly." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this
WHERE {
$this s223:contains+ $this .
}
""" ] .


            

URI: c14n928


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "`Equipment` and `PhysicalSpace`s must not contain themselves, directly or indirectly." ;
    sh:message "s223: Problem with {$this}. `Equipment` and `PhysicalSpace`s must not contain themselves, directly or indirectly." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this
WHERE {
$this s223:contains+ $this .
}
""" .


            

URI: c14n202


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@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 `connectsAt` relation using the relation `cnx`." ;
    sh:construct """
CONSTRUCT {$this s223:connectsAt ?thing .}
WHERE {
$this s223:cnx ?thing .
}
""" ;
    sh:prefixes ns4:model-rules .


            

URI: c14n207


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLRule ;
    rdfs:comment "Infer `cnx` relation using the relation `connectsThrough`." ;
    sh:construct """
CONSTRUCT {$this s223:cnx ?thing .}
WHERE {
$this ^s223:connectsThrough ?thing .
}
""" ;
    sh:prefixes ns4:model-rules .


            

URI: c14n241


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@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` relation using the relation `connectsAt`." ;
    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 ns4:model-rules .


            

URI: c14n5


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@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` relation using the relation `connectsAt`." ;
    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 ns4:model-rules .


            

URI: c14n511


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLRule ;
    rdfs:comment "Infer `cnx` relation using the relation `connectsAt`." ;
    sh:construct """
CONSTRUCT {$this s223:cnx ?thing .}
WHERE {
$this s223:connectsAt ?thing .
}
""" ;
    sh:prefixes ns4:model-rules .


            

URI: c14n480


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@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 `hasElectricalPhase` value from any connected `Conductor`." ;
    sh:construct """
CONSTRUCT {$this s223:hasElectricalPhase ?phase .}
WHERE {
$this s223:connectsThrough/s223:hasElectricalPhase ?phase .
}
""" ;
    sh:prefixes ns4:model-rules .


            

URI: c14n1066


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "s223: {$this} cannot have both a `mapsTo` {?uppercp} and a `connectsThrough` {?connection}." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this ?uppercp ?connection
WHERE {
$this s223:mapsTo ?uppercp .
$this s223:connectsThrough ?connection .
?connection a/rdfs:subClassOf* s223:Connection .
}
""" ] .


            

URI: c14n165


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with at most one `Connectable` using the relation `cnx`." ;
    sh:message "s223: A `ConnectionPoint` shall be associated with at most one `Connectable` using the relation `cnx`." ;
    sh:path s223:cnx ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:Connectable ] ;
    sh:qualifiedValueShapesDisjoint true .


            

URI: c14n262


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` should be associated with at most one `Connection` using the relation `connectsThrough`." ;
    sh:class s223:Connection ;
    sh:maxCount 1 ;
    sh:message "s223: A `ConnectionPoint` should be associated with at most one `Connection` using the relation `connectsThrough`." ;
    sh:name "ConnectionPointToConnectionShape" ;
    sh:path s223:connectsThrough ;
    sh:severity sh:Info .


            

URI: c14n273


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with exactly one `Connectable` using the relation `isConnectionPointOf`." ;
    sh:class s223:Connectable ;
    sh:maxCount 1 ;
    sh:message "s223: A `ConnectionPoint` shall be associated with exactly one `Connectable` using the relation `isConnectionPointOf`." ;
    sh:minCount 1 ;
    sh:name "ConnectionPointToEquipmentShape" ;
    sh:path s223:isConnectionPointOf .


            

URI: c14n328


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with at most one `Connection` using the relation `cnx`." ;
    sh:message "s223: A `ConnectionPoint` shall be associated with at most one `Connection` using the relation `cnx`." ;
    sh:path s223:cnx ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:Connection ] ;
    sh:qualifiedValueShapesDisjoint true .


            

URI: c14n330


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with exactly one `Substance-Medium` using the relation `hasMedium`." ;
    sh:class s223:Substance-Medium ;
    sh:maxCount 1 ;
    sh:message "s223: A `ConnectionPoint` shall be associated with exactly one `Substance-Medium` using the relation `hasMedium`." ;
    sh:minCount 1 ;
    sh:name "ConnectionPoint medium" ;
    sh:path s223:hasMedium .


            

URI: c14n467


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with at most one other `ConnectionPoint` using the inverse of the relation `mapsTo`." ;
    sh:class s223:ConnectionPoint ;
    sh:maxCount 1 ;
    sh:message "s223: A `ConnectionPoint` shall be associated with at most one other `ConnectionPoint` using the inverse of the relation `mapsTo`." ;
    sh:path [ sh:inversePath s223:mapsTo ] .


            

URI: c14n485


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Subclasses of ConnectionPoint are Disjoint. An instance of a subclass of ConnectionPoint cannot be an instance of multiple such subclasses." ;
    sh:message "s223: `ConnectionPoint` {$this} cannot be an instance of both {?subclass1} and {?subclass2}." ;
    sh:prefixes ns6:model ;
    sh:select """
        SELECT $this ?subclass1 ?subclass2 WHERE {
            $this a ?subclass1, ?subclass2 .
            ?subclass1 a s223:Class .
            ?subclass2 a s223:Class .
            ?subclass1 rdfs:subClassOf s223:ConnectionPoint .
            ?subclass2 rdfs:subClassOf s223:ConnectionPoint .
            FILTER(?subclass1 != ?subclass2)
        }
    """ .


            

URI: c14n545


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "s223: `ConnectionPoint` {$this} could be missing a `mapsTo` relation to a `ConnectionPoint` of {?containerEquipment} because it is associated with a `Junction` or `Equipment` that is contained by {?containerEquipment}." ;
            sh:prefixes ns6:model ;
            sh:select """
    SELECT $this ?containerEquipment
    WHERE {
        FILTER NOT EXISTS {$this s223:connectsThrough ?anything1} .
        FILTER NOT EXISTS {$this s223:mapsTo ?anything2} .
        FILTER NOT EXISTS {?anything3 s223:hasBoundaryConnectionPoint $this} .
        $this s223:isConnectionPointOf ?equipment .
        ?containerEquipment s223:contains ?equipment .
        }
        """ ] .


            

URI: c14n553


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with at most one other `ConnectionPoint` using the inverse of the relation `pairedConnectionPoint`." ;
    sh:class s223:ConnectionPoint ;
    sh:maxCount 1 ;
    sh:message "s223: A `ConnectionPoint` shall be associated with at most one other `ConnectionPoint` using the inverse of the relation `pairedConnectionPoint`." ;
    sh:path [ sh:inversePath s223:pairedConnectionPoint ] .


            

URI: c14n577


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with at most one `EnumerationKind-ElectricalPhaseIdentifier` using the relation `hasElectricalPhase`." ;
    sh:class s223:EnumerationKind-ElectricalPhaseIdentifier ;
    sh:maxCount 1 ;
    sh:message "s223: A `ConnectionPoint` shall be associated with at most one `EnumerationKind-ElectricalPhaseIdentifier` using the relation `hasElectricalPhase`." ;
    sh:path s223:hasElectricalPhase .


            

URI: c14n658


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 `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 `hasMedium` relation is compatible with the Medium identified by the entity identified by the `mapsTo` relation." ;
            sh:message "s223: {$this} declares a medium of {?a}, but the medium of {?b} is declared by {?target} pointed to by the `mapsTo` relation." ;
            sh:prefixes ns6: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:Substance-Medium .
?b a/rdfs:subClassOf* s223:Substance-Medium .
FILTER (?a != ?b ) .
FILTER (NOT EXISTS {?b a/rdfs:subClassOf* ?a}) .
FILTER (NOT EXISTS {?a a/rdfs:subClassOf* ?b}) .
}
""" ] .


            

URI: c14n858


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with at most one other `ConnectionPoint` using the relation `pairedConnectionPoint`." ;
    sh:class s223:ConnectionPoint ;
    sh:maxCount 1 ;
    sh:message "s223: A `ConnectionPoint` shall be associated with at most one other `ConnectionPoint` using the relation `pairedConnectionPoint`." ;
    sh:path s223:pairedConnectionPoint .


            

URI: c14n863


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "s223: {?otherEquipment} should contain {?equipment} because `ConnectionPoint` {$this} has a `mapsTo` relation." ;
            sh:prefixes ns6: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}
}
""" ] .


            

URI: c14n886


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with at most one other `ConnectionPoint` using the relation `mapsTo`." ;
    sh:class s223:ConnectionPoint ;
    sh:maxCount 1 ;
    sh:message "s223: A `ConnectionPoint` shall be associated with at most one other `ConnectionPoint` using the relation `mapsTo`." ;
    sh:path s223:mapsTo .


            

URI: c14n984


@prefix 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` shall be associated with zero or more `EnumerationKind-Role`s using the relation `hasRole`." ;
    sh:class s223:EnumerationKind-Role ;
    sh:message "s223: A `ConnectionPoint` shall be associated with zero or more `EnumerationKind-Role`s using the relation `hasRole`." ;
    sh:path s223:hasRole .


            

URI: c14n997


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "s223: `ConnectionPoint` {$this} probably needs an association with a `Connection`, or use of `hasOptionalConnectionPoint` or `hasBoundaryConnectionPoint` qualifiers." ;
            sh:prefixes ns6:model ;
            sh:select """
    SELECT $this
    WHERE {
        FILTER NOT EXISTS {?sys1 s223:hasBoundaryConnectionPoint $this} .
        FILTER NOT EXISTS {?sys2 s223:hasOptionalConnectionPoint $this} .
        FILTER NOT EXISTS {$this s223:connectsThrough ?anything1} .
        FILTER NOT EXISTS {$this s223:mapsTo ?anything2} .
        $this s223:isConnectionPointOf ?equipment .
        FILTER NOT EXISTS {?containerEquipment s223:contains ?equipment} .
        }
        """ ] .


            

URI: c14n791


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] 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 "s223: `ConnectionPoint` {$this} probably needs an association with a `Connection`, or use of `hasOptionalConnectionPoint` or `hasBoundaryConnectionPoint` qualifiers." ;
    sh:prefixes ns6:model ;
    sh:select """
    SELECT $this
    WHERE {
        FILTER NOT EXISTS {?sys1 s223:hasBoundaryConnectionPoint $this} .
        FILTER NOT EXISTS {?sys2 s223:hasOptionalConnectionPoint $this} .
        FILTER NOT EXISTS {$this s223:connectsThrough ?anything1} .
        FILTER NOT EXISTS {$this s223:mapsTo ?anything2} .
        $this s223:isConnectionPointOf ?equipment .
        FILTER NOT EXISTS {?containerEquipment s223:contains ?equipment} .
        }
        """ .


            

URI: c14n948


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "If a `ConnectionPoint` `mapsTo` another `ConnectionPoint`, the respective `Equipment` should have a `contains` relation." ;
    sh:message "s223: {?otherEquipment} should contain {?equipment} because `ConnectionPoint` {$this} has a `mapsTo` relation." ;
    sh:prefixes ns6: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}
}
""" .


            

URI: c14n339


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Ensure that the Medium identified by a `ConnectionPoint` via the `hasMedium` relation is compatible with the Medium identified by the entity identified by the `mapsTo` relation." ;
    sh:message "s223: {$this} declares a medium of {?a}, but the medium of {?b} is declared by {?target} pointed to by the `mapsTo` relation." ;
    sh:prefixes ns6: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:Substance-Medium .
?b a/rdfs:subClassOf* s223:Substance-Medium .
FILTER (?a != ?b ) .
FILTER (NOT EXISTS {?b a/rdfs:subClassOf* ?a}) .
FILTER (NOT EXISTS {?a a/rdfs:subClassOf* ?b}) .
}
""" .


            

URI: c14n966


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] 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 "s223: `ConnectionPoint` {$this} could be missing a `mapsTo` relation to a `ConnectionPoint` of {?containerEquipment} because it is associated with a `Junction` or `Equipment` that is contained by {?containerEquipment}." ;
    sh:prefixes ns6:model ;
    sh:select """
    SELECT $this ?containerEquipment
    WHERE {
        FILTER NOT EXISTS {$this s223:connectsThrough ?anything1} .
        FILTER NOT EXISTS {$this s223:mapsTo ?anything2} .
        FILTER NOT EXISTS {?anything3 s223:hasBoundaryConnectionPoint $this} .
        $this s223:isConnectionPointOf ?equipment .
        ?containerEquipment s223:contains ?equipment .
        }
        """ .


            

URI: c14n403


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "A `ConnectionPoint` must not have both a `mapsTo` and a `connectsThrough` relation." ;
    sh:message "s223: {$this} cannot have both a `mapsTo` {?uppercp} and a `connectsThrough` {?connection}." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this ?uppercp ?connection
WHERE {
$this s223:mapsTo ?uppercp .
$this s223:connectsThrough ?connection .
?connection a/rdfs:subClassOf* s223:Connection .
}
""" .


            

URI: c14n1487


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall have at least two `connectsAt` relations allowing flow in and out of the `Connection`." ;
    sh:path s223:connectsAt ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ] ;
    sh:qualifiedValueShapesDisjoint true ;
    sh:severity sh:Warning .


            

URI: c14n1489


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall have at least two `connectsAt` relations allowing flow in and out of the `Connection`." ;
    sh:path s223:connectsAt ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ] ;
    sh:qualifiedValueShapesDisjoint true ;
    sh:severity sh:Warning .


            

URI: c14n2017


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall have at least two `connectsAt` relations allowing flow in and out of the `Connection`." ;
    sh:path s223:connectsAt ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ] ;
    sh:qualifiedValueShapesDisjoint true ;
    sh:severity sh:Warning .


            

URI: c14n1044


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "Incompatible Medium. Case 2: A `Connection` with constituents and an associated `ConnectionPoint` with a pure medium." ;
    sh:name "Test for compatible declared Medium" ;
    sh:path s223:hasMedium ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Incompatible Medium. Case 2: A `Connection` with constituents and an associated `ConnectionPoint` with a pure medium." ;
            sh:message "s223: `Connection` {$this} with medium {?m2} is incompatible with {?cp} with medium {?m1}." ;
            sh:prefixes ns6: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 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" ] .


            

URI: c14n1112


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with exactly one `Substance-Medium` using the relation `hasMedium`." ;
    sh:class s223:Substance-Medium ;
    sh:maxCount 1 ;
    sh:message "s223: A `Connection` shall be associated with exactly one `Substance-Medium` using the relation `hasMedium`." ;
    sh:minCount 1 ;
    sh:name "Connection medium" ;
    sh:path s223:hasMedium .


            

URI: c14n138


@prefix 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` shall be associated with zero or more `EnumerationKind-Role`s using the relation `hasRole`." ;
    sh:class s223:EnumerationKind-Role ;
    sh:message "s223: A `Connection` shall be associated with zero or more `EnumerationKind-Role`s using the relation `hasRole`." ;
    sh:path s223:hasRole .


            

URI: c14n266


@prefix 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` shall be associated with zero or more `Connectable`s using the relation `connectsFrom`." ;
    sh:class s223:Connectable ;
    sh:message "s223: A `Connection` shall be associated with zero or more `Connectable`s using the relation `connectsFrom`." ;
    sh:name "ConnectionToUpstreamConnectableShape" ;
    sh:path s223:connectsFrom .


            

URI: c14n365


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "Incompatible Medium. Case 1: A `Connection` with a pure medium and an associated `ConnectionPoint` with a pure medium." ;
    sh:name "Test for compatible declared Medium" ;
    sh:path s223:hasMedium ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Incompatible Medium. Case 1: Two pure mediums." ;
            sh:message "s223: `Connection` {$this} with medium {?m2} is incompatible with {?cp} with medium {?m1}." ;
            sh:prefixes ns6: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 {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {?m2 s223:composedOf ?c2}
FILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .
FILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .
}
""" ] .


            

URI: c14n377


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "Incompatible Medium. Case 7: Two `ConnectionPoint`s with mediums with constituents." ;
    sh:name "Test for compatible declared Medium" ;
    sh:path s223:hasMedium ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Incompatible Medium. Case 7: Two `ConnectionPoint`s with mediums with constituents." ;
            sh:message "s223: {?cp1} with medium {?m2} is incompatible with {?cp2} with medium {?m1}." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this ?cp1 ?m1 ?cp2 ?m2
WHERE {
$this s223:cnx ?cp1 .
?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .
?cp1 s223:hasMedium ?m2 .
$this s223:cnx ?cp2 .
?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .
FILTER (?cp1 != ?cp2 ) .
?cp2 s223:hasMedium ?m1 .
    ?m1 s223:composedOf/s223:ofConstituent ?s1 .
    ?m2 s223:composedOf/s223:ofConstituent ?s2 .
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s11 .
    ?m2 s223:composedOf/s223:ofConstituent ?s12 .
    FILTER (?s11 = ?s12) .
  }
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s21 .
    ?m2 s223:composedOf/s223:ofConstituent ?s22 .
    {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .
  }
}
""" ] .


            

URI: c14n468


@prefix 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` shall be associated with zero or more `ConnectionPoint`s using the relation `cnx`." ;
    sh:class s223:ConnectionPoint ;
    sh:message "s223: A `Connection` shall be associated with zero or more `ConnectionPoint`s using the relation `cnx`." ;
    sh:path s223:cnx .


            

URI: c14n516


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "Incompatible Medium. Case 6: Two `ConnectionPoint`s, one with a medium with constituents and one with a pure medium." ;
    sh:name "Test for compatible declared Medium" ;
    sh:path s223:hasMedium ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Incompatible Medium. Case 6: A medium with constituents and a pure medium." ;
            sh:message "s223: {?cp1} with medium {?m1} is incompatible with {?cp2} with medium {?m2}." ;
            sh:prefixes ns6: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 .
FILTER (?cp1 != ?cp2 ) .
?cp2 s223:hasMedium ?m2 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" ] .


            

URI: c14n556


@prefix 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` shall be associated with zero or more `Connectable`s using the relation `connectsTo`." ;
    sh:class s223:Connectable ;
    sh:message "s223: A `Connection` shall be associated with zero or more `Connectable`s using the relation `connectsTo`." ;
    sh:name "ConnectionToDownstreamConnectableShape" ;
    sh:path s223:connectsTo .


            

URI: c14n598


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "Incompatible Medium. Case 3: `Connection` with a pure medium and an associated `ConnectionPoint` with constituents." ;
    sh:name "Test for compatible declared Medium" ;
    sh:path s223:hasMedium ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Incompatible Medium. Case 3: `Connection` with a pure medium and an associated `ConnectionPoint` with constituents." ;
            sh:message "s223: `Connection` {$this} with medium {?m2} is incompatible with {?cp} with medium {?m1}." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this ?m2 ?cp ?m1
WHERE {
$this s223:cnx ?cp .
?cp a/rdfs:subClassOf* s223:ConnectionPoint .
?cp s223:hasMedium ?m2 .
$this s223:hasMedium ?m1 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" ] .


            

URI: c14n749


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with at least two `ConnectionPoint`s using the relation `connectsAt`." ;
    sh:class s223:ConnectionPoint ;
    sh:message "s223: A `Connection` shall be associated with at least two `ConnectionPoint`s using the relation `connectsAt`." ;
    sh:minCount 2 ;
    sh:path s223:connectsAt ;
    sh:severity sh:Warning .


            

URI: c14n873


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with at most one `EnumerationKind-ThermodynamicPhase` using the relation `hasThermodynamicPhase`." ;
    sh:class s223:EnumerationKind-ThermodynamicPhase ;
    sh:maxCount 1 ;
    sh:message "s223: A `Connection` shall be associated with at most one `EnumerationKind-ThermodynamicPhase` using the relation `hasThermodynamicPhase`." ;
    sh:path s223:hasThermodynamicPhase .


            

URI: c14n889


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "Incompatible Medium. Case 4: A `Connection` with constituents and an associated `ConnectionPoint` with constituents." ;
    sh:name "Test for compatible declared Medium" ;
    sh:path s223:hasMedium ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Incompatible Medium. Case 4: A `Connection` with constituents and an associated `ConnectionPoint` with constituents." ;
            sh:message "s223: `Connection` {$this} with medium {?m2} is incompatible with {?cp} with medium {?m1}." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this ?m2 ?cp ?m1
WHERE {
$this s223:cnx ?cp .
?cp a/rdfs:subClassOf* s223:ConnectionPoint .
?cp s223:hasMedium ?m2 .
$this s223:hasMedium ?m1 .
    ?m1 s223:composedOf/s223:ofConstituent ?s1 .
    ?m2 s223:composedOf/s223:ofConstituent ?s2 .
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s11 .
    ?m2 s223:composedOf/s223:ofConstituent ?s12 .
    FILTER (?s11 = ?s12) .
  }
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s21 .
    ?m2 s223:composedOf/s223:ofConstituent ?s22 .
    {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .
  }
}
""" ] .


            

URI: c14n922


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "s223: {$this} cannot have a s223:cnx relation to {?something}, because {?something} is not a `ConnectionPoint`." ;
            sh:prefixes ns6:model ;
            sh:select """SELECT $this ?something
WHERE {
$this s223:cnx ?something .
FILTER NOT EXISTS {?something a/rdfs:subClassOf* s223:ConnectionPoint} .
}""" ] .


            

URI: c14n975


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "Incompatible Medium. Case 5: Two `ConnectionPoint`s with pure mediums." ;
    sh:name "Test for compatible declared Medium" ;
    sh:path s223:hasMedium ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Incompatible Medium. Case 5: Two `ConnectionPoint`s with pure mediums." ;
            sh:message "s223: {?cp1} with medium {?m1} is incompatible with {?cp2} with medium {?m2}." ;
            sh:prefixes ns6: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 {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {?m2 s223:composedOf ?c2}
FILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .
FILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .
}
""" ] .


            

URI: c14n576


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Incompatible Medium. Case 5: Two `ConnectionPoint`s with pure mediums." ;
    sh:message "s223: {?cp1} with medium {?m1} is incompatible with {?cp2} with medium {?m2}." ;
    sh:prefixes ns6: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 {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {?m2 s223:composedOf ?c2}
FILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .
FILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .
}
""" .


            

URI: c14n613


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "A `Connection` must only have a `cnx` relation with a `ConnectionPoint`" ;
    sh:message "s223: {$this} cannot have a s223:cnx relation to {?something}, because {?something} is not a `ConnectionPoint`." ;
    sh:prefixes ns6:model ;
    sh:select """SELECT $this ?something
WHERE {
$this s223:cnx ?something .
FILTER NOT EXISTS {?something a/rdfs:subClassOf* s223:ConnectionPoint} .
}""" .


            

URI: c14n353


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Incompatible Medium. Case 4: A `Connection` with constituents and an associated `ConnectionPoint` with constituents." ;
    sh:message "s223: `Connection` {$this} with medium {?m2} is incompatible with {?cp} with medium {?m1}." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this ?m2 ?cp ?m1
WHERE {
$this s223:cnx ?cp .
?cp a/rdfs:subClassOf* s223:ConnectionPoint .
?cp s223:hasMedium ?m2 .
$this s223:hasMedium ?m1 .
    ?m1 s223:composedOf/s223:ofConstituent ?s1 .
    ?m2 s223:composedOf/s223:ofConstituent ?s2 .
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s11 .
    ?m2 s223:composedOf/s223:ofConstituent ?s12 .
    FILTER (?s11 = ?s12) .
  }
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s21 .
    ?m2 s223:composedOf/s223:ofConstituent ?s22 .
    {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .
  }
}
""" .


            

URI: c14n524


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Incompatible Medium. Case 3: `Connection` with a pure medium and an associated `ConnectionPoint` with constituents." ;
    sh:message "s223: `Connection` {$this} with medium {?m2} is incompatible with {?cp} with medium {?m1}." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this ?m2 ?cp ?m1
WHERE {
$this s223:cnx ?cp .
?cp a/rdfs:subClassOf* s223:ConnectionPoint .
?cp s223:hasMedium ?m2 .
$this s223:hasMedium ?m1 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" .


            

URI: c14n677


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Incompatible Medium. Case 6: A medium with constituents and a pure medium." ;
    sh:message "s223: {?cp1} with medium {?m1} is incompatible with {?cp2} with medium {?m2}." ;
    sh:prefixes ns6: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 .
FILTER (?cp1 != ?cp2 ) .
?cp2 s223:hasMedium ?m2 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" .


            

URI: c14n1048


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Incompatible Medium. Case 7: Two `ConnectionPoint`s with mediums with constituents." ;
    sh:message "s223: {?cp1} with medium {?m2} is incompatible with {?cp2} with medium {?m1}." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this ?cp1 ?m1 ?cp2 ?m2
WHERE {
$this s223:cnx ?cp1 .
?cp1 a/rdfs:subClassOf* s223:ConnectionPoint .
?cp1 s223:hasMedium ?m2 .
$this s223:cnx ?cp2 .
?cp2 a/rdfs:subClassOf* s223:ConnectionPoint .
FILTER (?cp1 != ?cp2 ) .
?cp2 s223:hasMedium ?m1 .
    ?m1 s223:composedOf/s223:ofConstituent ?s1 .
    ?m2 s223:composedOf/s223:ofConstituent ?s2 .
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s11 .
    ?m2 s223:composedOf/s223:ofConstituent ?s12 .
    FILTER (?s11 = ?s12) .
  }
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s21 .
    ?m2 s223:composedOf/s223:ofConstituent ?s22 .
    {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .
  }
}
""" .


            

URI: c14n424


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Incompatible Medium. Case 1: Two pure mediums." ;
    sh:message "s223: `Connection` {$this} with medium {?m2} is incompatible with {?cp} with medium {?m1}." ;
    sh:prefixes ns6: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 {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {?m2 s223:composedOf ?c2}
FILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .
FILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .
}
""" .


            

URI: c14n186


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Incompatible Medium. Case 2: A `Connection` with constituents and an associated `ConnectionPoint` with a pure medium." ;
    sh:message "s223: `Connection` {$this} with medium {?m2} is incompatible with {?cp} with medium {?m1}." ;
    sh:prefixes ns6: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 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" .


            

URI: c14n1026


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@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 `hasConnectionPoint` relation using `cnx`" ;
    sh:construct """
CONSTRUCT {$this s223:hasConnectionPoint ?thing .}
WHERE {
$this s223:cnx ?thing .
}
""" ;
    sh:name "InferredEquipmentToConnectionPointProperty" ;
    sh:prefixes ns4:model-rules .


            

URI: c14n1065


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@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` relations using `connectsThrough` and `connectsFrom`." ;
    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 ns4:model-rules .


            

URI: c14n2162


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@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` relation 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 ns4:model-rules .


            

URI: c14n2163


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@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` relation 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 ns4:model-rules .


            

URI: c14n36


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@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` relation using `connectsThrough` and `connectsTo`." ;
    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 ns4:model-rules .


            

URI: c14n578


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@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` relation using `connectedTo`" ;
    sh:construct """
CONSTRUCT {$this s223:connected ?thing .}
WHERE {
$this s223:connectedTo ?thing .
}
""" ;
    sh:name "InferredEquipmentToEquipmentPropertyfromconnectedTo" ;
    sh:prefixes ns4:model-rules .


            

URI: c14n626


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@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` relation using `connectedFrom`" ;
    sh:construct """
CONSTRUCT {$this s223:connected ?thing .}
WHERE {
$this s223:connectedFrom ?thing .
}
""" ;
    sh:name "InferredEquipmentToEquipmentPropertyfromconnectedFrom" ;
    sh:prefixes ns4:model-rules .


            

URI: c14n872


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@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 `cnx` relationship using `hasConnectionPoint`." ;
    sh:construct """
CONSTRUCT {$this s223:cnx ?thing .}
WHERE {
$this s223:hasConnectionPoint ?thing .
}
""" ;
    sh:name "InferredEquipmentToConnectionPointCnxProperty" ;
    sh:prefixes ns4:model-rules .


            

URI: c14n969


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@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 `cnx` relation using `isConnectionPointOf`." ;
    sh:construct """
CONSTRUCT {$this s223:cnx ?thing .}
WHERE {
$this ^s223:isConnectionPointOf ?thing .
}
""" ;
    sh:name "InferredEquipmentToConnectionPointCnxPropertyFromInverse" ;
    sh:prefixes ns4:model-rules .


            

URI: c14n979


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@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 `connectedThrough` relation using `hasConnectionPoint` and `connectsThrough`" ;
    sh:construct """
CONSTRUCT {$this s223:connectedThrough ?connection .}
WHERE {
$this s223:hasConnectionPoint/s223:connectsThrough ?connection .
}
""" ;
    sh:name "InferredEquipmentToConnectionProperty" ;
    sh:prefixes ns4:model-rules .


            

URI: c14n1002


@prefix 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 `Connectable` shall be associated with zero or more `ConnectionPoint`s using the relation `hasConnectionPoint`." ;
    sh:class s223:ConnectionPoint ;
    sh:message "s223: A `Connectable` shall be associated with zero or more `ConnectionPoint`s using the relation `hasConnectionPoint`." ;
    sh:name "EquipmentToConnectionPointShape" ;
    sh:path s223:hasConnectionPoint .


            

URI: c14n1004


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 `Connectable` has `connected` or `connectedTo` (i.e., high-level connection specification), it must also have the supporting `cnx` relations (low-level connection specification)." ;
    sh:path s223:cnx ;
    sh:severity sh:Warning ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "If a `Connectable` has the relation`connected` or `connectedTo` (i.e., high-level connection specification), it must also have the supporting `cnx` relations (low-level connection specification)." ;
            sh:message "s223: {$this} is s223:connected (high-level) to {?otherC} but not connected at the cnx-level." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this ?otherC
WHERE {
$this s223:connected ?otherC .
FILTER NOT EXISTS {$this s223:cnx+ ?otherC}
}
""" ] .


            

URI: c14n251


@prefix 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 `Connectable` shall be associated with zero or more `ConnectionPoint`s that may not be connected using the relation `hasOptionalConnectionPoint`. The \"dangling connection point\" should not generate a validation error." ;
    sh:class s223:ConnectionPoint ;
    sh:message "s223: A `Connectable` shall be associated with zero or more `ConnectionPoint`s that may not be connected using the relation `hasOptionalConnectionPoint`. The \"dangling connection point\" should not generate a validation error." ;
    sh:path s223:hasOptionalConnectionPoint .


            

URI: c14n431


@prefix 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 `Connectable` shall be associated with zero or more other `Connectable`s using the relation `connectedFrom`." ;
    sh:class s223:Connectable ;
    sh:message "s223: A `Connectable` shall be associated with zero or more other `Connectable`s using the relation `connectedFrom`." ;
    sh:path s223:connectedFrom .


            

URI: c14n604


@prefix 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 `Connectable` shall be associated with zero or more other `Connectable`s using the relation `connectedTo`." ;
    sh:class s223:Connectable ;
    sh:message "s223: A `Connectable` shall be associated with zero or more other `Connectable`s using the relation `connectedTo`." ;
    sh:name "ConnectableToConnectableShape" ;
    sh:path s223:connectedTo .


            

URI: c14n824


@prefix 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 `Connectable` shall be associated with zero or more other `Connectable`s using the relation `connected`." ;
    sh:class s223:Connectable ;
    sh:message "s223: A `Connectable` shall be associated with zero or more other `Connectable`s using the relation `connected`." ;
    sh:name "SymmetricConnectableToConnectableShape" ;
    sh:path s223:connected .


            

URI: c14n871


@prefix 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 `Connectable` shall be associated with zero or more `ConnectionPoint`s using the relation `cnx`." ;
    sh:class s223:ConnectionPoint ;
    sh:message "s223: A `Connectable` shall be associated with zero or more `ConnectionPoint`s using the relation `cnx`." ;
    sh:path s223:cnx .


            

URI: c14n952


@prefix 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 `Connectable` shall be associated with zero or more `Connection`s using the relation `connectedThrough`." ;
    sh:class s223:Connection ;
    sh:message "s223: A `Connectable` shall be associated with zero or more `Connection`s using the relation `connectedThrough`." ;
    sh:name "EquipmentToConnectionShape" ;
    sh:path s223:connectedThrough .


            

URI: c14n754


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "If a `Connectable` has the relation`connected` or `connectedTo` (i.e., high-level connection specification), it must also have the supporting `cnx` relations (low-level connection specification)." ;
    sh:message "s223: {$this} is s223:connected (high-level) to {?otherC} but not connected at the cnx-level." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this ?otherC
WHERE {
$this s223:connected ?otherC .
FILTER NOT EXISTS {$this s223:cnx+ ?otherC}
}
""" .


            

URI: c14n62


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@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 `hasElectricalPhase` value from any connected `ConnectionPoint`s." ;
    sh:construct """
CONSTRUCT {$this s223:hasElectricalPhase ?phase .}
WHERE {
$this s223:cnx/s223:hasElectricalPhase ?phase .
}
""" ;
    sh:prefixes ns4:model-rules .


            

URI: c14n193


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Conductor` shall be associated with at most one `EnumerationKind-ElectricalPhaseIdentifier` using the relation `hasElectricalPhase`." ;
    sh:class s223:EnumerationKind-ElectricalPhaseIdentifier ;
    sh:maxCount 1 ;
    sh:message "s223: A `Conductor` shall be associated with at most one `EnumerationKind-ElectricalPhaseIdentifier` using the relation `hasElectricalPhase`." ;
    sh:path s223:hasElectricalPhase .


            

URI: c14n393


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 the electrical phase is the same as all connected `ConnectionPoint`s" ;
    sh:path s223:hasElectricalPhase ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Ensure the electrical phase is the same as all connected `ConnectionPoint`s" ;
            sh:message "s223: {$this} has an electrical phase of {?myphase} which is different from {?cpPhase} for `ConnectionPoint` {?cp}." ;
            sh:prefixes ns6:model ;
            sh:select """
    SELECT $this ?myphase ?cp ?cpPhase
    WHERE {
        $this s223:hasElectricalPhase ?myphase .
        $this s223:connectsAt ?cp .
        ?cp s223:hasElectricalPhase ?cpPhase .
        FILTER (?myphase != ?cpPhase) .
        }
        """ ] .


            

URI: c14n856


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Conductor` shall be associated with exactly one `Constituent-Electricity` using the relation `hasMedium`." ;
    sh:class s223:Constituent-Electricity ;
    sh:maxCount 1 ;
    sh:message "s223: A `Conductor` shall be associated with exactly one `Constituent-Electricity` using the relation `hasMedium`." ;
    sh:minCount 1 ;
    sh:path s223:hasMedium .


            

URI: c14n540


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Ensure the electrical phase is the same as all connected `ConnectionPoint`s" ;
    sh:message "s223: {$this} has an electrical phase of {?myphase} which is different from {?cpPhase} for `ConnectionPoint` {?cp}." ;
    sh:prefixes ns6:model ;
    sh:select """
    SELECT $this ?myphase ?cp ?cpPhase
    WHERE {
        $this s223:hasElectricalPhase ?myphase .
        $this s223:connectsAt ?cp .
        ?cp s223:hasElectricalPhase ?cpPhase .
        FILTER (?myphase != ?cpPhase) .
        }
        """ .


            

URI: c14n70


@prefix ns4: <http://data.ashrae.org/standard223/1.0/inference/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLRule ;
    rdfs:comment "Add an rdfs:label if it is missing." ;
    sh:construct """
CONSTRUCT {$this rdfs:label ?newLabel .}
WHERE {
FILTER (NOT EXISTS {$this rdfs:label ?something}) .
BIND(REPLACE(STR($this), "^.*/([^/]*)$", "$1") AS ?localNameWithoutHash)
BIND(REPLACE(?localNameWithoutHash, "^.*#(.*)$", "$1") AS ?localName)
BIND(REPLACE(?localName, "-", " ", "i") AS ?newLabel)
}
""" ;
    sh:name "AddLabelFromLocalName" ;
    sh:prefixes ns4:model-rules .


            

URI: c14n1022


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "Incompatible Medium. Case4: An entity with constituents and an associated `Property` with constituents." ;
    sh:name "Test for compatible declared Medium" ;
    sh:path s223:hasMedium ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Incompatible Medium. Case 4: A medium with constituents and an associated `Property` with constituents." ;
            sh:message "s223: {$this} `hasMedium` of {?m1}, but is associated with `Property` {?prop} that has `ofMedium` of {?m2}." ;
            sh:prefixes ns6: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 .
    ?m1 s223:composedOf/s223:ofConstituent ?s1 .
    ?m2 s223:composedOf/s223:ofConstituent ?s2 .
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s11 .
    ?m2 s223:composedOf/s223:ofConstituent ?s12 .
    FILTER (?s11 = ?s12) .
  }
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s21 .
    ?m2 s223:composedOf/s223:ofConstituent ?s22 .
    {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .
  }
}
""" ] .


            

URI: c14n609


@prefix 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 `Concept` shall be associated with zero or more `Property`s using the relation `hasProperty`." ;
    sh:class s223:Property ;
    sh:message "s223: A `Concept` shall be associated with zero or more `Property`s using the relation `hasProperty`." ;
    sh:path s223:hasProperty .


            

URI: c14n65


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "Incompatible Medium. Case2: An entity with a pure medium and an associated `Property` with constituents." ;
    sh:name "Test for compatible declared Medium" ;
    sh:path s223:hasMedium ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Incompatible Medium. Case 2: A pure medium and an associated `Property` with constituents." ;
            sh:message "s223: {$this} `hasMedium` of {?m1}, but is associated with `Property` {?prop} that has `ofMedium` of {?m2}." ;
            sh:prefixes ns6: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 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" ] .


            

URI: c14n867


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "Incompatible Medium. Case3: An entity with constituents and an associated `Property` with a pure medium." ;
    sh:name "Test for compatible declared Medium" ;
    sh:path s223:hasMedium ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Incompatible Medium. Case 3: A medium with constituents and an associated `Property` with a pure medium." ;
            sh:message "s223: {$this} `hasMedium` of {?m2}, but is associated with `Property` {?prop} that has `ofMedium` of {?m1}." ;
            sh:prefixes ns6:model ;
            sh:select """
SELECT $this ?m1 ?prop ?m2
WHERE {
$this s223:hasMedium ?m2 .
$this ?p ?prop .
?prop a/rdfs:subClassOf* s223:Property .
?prop s223:ofMedium ?m1 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" ] .


            

URI: c14n890


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix 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 "Incompatible Medium. Case1: An entity with a pure medium and an associated `Property` with a different pure medium." ;
    sh:name "Test for compatible declared Medium" ;
    sh:path s223:hasMedium ;
    sh:sparql [ a sh:SPARQLConstraint ;
            rdfs:comment "Incompatible Medium. Case 1: Two pure mediums." ;
            sh:message "s223: {$this} `hasMedium` of {?m1}, but is associated with `Property` {?prop} that has `ofMedium` of {?m2}." ;
            sh:prefixes ns6: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 {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {?m2 s223:composedOf ?c2}
FILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .
FILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .
}
""" ] .


            

URI: c14n949


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Incompatible Medium. Case 1: Two pure mediums." ;
    sh:message "s223: {$this} `hasMedium` of {?m1}, but is associated with `Property` {?prop} that has `ofMedium` of {?m2}." ;
    sh:prefixes ns6: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 {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {?m2 s223:composedOf ?c2}
FILTER (NOT EXISTS {?m2 rdfs:subClassOf* ?m1}) .
FILTER (NOT EXISTS {?m1 rdfs:subClassOf* ?m2}) .
}
""" .


            

URI: c14n408


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Incompatible Medium. Case 3: A medium with constituents and an associated `Property` with a pure medium." ;
    sh:message "s223: {$this} `hasMedium` of {?m2}, but is associated with `Property` {?prop} that has `ofMedium` of {?m1}." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this ?m1 ?prop ?m2
WHERE {
$this s223:hasMedium ?m2 .
$this ?p ?prop .
?prop a/rdfs:subClassOf* s223:Property .
?prop s223:ofMedium ?m1 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" .


            

URI: c14n757


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Incompatible Medium. Case 2: A pure medium and an associated `Property` with constituents." ;
    sh:message "s223: {$this} `hasMedium` of {?m1}, but is associated with `Property` {?prop} that has `ofMedium` of {?m2}." ;
    sh:prefixes ns6: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 .
?m2 s223:composedOf/s223:ofConstituent ?s2 .
FILTER NOT EXISTS {?m1 s223:composedOf ?c1} .
FILTER NOT EXISTS {
  ?m2 s223:composedOf/s223:ofConstituent ?s12 .
  {?s12 rdfs:subClassOf* ?m1} UNION {?m1 rdfs:subClassOf* ?s12} .
}
}
""" .


            

URI: c14n294


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment "Incompatible Medium. Case 4: A medium with constituents and an associated `Property` with constituents." ;
    sh:message "s223: {$this} `hasMedium` of {?m1}, but is associated with `Property` {?prop} that has `ofMedium` of {?m2}." ;
    sh:prefixes ns6: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 .
    ?m1 s223:composedOf/s223:ofConstituent ?s1 .
    ?m2 s223:composedOf/s223:ofConstituent ?s2 .
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s11 .
    ?m2 s223:composedOf/s223:ofConstituent ?s12 .
    FILTER (?s11 = ?s12) .
  }
  FILTER NOT EXISTS {
    ?m1 s223:composedOf/s223:ofConstituent ?s21 .
    ?m2 s223:composedOf/s223:ofConstituent ?s22 .
    {?s22 rdfs:subClassOf* ?s21} UNION {?s21 rdfs:subClassOf* ?s22} .
  }
}
""" .


            

URI: c14n806


@prefix 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 `ConcentrationSensor` shall always observe a `QuantifiableObservableProperty`." ;
    sh:class s223:QuantifiableObservableProperty ;
    sh:message "s223: A `ConcentrationSensor` shall always observe a `QuantifiableObservableProperty`." ;
    sh:path s223:observes .


            

URI: c14n121


@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 `ComputerPrinter` shall have at least one inlet using the medium `Electricity-Signal` or `EM-RF`." ;
    sh:message "s223: A `ComputerPrinter` shall have at least one inlet using the medium `Electricity-Signal` or `EM-RF`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:or ( [ sh:class s223:Electricity-Signal ] [ sh:class s223:EM-RF ] ) ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n818


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ComputerPrinter` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: A `ComputerPrinter` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n84


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Computer` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: A `Computer` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n546


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:message "s223: A `Compressor` shall have at least one inlet." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ] .


            

URI: c14n819


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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:message "s223: A `Compressor` shall have at least one outlet." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ] .


            

URI: c14n1083


@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 "Pattern 3: A `Coil` shall have exactly three bidirectional connection points using the medium `Mix-Fluid` or `Medium-ThermalContact`." ;
    sh:message "s223: Pattern 3: A `Coil` shall have exactly three bidirectional connection points using the medium `Mix-Fluid` or `Medium-ThermalContact`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMaxCount 3 ;
    sh:qualifiedMinCount 3 ;
    sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
            sh:node [ sh:property [ sh:or ( [ sh:class s223:Mix-Fluid ] [ sh:class s223:Medium-ThermalContact ] ) ;
                            sh:path s223:hasMedium ] ] ] ;
    sh:qualifiedValueShapesDisjoint true .


            

URI: c14n109


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "Pattern 1: A `Coil` shall have exactly two inlets using the medium `Mix-Fluid`." ;
    sh:message "s223: Pattern 1: A `Coil` shall have exactly two inlets using the medium `Mix-Fluid`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMaxCount 2 ;
    sh:qualifiedMinCount 2 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Mix-Fluid ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n201


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "Pattern 1: A `Coil` shall have exactly one outlet using the medium `Fluid-Air`." ;
    sh:message "s223: Pattern 1: A `Coil` shall have exactly one outlet using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n260


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "Pattern 1: A `Coil` shall have exactly one inlet using the medium `Fluid-Air`." ;
    sh:message "s223: Pattern 1: A `Coil` shall have exactly one inlet using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n270


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "Pattern 2: A `Coil` shall have exactly one outlet using the medium `Mix-Fluid`." ;
    sh:message "s223: Pattern 2: A `Coil` shall have exactly one outlet using the medium `Mix-Fluid`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Mix-Fluid ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n283


@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 "Pattern 2: A `Coil` shall have one or two bidirectional connection points using the medium `Mix-Fluid` or `Medium-ThermalContact`." ;
    sh:message "s223: Pattern 2: A `Coil` shall have one or two bidirectional connection points using the medium `Mix-Fluid` or `Medium-ThermalContact`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMaxCount 2 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
            sh:node [ sh:property [ sh:or ( [ sh:class s223:Mix-Fluid ] [ sh:class s223:Medium-ThermalContact ] ) ;
                            sh:path s223:hasMedium ] ] ] ;
    sh:qualifiedValueShapesDisjoint true .


            

URI: c14n527


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "Pattern 1: A `Coil` shall have exactly two outlets using the medium `Mix-Fluid`." ;
    sh:message "s223: Pattern 1: A `Coil` shall have exactly two outlets using the medium `Mix-Fluid`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMaxCount 2 ;
    sh:qualifiedMinCount 2 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Mix-Fluid ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n693


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 "Pattern 2: A `Coil` shall have exactly one inlet using the medium `Mix-Fluid`." ;
    sh:message "s223: Pattern 2: A `Coil` shall have exactly one inlet using the medium `Mix-Fluid`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Mix-Fluid ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n232


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `CoffeeMaker` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: A `CoffeeMaker` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n338


@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 `CoaxialCable` shall be associated with exactly one `Wideband-DOCSIS` or `Wideband-CATV` using the relation `hasMedium`." ;
    sh:maxCount 1 ;
    sh:message "s223: A `CoaxialCable` shall be associated with exactly one `Wideband-DOCSIS` or `Wideband-CATV` using the relation `hasMedium`." ;
    sh:minCount 1 ;
    sh:path s223:hasMedium ;
    sh:xone ( [ sh:class s223:Wideband-DOCSIS ] [ sh:class s223:Wideband-CATV ] ) .


            

URI: c14n674


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ClothesWasher` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:message "s223: A `ClothesWasher` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n847


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ClothesWasher` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:message "s223: A `ClothesWasher` shall have at least one inlet using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n861


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ClothesWasher` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:message "s223: A `ClothesWasher` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n475


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment """Ensure that all instances of an s223 class use only the relations defined for that class. Note that only QUDT
relations are checked by this validation.""" ;
    sh:message "s223: QUDT predicate {?p} is not defined for instance {$this}." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this ?p ?o
WHERE {
$this ?p ?o .
FILTER(STRSTARTS (str(?p), "http://qudt.org/schema/qudt"))
FILTER NOT EXISTS {$this a sh:NodeShape}
FILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class .
			?class sh:property/sh:path ?p .
}
FILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class .
?class sh:xone/rdf:rest*/rdf:first/sh:property/sh:path ?p .
}
FILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class .
?class sh:or/rdf:rest*/rdf:first/sh:property/sh:path ?p .
}
}
""" .


            

URI: c14n435


@prefix ns6: <http://data.ashrae.org/standard223/1.0/validation/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLConstraint ;
    rdfs:comment """Ensure that all instances of an s223 class use only the relations defined for that class. Note that only s223
relations are checked by this validation.""" ;
    sh:message "s223: s223 predicate {?p} is not defined for instance {$this}." ;
    sh:prefixes ns6:model ;
    sh:select """
SELECT $this ?p ?o
WHERE {
?p a/rdfs:subClassOf* s223:Relation .
$this ?p ?o .
FILTER NOT EXISTS {$this a sh:NodeShape}
FILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class .
			?class sh:property/sh:path ?p .
}
FILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class .
?class sh:xone/rdf:rest*/rdf:first/sh:property/sh:path ?p .
}
FILTER NOT EXISTS {$this a/rdfs:subClassOf* ?class .
?class sh:or/rdf:rest*/rdf:first/sh:property/sh:path ?p .
}
}
""" .


            

URI: c14n569


@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 `Class` shall be associated with at least one label using the relation `rdfs:label`." ;
    sh:message "s223: A `Class` shall be associated with at least one label using the relation `rdfs:label`." ;
    sh:minCount 1 ;
    sh:path rdfs:label ;
    sh:severity sh:Warning .


            

URI: c14n407


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Fluid-Water`." ;
    sh:message "s223: A `Chiller` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n830


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Fluid-Water`." ;
    sh:message "s223: A `Chiller` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n479


@prefix 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 "A `ChilledBeam` must always have the role `Role-Cooling`" ;
    sh:object s223:Role-Cooling ;
    sh:predicate s223:hasRole ;
    sh:subject sh:this .


            

URI: c14n564


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 at least have the role `Role-Cooling`." ;
    sh:message "s223: A `ChilledBeam` shall at least have the role `Role-Cooling`." ;
    sh:path s223:hasRole ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:Role-Cooling ] .


            

URI: c14n601


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Fluid-Water`." ;
    sh:message "s223: A `ChilledBeam` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n678


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 bidirectional connection point using the medium `Fluid-Air`." ;
    sh:message "s223: A `ChilledBeam` shall have at least one bidirectional connection point using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n795


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Fluid-Water`." ;
    sh:message "s223: A `ChilledBeam` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n322


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Fluid-Water`." ;
    sh:message "s223: A `Boiler` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n968


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Fluid-Water`." ;
    sh:message "s223: A `Boiler` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n146


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `BidirectionalConnectionPoint` shall be associated with at most one other `BidirectionalConnectionPoint` using the relation `mapsTo`." ;
    sh:class s223:BidirectionalConnectionPoint ;
    sh:maxCount 1 ;
    sh:message "s223: A `BidirectionalConnectionPoint` shall be associated with at most one other `BidirectionalConnectionPoint` using the relation `mapsTo`." ;
    sh:path s223:mapsTo .


            

URI: c14n866


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `BidirectionalConnectionPoint` shall be associated with at most one `ConnectionPoint` using the relation `pairedConnectionPoint`." ;
    sh:class s223:ConnectionPoint ;
    sh:maxCount 1 ;
    sh:message "s223: A `BidirectionalConnectionPoint` shall be associated with at most one `ConnectionPoint` using the relation `pairedConnectionPoint`." ;
    sh:path s223:pairedConnectionPoint .


            

URI: c14n1966


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 connection point using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n1972


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 connection point using the medium `Constituent-Electricity`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Constituent-Electricity ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n535


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Bathtub` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:message "s223: A `Bathtub` shall have at least one inlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n891


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Bathtub` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:message "s223: A `Bathtub` shall have at least one outlet using the medium `Fluid-Water`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Water ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n181


@prefix bacnet: <http://data.ashrae.org/bacnet/2020#> .
@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 "A `BACnetExternalReferenceShape` shall be associated with at most one string value using the relation `bacnet:property-identifier`. The string value shall be either a decimal number or exactly equal to the ASHRAE 135-2024 Clause 21 identifier text of BACnetPropertyIdentifier. If it is omitted, it defaults to \"present-value\", except for BACnet File objects, where absence of `bacnet:property-identifier` refers to the entire content of the file accessed with Stream Access." ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    sh:minCount 0 ;
    sh:path bacnet:property-identifier .


            

URI: c14n216


@prefix bacnet: <http://data.ashrae.org/bacnet/2020#> .
@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 "A `BACnetExternalReferenceShape` shall be associated with at most one BACnet device name using the relation `bacnet:device-name`." ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    sh:minCount 0 ;
    sh:path bacnet:device-name .


            

URI: c14n324


@prefix bacnet: <http://data.ashrae.org/bacnet/2020#> .
@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 "A `BACnetExternalReferenceShape` shall be associated with at most one priority for writing values using the relation `bacnet:priority-for-writing`." ;
    sh:datatype xsd:nonNegativeInteger ;
    sh:maxCount 1 ;
    sh:minCount 0 ;
    sh:path bacnet:priority-for-writing .


            

URI: c14n635


@prefix bacnet: <http://data.ashrae.org/bacnet/2020#> .
@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 "A `BACnetExternalReferenceShape` shall be associated with at most one BACnet device identifier using the relation `bacnet:device-identifier`." ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    sh:minCount 0 ;
    sh:path bacnet:device-identifier ;
    sh:pattern "^[A-Za-z0-9-]+,[1-9][0-9]*$" .


            

URI: c14n653


@prefix bacnet: <http://data.ashrae.org/bacnet/2020#> .
@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 "A `BACnetExternalReferenceShape` shall be associated with at most one BACnet object identifier using the relation `bacnet:object-identifier`." ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    sh:minCount 0 ;
    sh:path bacnet:object-identifier ;
    sh:pattern "^[A-Za-z0-9-]+,[1-9][0-9]*$" .


            

URI: c14n815


@prefix bacnet: <http://data.ashrae.org/bacnet/2020#> .
@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 "A `BACnetExternalReferenceShape` shall be associated with at most one index for reading items from a BACnet property that is an array using the relation `bacnet:property-array-index`." ;
    sh:datatype xsd:nonNegativeInteger ;
    sh:maxCount 1 ;
    sh:minCount 0 ;
    sh:path bacnet:property-array-index .


            

URI: c14n912


@prefix bacnet: <http://data.ashrae.org/bacnet/2020#> .
@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 "A `BACnetExternalReferenceShape` shall be associated with at most one BACnet object name using the relation `bacnet:object-name`." ;
    sh:datatype xsd:string ;
    sh:maxCount 1 ;
    sh:minCount 0 ;
    sh:path bacnet:object-name .


            

URI: c14n402


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `AirToAirHeatPump` shall have at least two outlets using the medium `Fluid-Air`." ;
    sh:message "s223: An `AirToAirHeatPump` shall have at least two outlets using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 2 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n767


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `AirToAirHeatPump` shall have at least two inlets using the medium `Fluid-Air`." ;
    sh:message "s223: An `AirToAirHeatPump` shall have at least two inlets using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 2 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n198


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `AirHeatExchanger` shall have at least two outlets using the medium `Fluid-Air`, each paired with an inlet." ;
    sh:message "s223: An `AirHeatExchanger` shall have at least two outlets using the medium `Fluid-Air`, each paired with an inlet." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 2 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ],
                        [ sh:class s223:InletConnectionPoint ;
                            sh:minCount 1 ;
                            sh:path s223:pairedConnectionPoint ] ] ] .


            

URI: c14n531


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `AirHeatExchanger` shall have at least two inlets using the medium `Fluid-Air`, each paired with an outlet." ;
    sh:message "s223: An `AirHeatExchanger` shall have at least two inlets using the medium `Fluid-Air`, each paired with an outlet." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 2 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ],
                        [ sh:class s223:OutletConnectionPoint ;
                            sh:minCount 1 ;
                            sh:path s223:pairedConnectionPoint ] ] ] .


            

URI: c14n964


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `AirHeatExchanger` shall have no bidirectional connection points." ;
    sh:message "s223: An `AirHeatExchanger` shall have no bidirectional connection points." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMaxCount 0 ;
    sh:qualifiedValueShape [ sh:class s223:BidirectionalConnectionPoint ;
            sh:message "s223: An `AirHeatExchanger` shall have no bidirectional connection points." ] .


            

URI: c14n571


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Fluid-Air`." ;
    sh:message "s223: An `AirHandlingUnit` shall have at least one inlet using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:InletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n663


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `Fluid-Air`." ;
    sh:message "s223: An `AirHandlingUnit` shall have at least one outlet using the medium `Fluid-Air`." ;
    sh:path s223:hasConnectionPoint ;
    sh:qualifiedMinCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:OutletConnectionPoint ;
            sh:node [ sh:property [ sh:class s223:Fluid-Air ;
                            sh:path s223:hasMedium ] ] ] .


            

URI: c14n572


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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` shall be associated with at least one `ActuatableProperty` using the relation `actuatedByProperty`." ;
    sh:class s223:ActuatableProperty ;
    sh:message "s223: An `Actuator` shall be associated with at least one `ActuatableProperty` using the relation `actuatedByProperty`." ;
    sh:minCount 1 ;
    sh:path s223:actuatedByProperty .


            

URI: c14n633


@prefix 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 "An `Actuator` shall be associated with zero or more pieces of `Equipment` using the relation `actuates`." ;
    sh:class s223:Equipment ;
    sh:message "s223: An `Actuator` shall be associated with zero or more pieces of `Equipment` using the relation `actuates`." ;
    sh:path s223:actuates .


            

URI: c14n2


@prefix rdfs: <http://www.w3.org/2000/01/rdf-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 `ActuatableProperty` normally is referred to by `Equipment` using the relation `actuatedByProperty`." ;
    sh:class s223:Equipment ;
    sh:message "s223: An `ActuatableProperty` normally is referred to by `Equipment` using the relation `actuatedByProperty`." ;
    sh:minCount 1 ;
    sh:path [ sh:inversePath s223:actuatedByProperty ] ;
    sh:severity sh:Warning .