Docs

AHU

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


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

s223:AHU a s223:Class,
        sh:NodeShape ;
    rdfs:label "AHU" ;
    rdfs:subClassOf s223:System .


        

Details

All related shapes and rules

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

s223:AHU a s223:Class,
        sh:NodeShape ;
    rdfs:label "AHU" ;
    rdfs:subClassOf s223:System .


            

actuatable property

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


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

s223:ActuatableProperty a s223:Class,
        sh:NodeShape ;
    rdfs:label "actuatable property" ;
    rdfs:comment "This class describes non-numeric actuator/control settings, such as the state of a switch (\"on\" or \"off\")" ;
    rdfs:subClassOf s223:Property .


        

Details

All related shapes and rules

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

s223:ActuatableProperty a s223:Class,
        sh:NodeShape ;
    rdfs:label "actuatable property" ;
    rdfs:comment "This class describes non-numeric actuator/control settings, such as the state of a switch (\"on\" or \"off\")" ;
    rdfs:subClassOf s223:Property .


            

Actuator

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


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

s223:Actuator a s223:Class,
        sh:NodeShape ;
    rdfs:label "Actuator" ;
    rdfs:subClassOf s223:Device ;
    sh:property [ sh:class s223:ActuatableProperty ;
            sh:path s223:actuatesProperty ] .


        

Details

All related shapes and rules

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

s223:Actuator a s223:Class,
        sh:NodeShape ;
    rdfs:label "Actuator" ;
    rdfs:subClassOf s223:Device ;
    sh:property [ sh:class s223:ActuatableProperty ;
            sh:path s223:actuatesProperty ] .


            

Bidirectional Connection Point

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


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

s223:BidirectionalConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Bidirectional Connection Point" ;
    rdfs:comment "A BidirectionalConnectionPoint is a predefined subclass of ConnectionPoint for which the hasDirection property has the value Bidirectional. The use of a BidirectionalConnectionPoint implies that the direction of flow is not fixed in one direction. It depends on the status of some other part of the system, such as a valve position, that is expected to change during operation (see `s223:Direction-Bidirectional`)" ;
    rdfs:subClassOf s223:ConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Bidirectional ;
            sh:path s223:hasDirection ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of BidirectionalConnectionPoint doesn't have a value for hasDirection, then set it." ;
            sh:object s223:Direction-Bidirectional ;
            sh:predicate s223:hasDirection ;
            sh:subject sh:this ] .


        

See Also

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:BidirectionalConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Bidirectional Connection Point" ;
    rdfs:comment "A BidirectionalConnectionPoint is a predefined subclass of ConnectionPoint for which the hasDirection property has the value Bidirectional. The use of a BidirectionalConnectionPoint implies that the direction of flow is not fixed in one direction. It depends on the status of some other part of the system, such as a valve position, that is expected to change during operation (see `s223:Direction-Bidirectional`)" ;
    rdfs:subClassOf s223:ConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Bidirectional ;
            sh:path s223:hasDirection ] ;
    sh:rule [ ] .

s223:ConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "ConnectionPoint" ;
    s223:abstract true ;
    rdfs:comment """
A ConnectionPoint is the modeling construct used to represent the fact that a Device can be connected to another Device. It is the abstract representation of the flange, wire terminal, or other physical feature where a connection is made. In addition to Devices, other Connectable things (see `s223:Connectable`) can have one or more ConnectionPoints.

A ConnectionPoint can be constrained to relate to a specific medium such as air, water, or electricity which determines what other things can be connected to it. For example, by constraining a ConnectionPoint to be for air it cannot be used for an electrical connection.

A ConnectionPoint also has a Direction (see `s223:EnumerationKind-Direction`) which can have values of Inlet, Outlet, or Bidirectional. This directionality is used to constrain the way one device connects to another when combining them to form a model.

A ConnectionPoint belongs to exactly one Connectable thing. """ ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:Connection ;
            sh:maxCount 1 ;
            sh:message "This ConnectionPoint must be associated with exactly 1 Connection." ;
            sh:minCount 1 ;
            sh:name "ConnectionPointToConnectionShape" ;
            sh:path s223:connectsThrough ;
            sh:severity sh:Info ],
        [ sh:maxCount 1 ;
            sh:name "ConnectionPoint direction" ;
            sh:or ( [ sh:hasValue s223:Direction-Inlet ] [ sh:hasValue s223:Direction-Outlet ] [ sh:hasValue s223:Direction-Bidirectional ] ) ;
            sh:path s223:hasDirection ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:name "ConnectionPoint medium" ;
            sh:path s223:hasMedium ],
        [ sh:class s223:Connectable ;
            sh:maxCount 1 ;
            sh:name "ConnectionPointToDeviceShape" ;
            sh:path s223:isConnectionPointOf ],
        [ sh:class s223:Segment ;
            sh:path s223:lnx ],
        s223:hasPropertyShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Bidirectional for property hasDirection, then declare it as an instance of BidirectionalConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Bidirectional ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:BidirectionalConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Inlet  for property hasDirection, then declare it as an instance of InletConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Inlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:InletConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Outlet for property hasDirection, then declare it as an instance of OutletConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Outlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:OutletConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] .


            

Bidirectional System Connection Point

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


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

s223:BidirectionalSystemConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Bidirectional System Connection Point" ;
    rdfs:comment "This class is analogous to the BidirectionalConnectionPoint class, but for SystemConnectionPoints." ;
    rdfs:subClassOf s223:SystemConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Bidirectional ;
            sh:path s223:hasDirection ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of BidirectionalSystemConnectionPoint doesn't have a value for hasDirection, then set it." ;
            sh:object s223:Direction-Bidirectional ;
            sh:predicate s223:hasDirection ;
            sh:subject sh:this ] .


        

See Also

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:BidirectionalSystemConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Bidirectional System Connection Point" ;
    rdfs:comment "This class is analogous to the BidirectionalConnectionPoint class, but for SystemConnectionPoints." ;
    rdfs:subClassOf s223:SystemConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Bidirectional ;
            sh:path s223:hasDirection ] ;
    sh:rule [ ] .

s223:SystemConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "SystemConnectionPoint" ;
    s223:abstract true ;
    rdfs:comment "This is analogous to a ConnectionPoint, but for a System rather than a Device." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:or ( [ sh:class s223:ConnectionPoint ] [ sh:class s223:SystemConnectionPoint ] [ sh:class s223:Junction ] ) ;
            sh:path s223:mapsTo ],
        [ sh:or ( [ sh:class s223:SystemConnectionPoint ] [ sh:class s223:ConnectionPoint ] ) ;
            sh:path s223:systemConnected ],
        [ sh:maxCount 1 ;
            sh:name "ConnectionPoint direction" ;
            sh:or ( [ sh:hasValue s223:Direction-Inlet ] [ sh:hasValue s223:Direction-Outlet ] [ sh:hasValue s223:Direction-Bidirectional ] ) ;
            sh:path s223:hasDirection ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If a SystemConnectionPoint instance has a value of s223:Direction-Bidirectional for property hasDirection, then declare it as an instance of BidirectionalSystemConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Bidirectional ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:BidirectionalSystemConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a SystemConnectionPoint instance has a value of s223:Direction-Inlet for property hasDirection, then declare it as an instance of InletSystemConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Inlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:InletSystemConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a SystemConnectionPoint instance has a value of s223:Direction-Outlet for property hasDirection, then declare it as an instance of OutletSystemConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Outlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:OutletSystemConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] .


            

Bidirectional Zone Connection Point

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


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

s223:BidirectionalZoneConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Bidirectional Zone Connection Point" ;
    rdfs:comment "This class is analogous to the BidirectionalConnectionPoint class, but for ZoneConnectionPoints." ;
    rdfs:subClassOf s223:ZoneConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Bidirectional ;
            sh:path s223:hasDirection ] .


        

Details

All related shapes and rules

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

s223:BidirectionalZoneConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Bidirectional Zone Connection Point" ;
    rdfs:comment "This class is analogous to the BidirectionalConnectionPoint class, but for ZoneConnectionPoints." ;
    rdfs:subClassOf s223:ZoneConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Bidirectional ;
            sh:path s223:hasDirection ] .


            

Chiller

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


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

s223:Chiller a s223:Class,
        sh:NodeShape ;
    rdfs:label "Chiller" ;
    rdfs:subClassOf s223:Device .


        

Details

All related shapes and rules

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

s223:Chiller a s223:Class,
        sh:NodeShape ;
    rdfs:label "Chiller" ;
    rdfs:subClassOf s223:Device .


            

Coil

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


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

s223:Coil a s223:Class,
        sh:NodeShape ;
    rdfs:label "Coil" ;
    rdfs:subClassOf s223:HeatExchanger .


        

Details

All related shapes and rules

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

s223:Coil a s223:Class,
        sh:NodeShape ;
    rdfs:label "Coil" ;
    rdfs:subClassOf s223:HeatExchanger .


            

Concentration sensor

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


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

s223:ConcentrationSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Concentration sensor" ;
    rdfs:subClassOf s223:Sensor .


        

Details

All related shapes and rules

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

s223:ConcentrationSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Concentration sensor" ;
    rdfs:subClassOf s223:Sensor .


            

Root concept for standard 223

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


@prefix rdf: <http://www.w3.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:Concept a s223:Class,
        sh:NodeShape ;
    rdfs:label "Root concept for standard 223" ;
    rdfs:comment "This is the superclass of all classes defined in the 223 standard." ;
    rdfs:subClassOf rdfs:Resource ;
    sh:not [ a sh:PropertyShape ;
            sh:hasValue true ;
            sh:message "You cannot have an instance of an abstract class" ;
            sh:path ( rdf:type s223:abstract ) ] ;
    sh:property [ sh:path s223:cnx ],
        [ sh:path s223:hasProperty ],
        [ sh:path rdfs:label ] .


        

Details

All related shapes and rules

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

s223:InversePropertyShape a sh:NodeShape ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {
?o ?invP $this .
}
WHERE {
  $this ?p ?o .
  ?p s223:inverseOf ?invP .
}
			""" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/owl-subset> ] ;
    sh:targetClass s223:Concept .

s223:MeasuredPropertyRule a sh:NodeShape ;
    rdfs:comment "Associate the object of hasMeasurementLocation directly with the observed Property." ;
    sh:rule [ a sh:TripleRule ;
            sh:object [ sh:path ( [ sh:inversePath s223:hasMeasurementLocation ] s223:observesProperty ) ] ;
            sh:predicate s223:hasProperty ;
            sh:subject sh:this ] ;
    sh:targetClass s223:Concept .

s223:SymmetricPropertyShape a sh:NodeShape ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {
?o ?p $this .
}
WHERE {
  $this ?p ?o .
  ?p a s223:SymmetricProperty .
}
			""" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/owl-subset> ] ;
    sh:targetClass s223:Concept .

s223:Concept a s223:Class,
        sh:NodeShape ;
    rdfs:label "Root concept for standard 223" ;
    rdfs:comment "This is the superclass of all classes defined in the 223 standard." ;
    rdfs:subClassOf rdfs:Resource ;
    sh:not [ ] ;
    sh:property [ sh:path s223:cnx ],
        [ sh:path s223:hasProperty ],
        [ sh:path rdfs:label ] .


            

Connectable

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


@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Connectable a s223:Class,
        sh:NodeShape ;
    rdfs:label "Connectable" ;
    s223:abstract true ;
    rdfs:comment "Connectable is an abstract class that represents a thing (a Device, DomainSpace or PhysicalSpace) that can be connected via ConnectionPoints and Connections." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:Connectable ;
            sh:name "SymmetricConnectableToConnectableShape" ;
            sh:path s223:connected ],
        [ sh:class s223:Connectable ;
            sh:path s223:connectedFrom ],
        [ sh:class s223:Connection ;
            sh:name "DeviceToConnectionShape" ;
            sh:path s223:connectedThrough ],
        [ sh:class s223:Connectable ;
            sh:name "ConnectableToConnectableShape" ;
            sh:path s223:connectedTo ],
        [ sh:class s223:ConnectionPoint ;
            sh:name "DeviceToConnectionPointShape" ;
            sh:path s223:hasConnectionPoint ] ;
    sh:rule [ a sh:TripleRule ;
            sh:name "InferredDeviceToConnectionPointProperty" ;
            sh:object [ sh:path s223:cnx ] ;
            sh:predicate s223:hasConnectionPoint ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            sh:name "InferredDeviceToConnectionProperty" ;
            sh:object [ sh:path ( s223:hasConnectionPoint s223:connectsThrough ) ] ;
            sh:predicate s223:connectedThrough ;
            sh:subject sh:this ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:connected ?device .}
WHERE {
$this s223:connectedThrough/^s223:connectedThrough ?device .
FILTER ($this != ?device) .
}
""" ;
            sh:name "InferredDeviceToDevicePropertyfromconnectedThrough" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:TripleRule ;
            sh:name "InferredDeviceToDevicePropertyfromconnectedFrom" ;
            sh:object [ sh:path s223:connectedFrom ] ;
            sh:predicate s223:connected ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            sh:name "InferredDeviceToDevicePropertyfromconnectedTo" ;
            sh:object [ sh:path s223:connectedTo ] ;
            sh:predicate s223:connected ;
            sh:subject sh:this ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:connectedFrom ?device .}
WHERE {
$this s223:hasConnectionPoint ?cp .
?cp s223:hasDirection s223:Direction-Inlet  .
?cp s223:connectsThrough/s223:connectsFrom ?device .
}
""" ;
            sh:name "InferredDeviceToUpstreamDeviceProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:connectedTo ?device .}
WHERE {
$this s223:hasConnectionPoint ?cp .
?cp s223:hasDirection s223:Direction-Outlet .
?cp s223:connectsThrough/s223:connectsTo ?device .
}
""" ;
            sh:name "InferredDeviceToDownstreamDeviceProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:TripleRule ;
            sh:name "InferredDeviceToConnectionPointCnxProperty" ;
            sh:object [ sh:path s223:hasConnectionPoint ] ;
            sh:predicate s223:cnx ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            sh:name "InferredDeviceToConnectionPointCnxPropertyFromInverse" ;
            sh:object [ sh:path [ sh:inversePath s223:isConnectionPointOf ] ] ;
            sh:predicate s223:cnx ;
            sh:subject sh:this ] .


        

See Also

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:ConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "ConnectionPoint" ;
    s223:abstract true ;
    rdfs:comment """
A ConnectionPoint is the modeling construct used to represent the fact that a Device can be connected to another Device. It is the abstract representation of the flange, wire terminal, or other physical feature where a connection is made. In addition to Devices, other Connectable things (see `s223:Connectable`) can have one or more ConnectionPoints.

A ConnectionPoint can be constrained to relate to a specific medium such as air, water, or electricity which determines what other things can be connected to it. For example, by constraining a ConnectionPoint to be for air it cannot be used for an electrical connection.

A ConnectionPoint also has a Direction (see `s223:EnumerationKind-Direction`) which can have values of Inlet, Outlet, or Bidirectional. This directionality is used to constrain the way one device connects to another when combining them to form a model.

A ConnectionPoint belongs to exactly one Connectable thing. """ ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:Connection ;
            sh:maxCount 1 ;
            sh:message "This ConnectionPoint must be associated with exactly 1 Connection." ;
            sh:minCount 1 ;
            sh:name "ConnectionPointToConnectionShape" ;
            sh:path s223:connectsThrough ;
            sh:severity sh:Info ],
        [ sh:maxCount 1 ;
            sh:name "ConnectionPoint direction" ;
            sh:or ( [ sh:hasValue s223:Direction-Inlet ] [ sh:hasValue s223:Direction-Outlet ] [ sh:hasValue s223:Direction-Bidirectional ] ) ;
            sh:path s223:hasDirection ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:name "ConnectionPoint medium" ;
            sh:path s223:hasMedium ],
        [ sh:maxCount 1 ;
            sh:name "ConnectionPointToDeviceShape" ;
            sh:path s223:isConnectionPointOf ],
        [ sh:class s223:Segment ;
            sh:path s223:lnx ],
        s223:hasPropertyShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Bidirectional for property hasDirection, then declare it as an instance of BidirectionalConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Bidirectional ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:BidirectionalConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Inlet  for property hasDirection, then declare it as an instance of InletConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Inlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:InletConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Outlet for property hasDirection, then declare it as an instance of OutletConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Outlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:OutletConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] .

s223:Connectable a s223:Class,
        sh:NodeShape ;
    rdfs:label "Connectable" ;
    s223:abstract true ;
    rdfs:comment "Connectable is an abstract class that represents a thing (a Device, DomainSpace or PhysicalSpace) that can be connected via ConnectionPoints and Connections." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:Connectable ;
            sh:name "SymmetricConnectableToConnectableShape" ;
            sh:path s223:connected ],
        [ sh:class s223:Connectable ;
            sh:path s223:connectedFrom ],
        [ sh:class s223:Connection ;
            sh:name "DeviceToConnectionShape" ;
            sh:path s223:connectedThrough ],
        [ sh:class s223:Connectable ;
            sh:name "ConnectableToConnectableShape" ;
            sh:path s223:connectedTo ],
        [ sh:class s223:ConnectionPoint ;
            sh:name "DeviceToConnectionPointShape" ;
            sh:path s223:hasConnectionPoint ] ;
    sh:rule [ ],
        [ ],
        [ ],
        [ ],
        [ ],
        [ ],
        [ ],
        [ ],
        [ ] .


            

Connection

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


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

s223:Connection a s223:Class,
        sh:NodeShape ;
    rdfs:label "Connection" ;
    rdfs:comment """A Connection is the modeling construct used to represent a physical thing (e.g., pipe, duct, or wire) that is used to convey some Medium (e.g., water, air, or electricity) between two connectable things. All Connections have two or more ConnectionPoints that are bound to either a Device (see `s223:Device`), DomainSpace (see `s223:DomainSpace`), or PhysicalSpace (see `s223:PhysicalSpace`). If the direction of flow is constrained that constraint is indicated by using one or more InletConnectionPoints (see `s223:InletConnectionPoint`) to represent the inflow points and OutletConnectionPoints (see `s223:OutletConnectionPoint`) to represent the outflow points.
  
A Connection may contain branches or intersections. These are modeled using Segments (see `s223:Segment`) and Junctions (see `s223:Junction`).
""" ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:ConnectionPoint ;
            sh:path s223:connectsAt ],
        [ sh:class s223:Connectable ;
            sh:name "ConnectionToUpstreamConnectableShape" ;
            sh:path s223:connectsFrom ],
        [ sh:class s223:Connectable ;
            sh:name "ConnectionToDownstreamConnectableShape" ;
            sh:path s223:connectsTo ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:name "Connection medium" ;
            sh:path s223:hasMedium ],
        [ sh:class s223:EnumerationKind-Role ;
            sh:path s223:hasRole ],
        [ sh:class s223:Device ;
            sh:path s223:returnsTo ],
        [ sh:class s223:Device ;
            sh:path s223:suppliesTo ],
        s223:hasContextualRoleShape,
        s223:hasPropertyShape ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:connectsFrom ?device .}
WHERE {
$this s223:connectsAt ?cp .
?cp s223:hasDirection s223:Direction-Outlet .
?cp s223:isConnectionPointOf ?device .
}
""" ;
            sh:name "InferredConnectionToUpstreamDeviceProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:connectsTo ?device .}
WHERE {
$this s223:connectsAt ?cp .
?cp s223:hasDirection s223:Direction-Inlet  .
?cp s223:isConnectionPointOf ?device .
}
""" ;
            sh:name "InferredConnectionToDownstreamDeviceProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:returnsTo ?device .}
WHERE {
$this s223:hasRole role:Return .
$this s223:connectsTo ?device .
}
""" ;
            sh:name "InferredReturnsToProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:suppliesTo ?device .}
WHERE {
$this s223:hasRole role:Supply .
$this s223:connectsTo ?device .
}
""" ;
            sh:name "InferredSuppliesToProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointBaseProperty" ;
            sh:object [ sh:path s223:connectsAt ] ;
            sh:predicate s223:cnx ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointBasePropertyFromInverse" ;
            sh:object [ sh:path [ sh:inversePath s223:connectsThrough ] ] ;
            sh:predicate s223:cnx ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointProperty" ;
            sh:object [ sh:path s223:cnx ] ;
            sh:predicate s223:connectsAt ;
            sh:subject sh:this ] .


        

See Also

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Connection a s223:Class,
        sh:NodeShape ;
    rdfs:label "Connection" ;
    rdfs:comment """A Connection is the modeling construct used to represent a physical thing (e.g., pipe, duct, or wire) that is used to convey some Medium (e.g., water, air, or electricity) between two connectable things. All Connections have two or more ConnectionPoints that are bound to either a Device (see `s223:Device`), DomainSpace (see `s223:DomainSpace`), or PhysicalSpace (see `s223:PhysicalSpace`). If the direction of flow is constrained that constraint is indicated by using one or more InletConnectionPoints (see `s223:InletConnectionPoint`) to represent the inflow points and OutletConnectionPoints (see `s223:OutletConnectionPoint`) to represent the outflow points.
  
A Connection may contain branches or intersections. These are modeled using Segments (see `s223:Segment`) and Junctions (see `s223:Junction`).
""" ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:ConnectionPoint ;
            sh:path s223:connectsAt ],
        [ sh:class s223:Connectable ;
            sh:name "ConnectionToUpstreamConnectableShape" ;
            sh:path s223:connectsFrom ],
        [ sh:class s223:Connectable ;
            sh:name "ConnectionToDownstreamConnectableShape" ;
            sh:path s223:connectsTo ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:name "Connection medium" ;
            sh:path s223:hasMedium ],
        [ sh:class s223:EnumerationKind-Role ;
            sh:path s223:hasRole ],
        [ sh:class s223:Device ;
            sh:path s223:returnsTo ],
        [ sh:class s223:Device ;
            sh:path s223:suppliesTo ],
        s223:hasContextualRoleShape,
        s223:hasPropertyShape ;
    sh:rule [ ],
        [ ],
        [ ],
        [ ],
        [ ],
        [ ],
        [ ] .

s223:Damper a s223:Class,
        sh:NodeShape ;
    rdfs:label "Damper" ;
    rdfs:subClassOf s223:Device ;
    sh:property [ a sh:PropertyShape ;
            sh:class s223:ConnectionPoint ;
            sh:minCount 2 ;
            sh:name "Air inlet point" ;
            sh:path s223:hasConnectionPoint ] .

s223:Fan a s223:Class,
        sh:NodeShape ;
    rdfs:label "Fan" ;
    rdfs:subClassOf s223:FlowDevice ;
    sh:property [ a sh:PropertyShape ;
            sh:class s223:ConnectionPoint ;
            sh:minCount 2 ;
            sh:name "Air inlet point" ;
            sh:path s223:hasConnectionPoint ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "Infer the hasOutletPressure property value" ;
            sh:object [ sh:filterShape [ sh:property [ sh:hasValue <http://qudt.org/vocab/quantitykind/Pressure> ;
                                    sh:path <http://qudt.org/schema/qudt/hasQuantityKind> ] ] ;
                    sh:nodes [ sh:nodes [ sh:filterShape [ sh:hasValue s223:Direction-Outlet ;
                                            sh:path s223:hasDirection ] ;
                                    sh:nodes [ sh:path s223:hasConnectionPoint ] ] ;
                            sh:path s223:hasProperty ] ] ;
            sh:predicate s223:hasOutletPressure ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "Infer the hasInletPressure property value" ;
            sh:object [ sh:filterShape [ sh:property [ sh:hasValue <http://qudt.org/vocab/quantitykind/Pressure> ;
                                    sh:path <http://qudt.org/schema/qudt/hasQuantityKind> ] ] ;
                    sh:nodes [ sh:nodes [ sh:filterShape [ sh:hasValue s223:Direction-Inlet ;
                                            sh:path s223:hasDirection ] ;
                                    sh:nodes [ sh:path s223:hasConnectionPoint ] ] ;
                            sh:path s223:hasProperty ] ] ;
            sh:predicate s223:hasInletPressure ;
            sh:subject sh:this ] .

s223:Sensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Sensor" ;
    rdfs:comment "A Sensor produces an ObservableProperty (see `s223:ObservableProperty`) which may be quantifiable (see `s223:QuantifiableObservableProperty`), such as a temperature, flowrate, or concentration, or may not be quantifiable (see `s223:NonQuantifiableProperty`), such as an alarm state or occupancy state. " ;
    rdfs:subClassOf s223:Device ;
    sh:property [ sh:or ( [ sh:class s223:Connectable ] [ ] [ sh:class s223:Segment ] [ sh:class s223:ConnectionPoint ] ) ;
            sh:path s223:hasMeasurementLocation ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementPrecision ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementResolution ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementUncertainty ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:path s223:hasMedium ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMinRange ],
        [ sh:class s223:ObservableProperty ;
            sh:maxCount 1 ;
            sh:path s223:observesProperty ] ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:hasMeasurementLocation ?something .}
WHERE {
{
SELECT ?prop (COUNT (DISTINCT ?measurementLocation) AS ?count) $this
WHERE {
FILTER (NOT EXISTS {$this s223:hasMeasurementLocation ?anything}) .
FILTER (NOT EXISTS {$this a/rdfs:subClassOf* s223:DifferentialSensor}) .
FILTER (NOT EXISTS {$this a/rdfs:subClassOf* s223:VirtualSensor}) .
$this s223:observesProperty ?prop .
?measurementLocation s223:hasProperty ?prop .
}
GROUP BY ?prop $this
}
FILTER (?count = 1) .
?something s223:hasProperty ?prop .
{?something a/rdfs:subClassOf* s223:Device}
UNION
{?something a/rdfs:subClassOf* s223:Segment}
UNION
{?something a/rdfs:subClassOf* s223:ConnectionPoint}
UNION
{?something a/rdfs:subClassOf* s223:PhysicalSpace}
}
""" ;
            sh:name "InferredMeasurementLocation" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/data-rules> ] .

s223:BidirectionalConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Bidirectional Connection Point" ;
    rdfs:comment "A BidirectionalConnectionPoint is a predefined subclass of ConnectionPoint for which the hasDirection property has the value Bidirectional. The use of a BidirectionalConnectionPoint implies that the direction of flow is not fixed in one direction. It depends on the status of some other part of the system, such as a valve position, that is expected to change during operation (see `s223:Direction-Bidirectional`)" ;
    rdfs:subClassOf s223:ConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Bidirectional ;
            sh:path s223:hasDirection ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of BidirectionalConnectionPoint doesn't have a value for hasDirection, then set it." ;
            sh:object s223:Direction-Bidirectional ;
            sh:predicate s223:hasDirection ;
            sh:subject sh:this ] .

s223:FlowDevice a s223:Class,
        sh:NodeShape ;
    rdfs:label "Flow Device" ;
    rdfs:subClassOf s223:Device ;
    sh:property [ a sh:PropertyShape ;
            sh:class s223:ConnectionPoint ;
            sh:minCount 2 ;
            sh:name "Inlet or Outlet point property" ;
            sh:path s223:hasConnectionPoint ;
            sh:severity sh:Info ],
        [ a sh:PropertyShape ;
            sh:class s223:QuantifiableProperty ;
            sh:minCount 0 ;
            sh:name "outlet pressure shape" ;
            sh:path s223:hasOutletPressure ],
        [ a sh:PropertyShape ;
            sh:class s223:QuantifiableProperty ;
            sh:minCount 0 ;
            sh:name "electric consumption shape" ;
            sh:path s223:electricConsumption ] .

s223:InletConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Inlet Connection Point" ;
    rdfs:comment "An InletConnectionPoint indicates that a substance must flow into the device or space at this connection point and cannot flow the other direction. An IntletConnectionPoint is a subclass of ConnectionPoint which has the direction of Direction-Inlet (see `s223:Direction-Inlet`)." ;
    rdfs:subClassOf s223:ConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Inlet ;
            sh:path s223:hasDirection ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of InletConnectionPoint doesn't have a value for hasDirection, then set it." ;
            sh:object s223:Direction-Inlet ;
            sh:predicate s223:hasDirection ;
            sh:subject sh:this ] .

s223:OutletConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Outlet Connection Point" ;
    rdfs:comment "An OutletConnectionPoint indicates that a substance must flow out of the device or space at this connection point and cannot flow the other direction. An OutletConnectionPoint is a predefined subclass of ConnectionPoint which has the direction of Direction-Outlet (see `s223:Direction-Outlet`)." ;
    rdfs:subClassOf s223:ConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Outlet ;
            sh:path s223:hasDirection ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of OutletConnectionPoint doesn't have a value for hasDirection, then set it." ;
            sh:object s223:Direction-Outlet ;
            sh:predicate s223:hasDirection ;
            sh:subject sh:this ] .

s223:hasContextualRoleShape a sh:PropertyShape ;
    rdfs:label "has Contextual Role Shape" ;
    sh:node s223:ContextualRole ;
    sh:path s223:hasContextualRole .

s223:Segment a s223:Class,
        sh:NodeShape ;
    rdfs:label "Segment" ;
    rdfs:comment "When necessary, a Connection may be subdivided into a network of Segments, joined at Junctions. This can be useful for identifying a segment of a duct before a split, for example." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:maxCount 2 ;
            sh:message "Segment is missing one or both endpoints (Junction or ConnectionPoint)" ;
            sh:minCount 2 ;
            sh:or ( [ sh:class s223:Junction ] [ sh:class s223:ConnectionPoint ] ) ;
            sh:path s223:lnx ;
            sh:qualifiedMaxCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:ConnectionPoint ] ;
            sh:severity sh:Warning ] .

s223:SystemConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "SystemConnectionPoint" ;
    s223:abstract true ;
    rdfs:comment "This is analogous to a ConnectionPoint, but for a System rather than a Device." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:or ( [ sh:class s223:ConnectionPoint ] [ sh:class s223:SystemConnectionPoint ] [ sh:class s223:Junction ] ) ;
            sh:path s223:mapsTo ],
        [ sh:or ( [ sh:class s223:SystemConnectionPoint ] [ sh:class s223:ConnectionPoint ] ) ;
            sh:path s223:systemConnected ],
        [ sh:maxCount 1 ;
            sh:name "ConnectionPoint direction" ;
            sh:or ( [ sh:hasValue s223:Direction-Inlet ] [ sh:hasValue s223:Direction-Outlet ] [ sh:hasValue s223:Direction-Bidirectional ] ) ;
            sh:path s223:hasDirection ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If a SystemConnectionPoint instance has a value of s223:Direction-Bidirectional for property hasDirection, then declare it as an instance of BidirectionalSystemConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Bidirectional ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:BidirectionalSystemConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a SystemConnectionPoint instance has a value of s223:Direction-Inlet for property hasDirection, then declare it as an instance of InletSystemConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Inlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:InletSystemConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a SystemConnectionPoint instance has a value of s223:Direction-Outlet for property hasDirection, then declare it as an instance of OutletSystemConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Outlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:OutletSystemConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] .

s223:ZoneConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "ZoneConnectionPoint" ;
    rdfs:comment "This is analogous to a ConnectionPoint, but for a Zone rather than a Device." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:maxCount 1 ;
            sh:name "ConnectionPoint direction" ;
            sh:or ( [ sh:hasValue s223:Direction-Inlet ] [ sh:hasValue s223:Direction-Outlet ] [ sh:hasValue s223:Direction-Bidirectional ] ) ;
            sh:path s223:hasDirection ],
        [ sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:or ( [ sh:class s223:ConnectionPoint ] [ sh:class s223:ZoneConnectionPoint ] [ sh:class s223:Junction ] ) ;
            sh:path s223:mapsTo ],
        [ sh:or ( [ sh:class s223:ZoneConnectionPoint ] [ sh:class s223:ConnectionPoint ] ) ;
            sh:path s223:zoneConnected ] .

s223:hasPropertyShape a sh:PropertyShape ;
    rdfs:label "has Property Shape" ;
    sh:class s223:Property ;
    sh:path s223:hasProperty .

s223:Connectable a s223:Class,
        sh:NodeShape ;
    rdfs:label "Connectable" ;
    s223:abstract true ;
    rdfs:comment "Connectable is an abstract class that represents a thing (a Device, DomainSpace or PhysicalSpace) that can be connected via ConnectionPoints and Connections." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:Connectable ;
            sh:name "SymmetricConnectableToConnectableShape" ;
            sh:path s223:connected ],
        [ sh:class s223:Connectable ;
            sh:path s223:connectedFrom ],
        [ sh:name "DeviceToConnectionShape" ;
            sh:path s223:connectedThrough ],
        [ sh:class s223:Connectable ;
            sh:name "ConnectableToConnectableShape" ;
            sh:path s223:connectedTo ],
        [ sh:class s223:ConnectionPoint ;
            sh:name "DeviceToConnectionPointShape" ;
            sh:path s223:hasConnectionPoint ] ;
    sh:rule [ a sh:TripleRule ;
            sh:name "InferredDeviceToConnectionPointProperty" ;
            sh:object [ sh:path s223:cnx ] ;
            sh:predicate s223:hasConnectionPoint ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            sh:name "InferredDeviceToConnectionProperty" ;
            sh:object [ sh:path ( s223:hasConnectionPoint s223:connectsThrough ) ] ;
            sh:predicate s223:connectedThrough ;
            sh:subject sh:this ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:connected ?device .}
WHERE {
$this s223:connectedThrough/^s223:connectedThrough ?device .
FILTER ($this != ?device) .
}
""" ;
            sh:name "InferredDeviceToDevicePropertyfromconnectedThrough" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:TripleRule ;
            sh:name "InferredDeviceToDevicePropertyfromconnectedFrom" ;
            sh:object [ sh:path s223:connectedFrom ] ;
            sh:predicate s223:connected ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            sh:name "InferredDeviceToDevicePropertyfromconnectedTo" ;
            sh:object [ sh:path s223:connectedTo ] ;
            sh:predicate s223:connected ;
            sh:subject sh:this ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:connectedFrom ?device .}
WHERE {
$this s223:hasConnectionPoint ?cp .
?cp s223:hasDirection s223:Direction-Inlet  .
?cp s223:connectsThrough/s223:connectsFrom ?device .
}
""" ;
            sh:name "InferredDeviceToUpstreamDeviceProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:connectedTo ?device .}
WHERE {
$this s223:hasConnectionPoint ?cp .
?cp s223:hasDirection s223:Direction-Outlet .
?cp s223:connectsThrough/s223:connectsTo ?device .
}
""" ;
            sh:name "InferredDeviceToDownstreamDeviceProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:TripleRule ;
            sh:name "InferredDeviceToConnectionPointCnxProperty" ;
            sh:object [ sh:path s223:hasConnectionPoint ] ;
            sh:predicate s223:cnx ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            sh:name "InferredDeviceToConnectionPointCnxPropertyFromInverse" ;
            sh:object [ sh:path [ sh:inversePath s223:isConnectionPointOf ] ] ;
            sh:predicate s223:cnx ;
            sh:subject sh:this ] .

s223:ConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "ConnectionPoint" ;
    s223:abstract true ;
    rdfs:comment """
A ConnectionPoint is the modeling construct used to represent the fact that a Device can be connected to another Device. It is the abstract representation of the flange, wire terminal, or other physical feature where a connection is made. In addition to Devices, other Connectable things (see `s223:Connectable`) can have one or more ConnectionPoints.

A ConnectionPoint can be constrained to relate to a specific medium such as air, water, or electricity which determines what other things can be connected to it. For example, by constraining a ConnectionPoint to be for air it cannot be used for an electrical connection.

A ConnectionPoint also has a Direction (see `s223:EnumerationKind-Direction`) which can have values of Inlet, Outlet, or Bidirectional. This directionality is used to constrain the way one device connects to another when combining them to form a model.

A ConnectionPoint belongs to exactly one Connectable thing. """ ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:maxCount 1 ;
            sh:message "This ConnectionPoint must be associated with exactly 1 Connection." ;
            sh:minCount 1 ;
            sh:name "ConnectionPointToConnectionShape" ;
            sh:path s223:connectsThrough ;
            sh:severity sh:Info ],
        [ sh:maxCount 1 ;
            sh:name "ConnectionPoint direction" ;
            sh:or ( [ sh:hasValue s223:Direction-Inlet ] [ sh:hasValue s223:Direction-Outlet ] [ sh:hasValue s223:Direction-Bidirectional ] ) ;
            sh:path s223:hasDirection ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:name "ConnectionPoint medium" ;
            sh:path s223:hasMedium ],
        [ sh:class s223:Connectable ;
            sh:maxCount 1 ;
            sh:name "ConnectionPointToDeviceShape" ;
            sh:path s223:isConnectionPointOf ],
        [ sh:class s223:Segment ;
            sh:path s223:lnx ],
        s223:hasPropertyShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Bidirectional for property hasDirection, then declare it as an instance of BidirectionalConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Bidirectional ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:BidirectionalConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Inlet  for property hasDirection, then declare it as an instance of InletConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Inlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:InletConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Outlet for property hasDirection, then declare it as an instance of OutletConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Outlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:OutletConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] .


            

ConnectionPoint

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


@prefix rdf: <http://www.w3.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:Class,
        sh:NodeShape ;
    rdfs:label "ConnectionPoint" ;
    s223:abstract true ;
    rdfs:comment """
A ConnectionPoint is the modeling construct used to represent the fact that a Device can be connected to another Device. It is the abstract representation of the flange, wire terminal, or other physical feature where a connection is made. In addition to Devices, other Connectable things (see `s223:Connectable`) can have one or more ConnectionPoints.

A ConnectionPoint can be constrained to relate to a specific medium such as air, water, or electricity which determines what other things can be connected to it. For example, by constraining a ConnectionPoint to be for air it cannot be used for an electrical connection.

A ConnectionPoint also has a Direction (see `s223:EnumerationKind-Direction`) which can have values of Inlet, Outlet, or Bidirectional. This directionality is used to constrain the way one device connects to another when combining them to form a model.

A ConnectionPoint belongs to exactly one Connectable thing. """ ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:Connection ;
            sh:maxCount 1 ;
            sh:message "This ConnectionPoint must be associated with exactly 1 Connection." ;
            sh:minCount 1 ;
            sh:name "ConnectionPointToConnectionShape" ;
            sh:path s223:connectsThrough ;
            sh:severity sh:Info ],
        [ sh:maxCount 1 ;
            sh:name "ConnectionPoint direction" ;
            sh:or ( [ sh:hasValue s223:Direction-Inlet ] [ sh:hasValue s223:Direction-Outlet ] [ sh:hasValue s223:Direction-Bidirectional ] ) ;
            sh:path s223:hasDirection ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:name "ConnectionPoint medium" ;
            sh:path s223:hasMedium ],
        [ sh:class s223:Connectable ;
            sh:maxCount 1 ;
            sh:name "ConnectionPointToDeviceShape" ;
            sh:path s223:isConnectionPointOf ],
        [ sh:class s223:Segment ;
            sh:path s223:lnx ],
        s223:hasPropertyShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Bidirectional for property hasDirection, then declare it as an instance of BidirectionalConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Bidirectional ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:BidirectionalConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Inlet  for property hasDirection, then declare it as an instance of InletConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Inlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:InletConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Outlet for property hasDirection, then declare it as an instance of OutletConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Outlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:OutletConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] .


        

See Also

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:ConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "ConnectionPoint" ;
    s223:abstract true ;
    rdfs:comment """
A ConnectionPoint is the modeling construct used to represent the fact that a Device can be connected to another Device. It is the abstract representation of the flange, wire terminal, or other physical feature where a connection is made. In addition to Devices, other Connectable things (see `s223:Connectable`) can have one or more ConnectionPoints.

A ConnectionPoint can be constrained to relate to a specific medium such as air, water, or electricity which determines what other things can be connected to it. For example, by constraining a ConnectionPoint to be for air it cannot be used for an electrical connection.

A ConnectionPoint also has a Direction (see `s223:EnumerationKind-Direction`) which can have values of Inlet, Outlet, or Bidirectional. This directionality is used to constrain the way one device connects to another when combining them to form a model.

A ConnectionPoint belongs to exactly one Connectable thing. """ ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:Connection ;
            sh:maxCount 1 ;
            sh:message "This ConnectionPoint must be associated with exactly 1 Connection." ;
            sh:minCount 1 ;
            sh:name "ConnectionPointToConnectionShape" ;
            sh:path s223:connectsThrough ;
            sh:severity sh:Info ],
        [ sh:maxCount 1 ;
            sh:name "ConnectionPoint direction" ;
            sh:or [ rdf:first [ ] ;
                    rdf:rest [ ] ] ;
            sh:path s223:hasDirection ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:name "ConnectionPoint medium" ;
            sh:path s223:hasMedium ],
        [ sh:class s223:Connectable ;
            sh:maxCount 1 ;
            sh:name "ConnectionPointToDeviceShape" ;
            sh:path s223:isConnectionPointOf ],
        [ sh:class s223:Segment ;
            sh:path s223:lnx ],
        s223:hasPropertyShape ;
    sh:rule [ ],
        [ ],
        [ ] .

s223:Sensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Sensor" ;
    rdfs:comment "A Sensor produces an ObservableProperty (see `s223:ObservableProperty`) which may be quantifiable (see `s223:QuantifiableObservableProperty`), such as a temperature, flowrate, or concentration, or may not be quantifiable (see `s223:NonQuantifiableProperty`), such as an alarm state or occupancy state. " ;
    rdfs:subClassOf s223:Device ;
    sh:property [ sh:or ( [ sh:class s223:Connectable ] [ sh:class s223:Connection ] [ sh:class s223:Segment ] [ ] ) ;
            sh:path s223:hasMeasurementLocation ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementPrecision ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementResolution ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementUncertainty ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:path s223:hasMedium ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMinRange ],
        [ sh:class s223:ObservableProperty ;
            sh:maxCount 1 ;
            sh:path s223:observesProperty ] ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:hasMeasurementLocation ?something .}
WHERE {
{
SELECT ?prop (COUNT (DISTINCT ?measurementLocation) AS ?count) $this
WHERE {
FILTER (NOT EXISTS {$this s223:hasMeasurementLocation ?anything}) .
FILTER (NOT EXISTS {$this a/rdfs:subClassOf* s223:DifferentialSensor}) .
FILTER (NOT EXISTS {$this a/rdfs:subClassOf* s223:VirtualSensor}) .
$this s223:observesProperty ?prop .
?measurementLocation s223:hasProperty ?prop .
}
GROUP BY ?prop $this
}
FILTER (?count = 1) .
?something s223:hasProperty ?prop .
{?something a/rdfs:subClassOf* s223:Device}
UNION
{?something a/rdfs:subClassOf* s223:Segment}
UNION
{?something a/rdfs:subClassOf* s223:ConnectionPoint}
UNION
{?something a/rdfs:subClassOf* s223:PhysicalSpace}
}
""" ;
            sh:name "InferredMeasurementLocation" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/data-rules> ] .

s223:hasPropertyShape a sh:PropertyShape ;
    rdfs:label "has Property Shape" ;
    sh:class s223:Property ;
    sh:path s223:hasProperty .


            

Context

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


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

s223:Context a s223:Class,
        sh:NodeShape ;
    rdfs:label "Context" ;
    rdfs:comment "The Context class is used to clarify the perspective to be taken when interpreting a given property." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ a sh:PropertyShape ;
            sh:class s223:System ;
            sh:minCount 1 ;
            sh:path s223:relativeTo ] .


        

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Context a s223:Class,
        sh:NodeShape ;
    rdfs:label "Context" ;
    rdfs:comment "The Context class is used to clarify the perspective to be taken when interpreting a given property." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ a sh:PropertyShape ;
            sh:class s223:System ;
            sh:minCount 1 ;
            sh:path s223:relativeTo ] .

s223:hasContextualRoleShape a sh:PropertyShape ;
    rdfs:label "has Contextual Role Shape" ;
    sh:node s223:ContextualRole ;
    sh:path s223:hasContextualRole .

s223:ContextualRole a sh:NodeShape ;
    rdfs:comment "A ContextualRole is a role where the role value is only meaningful in a specified context, such as from a particular perspective (relativeTo) or only under certain conditions (inState). The ContextualRole instance must have at least one of these contexts, but may have several." ;
    sh:or ( [ sh:property [ sh:class s223:State ;
                        sh:minCount 1 ;
                        sh:path s223:inState ] ] [ sh:property [ sh:class s223:Device ;
                        sh:minCount 1 ;
                        sh:path s223:relativeTo ] ] ) ;
    sh:property [ sh:class s223:EnumerationKind-Role ;
            sh:minCount 1 ;
            sh:path s223:hasRole ] .


            

Cooling coil

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


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

s223:CoolingCoil a s223:Class,
        sh:NodeShape ;
    rdfs:label "Cooling coil" ;
    rdfs:subClassOf s223:Coil .


        

Details

All related shapes and rules

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

s223:CoolingCoil a s223:Class,
        sh:NodeShape ;
    rdfs:label "Cooling coil" ;
    rdfs:subClassOf s223:Coil .


            

Damper

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


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

s223:Damper a s223:Class,
        sh:NodeShape ;
    rdfs:label "Damper" ;
    rdfs:subClassOf s223:Device ;
    sh:property [ a sh:PropertyShape ;
            sh:class s223:ConnectionPoint ;
            sh:minCount 2 ;
            sh:name "Air inlet point" ;
            sh:path s223:hasConnectionPoint ] .


        

Details

All related shapes and rules

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

s223:Damper a s223:Class,
        sh:NodeShape ;
    rdfs:label "Damper" ;
    rdfs:subClassOf s223:Device ;
    sh:property [ a sh:PropertyShape ;
            sh:class s223:ConnectionPoint ;
            sh:minCount 2 ;
            sh:name "Air inlet point" ;
            sh:path s223:hasConnectionPoint ] .


            

Day of week-Weekday

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


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

s223:DayOfWeek-Weekday a s223:Class,
        s223:DayOfWeek-Weekday,
        sh:NodeShape ;
    rdfs:label "Day of week-Weekday",
        "Weekday" ;
    rdfs:subClassOf s223:EnumerationKind-DayOfWeek .


        

Details

All related shapes and rules

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

s223:DayOfWeek-Weekday a s223:Class,
        s223:DayOfWeek-Weekday,
        sh:NodeShape ;
    rdfs:label "Day of week-Weekday",
        "Weekday" ;
    rdfs:subClassOf s223:EnumerationKind-DayOfWeek .


            

Day of week-Weekend

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


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

s223:DayOfWeek-Weekend a s223:Class,
        s223:DayOfWeek-Weekend,
        sh:NodeShape ;
    rdfs:label "Day of week-Weekend",
        "Weekend" ;
    rdfs:subClassOf s223:EnumerationKind-DayOfWeek .


        

Details

All related shapes and rules

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

s223:DayOfWeek-Weekend a s223:Class,
        s223:DayOfWeek-Weekend,
        sh:NodeShape ;
    rdfs:label "Day of week-Weekend",
        "Weekend" ;
    rdfs:subClassOf s223:EnumerationKind-DayOfWeek .


            

Device

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


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

s223:Device a s223:Class,
        sh:NodeShape ;
    rdfs:label "Device" ;
    rdfs:comment "A Device is the modeling construct used to represent a physical entity or piece of mechanical equipment that one might buy from a vendor - a tangible object designed to accomplish a specific task. Examples of possible devices include a pump, fan, heat exchanger, luminaire, temperature sensor, or flow meter." ;
    rdfs:subClassOf s223:Connectable ;
    sh:property [ a sh:PropertyShape ;
            sh:class s223:Device ;
            sh:minCount 0 ;
            sh:name "device contains shape" ;
            sh:path s223:contains ],
        [ sh:description "The commanded state of a device" ;
            sh:maxCount 1 ;
            sh:minCount 0 ;
            sh:name "commanded State" ;
            sh:path s223:commandedState ],
        [ sh:class s223:PhysicalSpace ;
            sh:path s223:hasPhysicalLocation ],
        [ sh:class s223:EnumerationKind-Role ;
            sh:path s223:hasRole ],
        s223:hasContextualRoleShape,
        s223:hasPropertyShape .


        

See Also

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Sensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Sensor" ;
    rdfs:comment "A Sensor produces an ObservableProperty (see `s223:ObservableProperty`) which may be quantifiable (see `s223:QuantifiableObservableProperty`), such as a temperature, flowrate, or concentration, or may not be quantifiable (see `s223:NonQuantifiableProperty`), such as an alarm state or occupancy state. " ;
    sh:property [ sh:or ( [ sh:class s223:Connectable ] [ sh:class s223:Connection ] [ sh:class s223:Segment ] [ sh:class s223:ConnectionPoint ] ) ;
            sh:path s223:hasMeasurementLocation ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementPrecision ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementResolution ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementUncertainty ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:path s223:hasMedium ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMinRange ],
        [ sh:class s223:ObservableProperty ;
            sh:maxCount 1 ;
            sh:path s223:observesProperty ] ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:hasMeasurementLocation ?something .}
WHERE {
{
SELECT ?prop (COUNT (DISTINCT ?measurementLocation) AS ?count) $this
WHERE {
FILTER (NOT EXISTS {$this s223:hasMeasurementLocation ?anything}) .
FILTER (NOT EXISTS {$this a/rdfs:subClassOf* s223:DifferentialSensor}) .
FILTER (NOT EXISTS {$this a/rdfs:subClassOf* s223:VirtualSensor}) .
$this s223:observesProperty ?prop .
?measurementLocation s223:hasProperty ?prop .
}
GROUP BY ?prop $this
}
FILTER (?count = 1) .
?something s223:hasProperty ?prop .
{?something a/rdfs:subClassOf* s223:Device}
UNION
{?something a/rdfs:subClassOf* s223:Segment}
UNION
{?something a/rdfs:subClassOf* s223:ConnectionPoint}
UNION
{?something a/rdfs:subClassOf* s223:PhysicalSpace}
}
""" ;
            sh:name "InferredMeasurementLocation" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/data-rules> ] .

s223:connectedFrom a rdf:Property ;
    rdfs:label "connected from" ;
    rdfs:comment "The relation connectedFrom indicates that connectable things are connected with a specific direction of flow. B is connectedFrom A indicates a directionality beginning at A and ending at B.  The inverse direction is indicated by connectedTo (see `s223:connectedTo`)." ;
    rdfs:domain s223:Device .

s223:connectedTo a rdf:Property ;
    rdfs:label "connected to" ;
    rdfs:comment "The relation connectedTo indicates that connectable things are connected with a specific direction of flow. A is connectedTo B indicates a directionality beginning at A and ending at B.  The inverse direction is indicated by connectedFrom (see `s223:connectedFrom`)." ;
    rdfs:domain s223:Device .

s223:Connection a s223:Class,
        sh:NodeShape ;
    rdfs:label "Connection" ;
    rdfs:comment """A Connection is the modeling construct used to represent a physical thing (e.g., pipe, duct, or wire) that is used to convey some Medium (e.g., water, air, or electricity) between two connectable things. All Connections have two or more ConnectionPoints that are bound to either a Device (see `s223:Device`), DomainSpace (see `s223:DomainSpace`), or PhysicalSpace (see `s223:PhysicalSpace`). If the direction of flow is constrained that constraint is indicated by using one or more InletConnectionPoints (see `s223:InletConnectionPoint`) to represent the inflow points and OutletConnectionPoints (see `s223:OutletConnectionPoint`) to represent the outflow points.
  
A Connection may contain branches or intersections. These are modeled using Segments (see `s223:Segment`) and Junctions (see `s223:Junction`).
""" ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:ConnectionPoint ;
            sh:path s223:connectsAt ],
        [ sh:class s223:Connectable ;
            sh:name "ConnectionToUpstreamConnectableShape" ;
            sh:path s223:connectsFrom ],
        [ sh:class s223:Connectable ;
            sh:name "ConnectionToDownstreamConnectableShape" ;
            sh:path s223:connectsTo ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:name "Connection medium" ;
            sh:path s223:hasMedium ],
        [ sh:class s223:EnumerationKind-Role ;
            sh:path s223:hasRole ],
        [ sh:path s223:returnsTo ],
        [ sh:path s223:suppliesTo ],
        s223:hasContextualRoleShape,
        s223:hasPropertyShape ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:connectsFrom ?device .}
WHERE {
$this s223:connectsAt ?cp .
?cp s223:hasDirection s223:Direction-Outlet .
?cp s223:isConnectionPointOf ?device .
}
""" ;
            sh:name "InferredConnectionToUpstreamDeviceProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:connectsTo ?device .}
WHERE {
$this s223:connectsAt ?cp .
?cp s223:hasDirection s223:Direction-Inlet  .
?cp s223:isConnectionPointOf ?device .
}
""" ;
            sh:name "InferredConnectionToDownstreamDeviceProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:returnsTo ?device .}
WHERE {
$this s223:hasRole role:Return .
$this s223:connectsTo ?device .
}
""" ;
            sh:name "InferredReturnsToProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:suppliesTo ?device .}
WHERE {
$this s223:hasRole role:Supply .
$this s223:connectsTo ?device .
}
""" ;
            sh:name "InferredSuppliesToProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointBaseProperty" ;
            sh:object [ sh:path s223:connectsAt ] ;
            sh:predicate s223:cnx ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointBasePropertyFromInverse" ;
            sh:object [ sh:path [ sh:inversePath s223:connectsThrough ] ] ;
            sh:predicate s223:cnx ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointProperty" ;
            sh:object [ sh:path s223:cnx ] ;
            sh:predicate s223:connectsAt ;
            sh:subject sh:this ] .

s223:hasContextualRoleShape a sh:PropertyShape ;
    rdfs:label "has Contextual Role Shape" ;
    sh:node s223:ContextualRole ;
    sh:path s223:hasContextualRole .

s223:hasPropertyShape a sh:PropertyShape ;
    rdfs:label "has Property Shape" ;
    sh:class s223:Property ;
    sh:path s223:hasProperty .

s223:Device a s223:Class,
        sh:NodeShape ;
    rdfs:label "Device" ;
    rdfs:comment "A Device is the modeling construct used to represent a physical entity or piece of mechanical equipment that one might buy from a vendor - a tangible object designed to accomplish a specific task. Examples of possible devices include a pump, fan, heat exchanger, luminaire, temperature sensor, or flow meter." ;
    rdfs:subClassOf s223:Connectable ;
    sh:property [ a sh:PropertyShape ;
            sh:class s223:Device ;
            sh:minCount 0 ;
            sh:name "device contains shape" ;
            sh:path s223:contains ],
        [ sh:description "The commanded state of a device" ;
            sh:maxCount 1 ;
            sh:minCount 0 ;
            sh:name "commanded State" ;
            sh:path s223:commandedState ],
        [ sh:class s223:PhysicalSpace ;
            sh:path s223:hasPhysicalLocation ],
        [ sh:class s223:EnumerationKind-Role ;
            sh:path s223:hasRole ],
        s223:hasContextualRoleShape,
        s223:hasPropertyShape .


            

Differential pressure sensor

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


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

s223:DifferentialPressureSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Differential pressure sensor" ;
    rdfs:subClassOf s223:DifferentialSensor .


        

Details

All related shapes and rules

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

s223:DifferentialPressureSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Differential pressure sensor" ;
    rdfs:subClassOf s223:DifferentialSensor .


            

Differential sensor

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


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

s223:DifferentialSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Differential sensor" ;
    rdfs:subClassOf s223:Sensor ;
    sh:property [ sh:maxCount 2 ;
            sh:minCount 2 ;
            sh:path s223:hasMeasurementLocation ] .


        

See Also

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:DifferentialSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Differential sensor" ;
    rdfs:subClassOf s223:Sensor ;
    sh:property [ sh:maxCount 2 ;
            sh:minCount 2 ;
            sh:path s223:hasMeasurementLocation ] .

s223:Sensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Sensor" ;
    rdfs:comment "A Sensor produces an ObservableProperty (see `s223:ObservableProperty`) which may be quantifiable (see `s223:QuantifiableObservableProperty`), such as a temperature, flowrate, or concentration, or may not be quantifiable (see `s223:NonQuantifiableProperty`), such as an alarm state or occupancy state. " ;
    rdfs:subClassOf s223:Device ;
    sh:property [ sh:or ( [ sh:class s223:Connectable ] [ sh:class s223:Connection ] [ sh:class s223:Segment ] [ sh:class s223:ConnectionPoint ] ) ;
            sh:path s223:hasMeasurementLocation ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementPrecision ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementResolution ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementUncertainty ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:path s223:hasMedium ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMinRange ],
        [ sh:class s223:ObservableProperty ;
            sh:maxCount 1 ;
            sh:path s223:observesProperty ] ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:hasMeasurementLocation ?something .}
WHERE {
{
SELECT ?prop (COUNT (DISTINCT ?measurementLocation) AS ?count) $this
WHERE {
FILTER (NOT EXISTS {$this s223:hasMeasurementLocation ?anything}) .
FILTER (NOT EXISTS {$this a/rdfs:subClassOf* s223:DifferentialSensor}) .
FILTER (NOT EXISTS {$this a/rdfs:subClassOf* s223:VirtualSensor}) .
$this s223:observesProperty ?prop .
?measurementLocation s223:hasProperty ?prop .
}
GROUP BY ?prop $this
}
FILTER (?count = 1) .
?something s223:hasProperty ?prop .
{?something a/rdfs:subClassOf* s223:Device}
UNION
{?something a/rdfs:subClassOf* s223:Segment}
UNION
{?something a/rdfs:subClassOf* s223:ConnectionPoint}
UNION
{?something a/rdfs:subClassOf* s223:PhysicalSpace}
}
""" ;
            sh:name "InferredMeasurementLocation" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/data-rules> ] .


            

Discharge Context

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


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

s223:DischargeContext a s223:Class ;
    rdfs:label "Discharge Context" ;
    rdfs:subClassOf s223:Context .


        

Details

All related shapes and rules

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

s223:DischargeContext a s223:Class ;
    rdfs:label "Discharge Context" ;
    rdfs:subClassOf s223:Context .


            

Space

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 "Space" ;
    rdfs:comment "A DomainSpace is an atomic subdivision (or component) of a Zone and is associated with a Domain such as Lighting, Heating, etc. Physical spaces can contain Domain spaces." ;
    rdfs:subClassOf s223:Connectable ;
    sh:property [ sh:class s223:EnumerationKind-Domain ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:path s223:hasDomain ],
        s223:hasPropertyShape .


        

See Also

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Connection a s223:Class,
        sh:NodeShape ;
    rdfs:label "Connection" ;
    rdfs:comment """A Connection is the modeling construct used to represent a physical thing (e.g., pipe, duct, or wire) that is used to convey some Medium (e.g., water, air, or electricity) between two connectable things. All Connections have two or more ConnectionPoints that are bound to either a Device (see `s223:Device`), DomainSpace (see `s223:DomainSpace`), or PhysicalSpace (see `s223:PhysicalSpace`). If the direction of flow is constrained that constraint is indicated by using one or more InletConnectionPoints (see `s223:InletConnectionPoint`) to represent the inflow points and OutletConnectionPoints (see `s223:OutletConnectionPoint`) to represent the outflow points.
  
A Connection may contain branches or intersections. These are modeled using Segments (see `s223:Segment`) and Junctions (see `s223:Junction`).
""" ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:ConnectionPoint ;
            sh:path s223:connectsAt ],
        [ sh:class s223:Connectable ;
            sh:name "ConnectionToUpstreamConnectableShape" ;
            sh:path s223:connectsFrom ],
        [ sh:class s223:Connectable ;
            sh:name "ConnectionToDownstreamConnectableShape" ;
            sh:path s223:connectsTo ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:name "Connection medium" ;
            sh:path s223:hasMedium ],
        [ sh:class s223:EnumerationKind-Role ;
            sh:path s223:hasRole ],
        [ sh:class s223:Device ;
            sh:path s223:returnsTo ],
        [ sh:class s223:Device ;
            sh:path s223:suppliesTo ],
        s223:hasContextualRoleShape,
        s223:hasPropertyShape ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:connectsFrom ?device .}
WHERE {
$this s223:connectsAt ?cp .
?cp s223:hasDirection s223:Direction-Outlet .
?cp s223:isConnectionPointOf ?device .
}
""" ;
            sh:name "InferredConnectionToUpstreamDeviceProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:connectsTo ?device .}
WHERE {
$this s223:connectsAt ?cp .
?cp s223:hasDirection s223:Direction-Inlet  .
?cp s223:isConnectionPointOf ?device .
}
""" ;
            sh:name "InferredConnectionToDownstreamDeviceProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:returnsTo ?device .}
WHERE {
$this s223:hasRole role:Return .
$this s223:connectsTo ?device .
}
""" ;
            sh:name "InferredReturnsToProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:suppliesTo ?device .}
WHERE {
$this s223:hasRole role:Supply .
$this s223:connectsTo ?device .
}
""" ;
            sh:name "InferredSuppliesToProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointBaseProperty" ;
            sh:object [ sh:path s223:connectsAt ] ;
            sh:predicate s223:cnx ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointBasePropertyFromInverse" ;
            sh:object [ sh:path [ sh:inversePath s223:connectsThrough ] ] ;
            sh:predicate s223:cnx ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointProperty" ;
            sh:object [ sh:path s223:cnx ] ;
            sh:predicate s223:connectsAt ;
            sh:subject sh:this ] .

s223:HasDomainLookingUpRule a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "Traverse up the contains hierarchy to determine the domain" ;
            sh:object [ sh:path ( [ sh:zeroOrMorePath [ sh:inversePath s223:contains ] ] s223:hasDomain ) ] ;
            sh:predicate s223:hasDomain ;
            sh:subject sh:this ] ;
    sh:targetClass s223:DomainSpace,
        s223:Zone .

s223:DomainSpace a s223:Class,
        sh:NodeShape ;
    rdfs:label "Space" ;
    rdfs:comment "A DomainSpace is an atomic subdivision (or component) of a Zone and is associated with a Domain such as Lighting, Heating, etc. Physical spaces can contain Domain spaces." ;
    rdfs:subClassOf s223:Connectable ;
    sh:property [ sh:class s223:EnumerationKind-Domain ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:path s223:hasDomain ],
        s223:hasPropertyShape .

s223:hasPropertyShape a sh:PropertyShape ;
    rdfs:label "has Property Shape" ;
    sh:class s223:Property ;
    sh:path s223:hasProperty .


            

Duct

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


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

s223:Duct a s223:Class,
        sh:NodeShape ;
    rdfs:label "Duct" ;
    rdfs:comment "A predefined subClassOf Connection typically used to convey air in a building." ;
    rdfs:subClassOf s223:Connection .


        

Details

All related shapes and rules

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

s223:Duct a s223:Class,
        sh:NodeShape ;
    rdfs:label "Duct" ;
    rdfs:comment "A predefined subClassOf Connection typically used to convey air in a building." ;
    rdfs:subClassOf s223:Connection .


            

Economizer

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


        

Details

All related shapes and rules

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

s223:Economizer a s223:Class,
        sh:NodeShape ;
    rdfs:label "Economizer" ;
    rdfs:subClassOf s223:Device .


            

Enumerable Property

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


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

s223:EnumerableProperty a s223:Class,
        sh:NodeShape ;
    rdfs:label "Enumerable Property" ;
    rdfs:subClassOf s223:Property ;
    sh:property [ sh:class s223:EnumerationKind ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:path s223:hasEnumerationKind ] .


        

Details

All related shapes and rules

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

s223:EnumerableProperty a s223:Class,
        sh:NodeShape ;
    rdfs:label "Enumerable Property" ;
    rdfs:subClassOf s223:Property ;
    sh:property [ sh:class s223:EnumerationKind ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:path s223:hasEnumerationKind ] .


            

Enumerated actuatable property

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


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

s223:EnumeratedActuatableProperty a s223:Class,
        sh:NodeShape ;
    rdfs:label "Enumerated actuatable property" ;
    rdfs:subClassOf s223:ActuatableProperty,
        s223:EnumerableProperty .


        

Details

All related shapes and rules

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

s223:EnumeratedActuatableProperty a s223:Class,
        sh:NodeShape ;
    rdfs:label "Enumerated actuatable property" ;
    rdfs:subClassOf s223:ActuatableProperty,
        s223:EnumerableProperty .


            

Enumerated observable property

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


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

s223:EnumeratedObservableProperty a s223:Class,
        sh:NodeShape ;
    rdfs:label "Enumerated observable property" ;
    rdfs:subClassOf s223:EnumerableProperty,
        s223:ObservableProperty .


        

Details

All related shapes and rules

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

s223:EnumeratedObservableProperty a s223:Class,
        sh:NodeShape ;
    rdfs:label "Enumerated observable property" ;
    rdfs:subClassOf s223:EnumerableProperty,
        s223:ObservableProperty .


            

Enumeration kind

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


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

s223:EnumerationKind a s223:Class,
        sh:NodeShape ;
    rdfs:label "Enumeration kind" ;
    rdfs:subClassOf s223:Concept .


        

See Also

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:ContextualRole a sh:NodeShape ;
    rdfs:comment "A ContextualRole is a role where the role value is only meaningful in a specified context, such as from a particular perspective (relativeTo) or only under certain conditions (inState). The ContextualRole instance must have at least one of these contexts, but may have several." ;
    sh:or ( [ sh:property [ sh:class s223:State ;
                        sh:minCount 1 ;
                        sh:path s223:inState ] ] [ sh:property [ sh:class s223:Device ;
                        sh:minCount 1 ;
                        sh:path s223:relativeTo ] ] ) ;
    sh:property [ sh:class s223:EnumerationKind-Role ;
            sh:minCount 1 ;
            sh:path s223:hasRole ] .

s223:EnumerationKind a s223:Class,
        sh:NodeShape ;
    rdfs:label "Enumeration kind" ;
    rdfs:subClassOf s223:Concept .

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 6 variations of a property, which are:
ActuatableProperty - such as the setting of a switch
ObservableProperty - such as the state of an alarm detector
NonQuantifiableProperty - such as the color of a device
QuantifiableProperty - such as a maximum power rating
QuantifiableActuatableProperty - such as a numerical setpoint
QuantifiableObservableProperty - such as a temperature reading

A QuantifiableProperty (or subClass thereof) must always be associated with a Unit and a QuantityKind, either explicitly from the Property, or through the associated Value. If the Unit is defined, the SHACL reasoner (if invoked) will figure out and assert the QuantityKind (the most general version).""" ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:path s223:hasAspect ],
        [ sh:path s223:hasValue ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:path s223:ofMedium ],
        [ sh:class s223:EnumerationKind-Substance ;
            sh:maxCount 1 ;
            sh:path s223:ofSubstance ] ;
    sh:xone ( [ sh:property [ a sh:PropertyShape ;
                        sh:class <https://brickschema.org/schema/Brick/ref#ExternalReference> ;
                        sh:description "Used to provide a pointer of any kind to a data source containing a simple value. Either s223:hasExternalReference or s223:hasValue is populated, but not both." ;
                        sh:minCount 1 ;
                        sh:path s223:hasExternalReference ] ] [ sh:property [ a sh:PropertyShape ;
                        sh:minCount 1 ;
                        sh:path s223:hasValue ] ] [ sh:and ( [ sh:property [ a sh:PropertyShape ;
                                    sh:maxCount 0 ;
                                    sh:path s223:hasExternalReference ] ] [ sh:property [ a sh:PropertyShape ;
                                    sh:maxCount 0 ;
                                    sh:path s223:hasValue ] ] ) ] ) .

s223:Sensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Sensor" ;
    rdfs:comment "A Sensor produces an ObservableProperty (see `s223:ObservableProperty`) which may be quantifiable (see `s223:QuantifiableObservableProperty`), such as a temperature, flowrate, or concentration, or may not be quantifiable (see `s223:NonQuantifiableProperty`), such as an alarm state or occupancy state. " ;
    rdfs:subClassOf s223:Device ;
    sh:property [ sh:or ( [ sh:class s223:Connectable ] [ sh:class s223:Connection ] [ sh:class s223:Segment ] [ sh:class s223:ConnectionPoint ] ) ;
            sh:path s223:hasMeasurementLocation ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementPrecision ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementResolution ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementUncertainty ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:path s223:hasMedium ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMinRange ],
        [ sh:class s223:ObservableProperty ;
            sh:maxCount 1 ;
            sh:path s223:observesProperty ] ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:hasMeasurementLocation ?something .}
WHERE {
{
SELECT ?prop (COUNT (DISTINCT ?measurementLocation) AS ?count) $this
WHERE {
FILTER (NOT EXISTS {$this s223:hasMeasurementLocation ?anything}) .
FILTER (NOT EXISTS {$this a/rdfs:subClassOf* s223:DifferentialSensor}) .
FILTER (NOT EXISTS {$this a/rdfs:subClassOf* s223:VirtualSensor}) .
$this s223:observesProperty ?prop .
?measurementLocation s223:hasProperty ?prop .
}
GROUP BY ?prop $this
}
FILTER (?count = 1) .
?something s223:hasProperty ?prop .
{?something a/rdfs:subClassOf* s223:Device}
UNION
{?something a/rdfs:subClassOf* s223:Segment}
UNION
{?something a/rdfs:subClassOf* s223:ConnectionPoint}
UNION
{?something a/rdfs:subClassOf* s223:PhysicalSpace}
}
""" ;
            sh:name "InferredMeasurementLocation" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/data-rules> ] .

s223:DayOfWeek-Weekday a s223:Class,
        s223:DayOfWeek-Weekday,
        sh:NodeShape ;
    rdfs:label "Day of week-Weekday",
        "Weekday" ;
    rdfs:subClassOf s223:EnumerationKind-DayOfWeek .

s223:DayOfWeek-Weekend a s223:Class,
        s223:DayOfWeek-Weekend,
        sh:NodeShape ;
    rdfs:label "Day of week-Weekend",
        "Weekend" ;
    rdfs:subClassOf s223:EnumerationKind-DayOfWeek .

s223:EnumerationKind-Direction a s223:Class,
        s223:EnumerationKind-Direction,
        sh:NodeShape ;
    rdfs:label "Direction" ;
    rdfs:comment "This class has enumerated instances of Bidirectional, Inlet and Outlet used to qualify ConnectionPoints." .

s223:EnumerationKind-Effectiveness a s223:Class,
        s223:EnumerationKind-Effectiveness,
        sh:NodeShape ;
    rdfs:label "Effectiveness" .

s223:EnumerationKind-HVACOperatingMode a s223:Class,
        s223:EnumerationKind-HVACOperatingMode,
        sh:NodeShape ;
    rdfs:label "HVAC system/equipment operating mode. The policy under which the system is operating." .

s223:EnumerationKind-HVACOperatingStatus a s223:Class,
        s223:EnumerationKind-HVACOperatingStatus,
        sh:NodeShape ;
    rdfs:label "HVAC system/equipment operating status. What the system is currently doing." .

s223:EnumerationKind-OccupancyStatus a s223:Class,
        s223:EnumerationKind-OccupancyStatus,
        sh:NodeShape ;
    rdfs:label "Occupancy status" ;
    rdfs:subClassOf s223:SetpointAspect .

s223:EnumerationKind-OnOff a s223:Class,
        s223:EnumerationKind-OnOff,
        sh:NodeShape ;
    rdfs:label "OnOff enumeration" .

s223:EnumerationKind-PositionStatus a s223:Class,
        s223:EnumerationKind-PositionStatus,
        sh:NodeShape ;
    rdfs:label "Position status" .

s223:EnumerationKind-RunStatus a s223:Class,
        s223:EnumerationKind-RunStatus,
        sh:NodeShape ;
    rdfs:label "Run status" .

s223:EnumerationKind-ThreeSpeedSetting a s223:Class,
        s223:EnumerationKind-ThreeSpeedSetting,
        sh:NodeShape ;
    rdfs:label "Three speed setting" .

s223:Medium-Electricity a s223:Class,
        s223:Medium-Electricity,
        sh:NodeShape ;
    rdfs:label "Electricity" ;
    rdfs:subClassOf s223:EnumerationKind-Medium .

s223:Medium-Light a s223:Class,
        s223:Medium-Light,
        sh:NodeShape ;
    rdfs:label "Medium-Light" ;
    rdfs:subClassOf s223:EnumerationKind-Medium .

s223:Medium-Water a s223:Class,
        s223:Medium-Water,
        sh:NodeShape ;
    rdfs:label "Medium-Water" ;
    rdfs:subClassOf s223:EnumerationKind-Medium .

s223:Substance-Particulate a s223:Class,
        s223:Substance-Particulate,
        sh:NodeShape ;
    rdfs:label "Particulate" ;
    rdfs:subClassOf s223:EnumerationKind-Substance .

s223:System a s223:Class,
        sh:NodeShape ;
    rdfs:label "System" ;
    rdfs:comment """A System is a logical grouping of Devices for some functional or system reason, such as a "chilled water system, or HVAC system"
A System is distinguished from a Device by the fact that you typically have to install and configure a System, while you might just install and use a Device.""" ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ a sh:PropertyShape ;
            sh:minCount 0 ;
            sh:name "system contains shape" ;
            sh:or ( [ sh:class s223:Device ] [ sh:class s223:System ] [ sh:class s223:Junction ] ) ;
            sh:path s223:contains ],
        [ sh:class s223:EnumerationKind-Role ;
            sh:path s223:hasRole ],
        [ sh:class s223:SystemConnectionPoint ;
            sh:name "SystemtoSystemConnectionPointShape" ;
            sh:path s223:hasSystemConnectionPoint ],
        [ sh:class s223:Zone ;
            sh:path s223:servesZone ],
        s223:hasContextualRoleShape,
        s223:hasPropertyShape ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:contains ?sub .}
WHERE {
  $this s223:hasJunction ?sub .
}
""" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:hasJunction ?sub .}
WHERE {
$this s223:contains ?sub .
?sub a s223:Junction .
}
""" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ] .

s223:Connection a s223:Class,
        sh:NodeShape ;
    rdfs:label "Connection" ;
    rdfs:comment """A Connection is the modeling construct used to represent a physical thing (e.g., pipe, duct, or wire) that is used to convey some Medium (e.g., water, air, or electricity) between two connectable things. All Connections have two or more ConnectionPoints that are bound to either a Device (see `s223:Device`), DomainSpace (see `s223:DomainSpace`), or PhysicalSpace (see `s223:PhysicalSpace`). If the direction of flow is constrained that constraint is indicated by using one or more InletConnectionPoints (see `s223:InletConnectionPoint`) to represent the inflow points and OutletConnectionPoints (see `s223:OutletConnectionPoint`) to represent the outflow points.
  
A Connection may contain branches or intersections. These are modeled using Segments (see `s223:Segment`) and Junctions (see `s223:Junction`).
""" ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:ConnectionPoint ;
            sh:path s223:connectsAt ],
        [ sh:class s223:Connectable ;
            sh:name "ConnectionToUpstreamConnectableShape" ;
            sh:path s223:connectsFrom ],
        [ sh:class s223:Connectable ;
            sh:name "ConnectionToDownstreamConnectableShape" ;
            sh:path s223:connectsTo ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:name "Connection medium" ;
            sh:path s223:hasMedium ],
        [ sh:class s223:EnumerationKind-Role ;
            sh:path s223:hasRole ],
        [ sh:class s223:Device ;
            sh:path s223:returnsTo ],
        [ sh:class s223:Device ;
            sh:path s223:suppliesTo ],
        s223:hasContextualRoleShape,
        s223:hasPropertyShape ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:connectsFrom ?device .}
WHERE {
$this s223:connectsAt ?cp .
?cp s223:hasDirection s223:Direction-Outlet .
?cp s223:isConnectionPointOf ?device .
}
""" ;
            sh:name "InferredConnectionToUpstreamDeviceProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:connectsTo ?device .}
WHERE {
$this s223:connectsAt ?cp .
?cp s223:hasDirection s223:Direction-Inlet  .
?cp s223:isConnectionPointOf ?device .
}
""" ;
            sh:name "InferredConnectionToDownstreamDeviceProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:returnsTo ?device .}
WHERE {
$this s223:hasRole role:Return .
$this s223:connectsTo ?device .
}
""" ;
            sh:name "InferredReturnsToProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:suppliesTo ?device .}
WHERE {
$this s223:hasRole role:Supply .
$this s223:connectsTo ?device .
}
""" ;
            sh:name "InferredSuppliesToProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointBaseProperty" ;
            sh:object [ sh:path s223:connectsAt ] ;
            sh:predicate s223:cnx ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointBasePropertyFromInverse" ;
            sh:object [ sh:path [ sh:inversePath s223:connectsThrough ] ] ;
            sh:predicate s223:cnx ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointProperty" ;
            sh:object [ sh:path s223:cnx ] ;
            sh:predicate s223:connectsAt ;
            sh:subject sh:this ] .

s223:ConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "ConnectionPoint" ;
    s223:abstract true ;
    rdfs:comment """
A ConnectionPoint is the modeling construct used to represent the fact that a Device can be connected to another Device. It is the abstract representation of the flange, wire terminal, or other physical feature where a connection is made. In addition to Devices, other Connectable things (see `s223:Connectable`) can have one or more ConnectionPoints.

A ConnectionPoint can be constrained to relate to a specific medium such as air, water, or electricity which determines what other things can be connected to it. For example, by constraining a ConnectionPoint to be for air it cannot be used for an electrical connection.

A ConnectionPoint also has a Direction (see `s223:EnumerationKind-Direction`) which can have values of Inlet, Outlet, or Bidirectional. This directionality is used to constrain the way one device connects to another when combining them to form a model.

A ConnectionPoint belongs to exactly one Connectable thing. """ ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:Connection ;
            sh:maxCount 1 ;
            sh:message "This ConnectionPoint must be associated with exactly 1 Connection." ;
            sh:minCount 1 ;
            sh:name "ConnectionPointToConnectionShape" ;
            sh:path s223:connectsThrough ;
            sh:severity sh:Info ],
        [ sh:maxCount 1 ;
            sh:name "ConnectionPoint direction" ;
            sh:or ( [ sh:hasValue s223:Direction-Inlet ] [ sh:hasValue s223:Direction-Outlet ] [ sh:hasValue s223:Direction-Bidirectional ] ) ;
            sh:path s223:hasDirection ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:name "ConnectionPoint medium" ;
            sh:path s223:hasMedium ],
        [ sh:class s223:Connectable ;
            sh:maxCount 1 ;
            sh:name "ConnectionPointToDeviceShape" ;
            sh:path s223:isConnectionPointOf ],
        [ sh:class s223:Segment ;
            sh:path s223:lnx ],
        s223:hasPropertyShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Bidirectional for property hasDirection, then declare it as an instance of BidirectionalConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Bidirectional ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:BidirectionalConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Inlet  for property hasDirection, then declare it as an instance of InletConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Inlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:InletConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Outlet for property hasDirection, then declare it as an instance of OutletConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Outlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:OutletConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] .

s223:DomainSpace a s223:Class,
        sh:NodeShape ;
    rdfs:label "Space" ;
    rdfs:comment "A DomainSpace is an atomic subdivision (or component) of a Zone and is associated with a Domain such as Lighting, Heating, etc. Physical spaces can contain Domain spaces." ;
    rdfs:subClassOf s223:Connectable ;
    sh:property [ sh:class s223:EnumerationKind-Domain ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:path s223:hasDomain ],
        s223:hasPropertyShape .

s223:PhysicalSpace a s223:Class,
        sh:NodeShape ;
    rdfs:label "Physical space" ;
    rdfs:comment "A PhysicalSpace is an architectural concept that can represent a room, a collection of rooms such as a floor, a part of a room, or any space that might not even be thought of as a room, such as a patio space." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:PhysicalSpace ;
            sh:path s223:contains ],
        [ sh:class s223:DomainSpace ;
            sh:path s223:encloses ],
        [ sh:class s223:EnumerationKind-Domain ;
            sh:path s223:hasDomain ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of PhysicalSpace doesn't have a value for hasDomain, then set it." ;
            sh:object s223:Domain-Physical ;
            sh:predicate s223:hasDomain ;
            sh:subject sh:this ] .

s223:Zone a s223:Class,
        sh:NodeShape ;
    rdfs:label "Zone" ;
    rdfs:comment "A Zone represents a collection of Spaces to identify a domain of control, such as a Lighting Zone." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:or ( [ sh:class s223:DomainSpace ] [ sh:class s223:Zone ] ) ;
            sh:path s223:contains ],
        [ sh:class s223:EnumerationKind-Domain ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:path s223:hasDomain ],
        s223:hasPropertyShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "Traverse down the contains hierarchy to determine the domain" ;
            sh:object [ sh:path ( [ sh:zeroOrMorePath s223:contains ] s223:hasDomain ) ] ;
            sh:predicate s223:hasDomain ;
            sh:subject sh:this ] .

s223:EnumerationKind-DayOfWeek a s223:Class,
        s223:EnumerationKind-DayOfWeek,
        sh:NodeShape ;
    rdfs:label "Day of Week" .

s223:EnumerationKind-Substance a s223:Class,
        s223:EnumerationKind-Substance,
        sh:NodeShape ;
    rdfs:label "Substance" .

s223:EnumerationKind-Domain a s223:Class,
        s223:EnumerationKind-Domain,
        sh:NodeShape ;
    rdfs:label "EnumerationKind Domain" .

s223:EnumerationKind-Role a s223:Class,
        s223:EnumerationKind-Role,
        sh:NodeShape ;
    rdfs:label "Role" .

s223:Device a s223:Class,
        sh:NodeShape ;
    rdfs:label "Device" ;
    rdfs:comment "A Device is the modeling construct used to represent a physical entity or piece of mechanical equipment that one might buy from a vendor - a tangible object designed to accomplish a specific task. Examples of possible devices include a pump, fan, heat exchanger, luminaire, temperature sensor, or flow meter." ;
    rdfs:subClassOf s223:Connectable ;
    sh:property [ a sh:PropertyShape ;
            sh:class s223:Device ;
            sh:minCount 0 ;
            sh:name "device contains shape" ;
            sh:path s223:contains ],
        [ sh:description "The commanded state of a device" ;
            sh:maxCount 1 ;
            sh:minCount 0 ;
            sh:name "commanded State" ;
            sh:path s223:commandedState ],
        [ sh:class s223:PhysicalSpace ;
            sh:path s223:hasPhysicalLocation ],
        [ sh:class s223:EnumerationKind-Role ;
            sh:path s223:hasRole ],
        s223:hasContextualRoleShape,
        s223:hasPropertyShape .

s223:EnumerationKind-Medium a s223:Class,
        s223:EnumerationKind-Medium,
        sh:NodeShape ;
    rdfs:label "Medium" .


            

Day of Week

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


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

s223:EnumerationKind-DayOfWeek a s223:Class,
        s223:EnumerationKind-DayOfWeek,
        sh:NodeShape ;
    rdfs:label "Day of Week" ;
    rdfs:subClassOf s223:EnumerationKind .


        

Details

All related shapes and rules

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

s223:EnumerationKind-DayOfWeek a s223:Class,
        s223:EnumerationKind-DayOfWeek,
        sh:NodeShape ;
    rdfs:label "Day of Week" ;
    rdfs:subClassOf s223:EnumerationKind .


            

Direction

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


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

s223:EnumerationKind-Direction a s223:Class,
        s223:EnumerationKind-Direction,
        sh:NodeShape ;
    rdfs:label "Direction" ;
    rdfs:comment "This class has enumerated instances of Bidirectional, Inlet and Outlet used to qualify ConnectionPoints." ;
    rdfs:subClassOf s223:EnumerationKind .


        

See Also

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:ConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "ConnectionPoint" ;
    s223:abstract true ;
    rdfs:comment """
A ConnectionPoint is the modeling construct used to represent the fact that a Device can be connected to another Device. It is the abstract representation of the flange, wire terminal, or other physical feature where a connection is made. In addition to Devices, other Connectable things (see `s223:Connectable`) can have one or more ConnectionPoints.

A ConnectionPoint can be constrained to relate to a specific medium such as air, water, or electricity which determines what other things can be connected to it. For example, by constraining a ConnectionPoint to be for air it cannot be used for an electrical connection.

A ConnectionPoint also has a Direction (see `s223:EnumerationKind-Direction`) which can have values of Inlet, Outlet, or Bidirectional. This directionality is used to constrain the way one device connects to another when combining them to form a model.

A ConnectionPoint belongs to exactly one Connectable thing. """ ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:Connection ;
            sh:maxCount 1 ;
            sh:message "This ConnectionPoint must be associated with exactly 1 Connection." ;
            sh:minCount 1 ;
            sh:name "ConnectionPointToConnectionShape" ;
            sh:path s223:connectsThrough ;
            sh:severity sh:Info ],
        [ sh:maxCount 1 ;
            sh:name "ConnectionPoint direction" ;
            sh:or ( [ sh:hasValue s223:Direction-Inlet ] [ sh:hasValue s223:Direction-Outlet ] [ sh:hasValue s223:Direction-Bidirectional ] ) ;
            sh:path s223:hasDirection ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:name "ConnectionPoint medium" ;
            sh:path s223:hasMedium ],
        [ sh:class s223:Connectable ;
            sh:maxCount 1 ;
            sh:name "ConnectionPointToDeviceShape" ;
            sh:path s223:isConnectionPointOf ],
        [ sh:class s223:Segment ;
            sh:path s223:lnx ],
        s223:hasPropertyShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Bidirectional for property hasDirection, then declare it as an instance of BidirectionalConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Bidirectional ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:BidirectionalConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Inlet  for property hasDirection, then declare it as an instance of InletConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Inlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:InletConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Outlet for property hasDirection, then declare it as an instance of OutletConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Outlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:OutletConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] .

s223:EnumerationKind-Direction a s223:Class,
        s223:EnumerationKind-Direction,
        sh:NodeShape ;
    rdfs:label "Direction" ;
    rdfs:comment "This class has enumerated instances of Bidirectional, Inlet and Outlet used to qualify ConnectionPoints." ;
    rdfs:subClassOf s223:EnumerationKind .


            

EnumerationKind Domain

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


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

s223:EnumerationKind-Domain a s223:Class,
        s223:EnumerationKind-Domain,
        sh:NodeShape ;
    rdfs:label "EnumerationKind Domain" ;
    rdfs:subClassOf s223:EnumerationKind .


        

Details

All related shapes and rules

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

s223:EnumerationKind-Domain a s223:Class,
        s223:EnumerationKind-Domain,
        sh:NodeShape ;
    rdfs:label "EnumerationKind Domain" ;
    rdfs:subClassOf s223:EnumerationKind .


            

Effectiveness

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


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

s223:EnumerationKind-Effectiveness a s223:Class,
        s223:EnumerationKind-Effectiveness,
        sh:NodeShape ;
    rdfs:label "Effectiveness" ;
    rdfs:subClassOf s223:EnumerationKind .


        

Details

All related shapes and rules

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

s223:EnumerationKind-Effectiveness a s223:Class,
        s223:EnumerationKind-Effectiveness,
        sh:NodeShape ;
    rdfs:label "Effectiveness" ;
    rdfs:subClassOf s223:EnumerationKind .


            

HVAC system/equipment operating mode. The policy under which the system is operating.

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


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

s223:EnumerationKind-HVACOperatingMode a s223:Class,
        s223:EnumerationKind-HVACOperatingMode,
        sh:NodeShape ;
    rdfs:label "HVAC system/equipment operating mode. The policy under which the system is operating." ;
    rdfs:subClassOf s223:EnumerationKind .


        

Details

All related shapes and rules

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

s223:EnumerationKind-HVACOperatingMode a s223:Class,
        s223:EnumerationKind-HVACOperatingMode,
        sh:NodeShape ;
    rdfs:label "HVAC system/equipment operating mode. The policy under which the system is operating." ;
    rdfs:subClassOf s223:EnumerationKind .


            

HVAC system/equipment operating status. What the system is currently doing.

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


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

s223:EnumerationKind-HVACOperatingStatus a s223:Class,
        s223:EnumerationKind-HVACOperatingStatus,
        sh:NodeShape ;
    rdfs:label "HVAC system/equipment operating status. What the system is currently doing." ;
    rdfs:subClassOf s223:EnumerationKind .


        

Details

All related shapes and rules

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

s223:EnumerationKind-HVACOperatingStatus a s223:Class,
        s223:EnumerationKind-HVACOperatingStatus,
        sh:NodeShape ;
    rdfs:label "HVAC system/equipment operating status. What the system is currently doing." ;
    rdfs:subClassOf s223:EnumerationKind .


            

Medium

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


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

s223:EnumerationKind-Medium a s223:Class,
        s223:EnumerationKind-Medium,
        sh:NodeShape ;
    rdfs:label "Medium" ;
    rdfs:subClassOf s223:EnumerationKind .


        

Details

All related shapes and rules

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

s223:EnumerationKind-Medium a s223:Class,
        s223:EnumerationKind-Medium,
        sh:NodeShape ;
    rdfs:label "Medium" ;
    rdfs:subClassOf s223:EnumerationKind .


            

Occupancy status

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


@prefix rdfs: <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-OccupancyStatus a s223:Class,
        s223:EnumerationKind-OccupancyStatus,
        sh:NodeShape ;
    rdfs:label "Occupancy status" ;
    rdfs:subClassOf s223:EnumerationKind,
        s223:SetpointAspect .


        

Details

All related shapes and rules

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

s223:EnumerationKind-OccupancyStatus a s223:Class,
        s223:EnumerationKind-OccupancyStatus,
        sh:NodeShape ;
    rdfs:label "Occupancy status" ;
    rdfs:subClassOf s223:EnumerationKind,
        s223:SetpointAspect .


            

OnOff enumeration

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


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

s223:EnumerationKind-OnOff a s223:Class,
        s223:EnumerationKind-OnOff,
        sh:NodeShape ;
    rdfs:label "OnOff enumeration" ;
    rdfs:subClassOf s223:EnumerationKind .


        

Details

All related shapes and rules

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

s223:EnumerationKind-OnOff a s223:Class,
        s223:EnumerationKind-OnOff,
        sh:NodeShape ;
    rdfs:label "OnOff enumeration" ;
    rdfs:subClassOf s223:EnumerationKind .


            

Position status

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


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

s223:EnumerationKind-PositionStatus a s223:Class,
        s223:EnumerationKind-PositionStatus,
        sh:NodeShape ;
    rdfs:label "Position status" ;
    rdfs:subClassOf s223:EnumerationKind .


        

Details

All related shapes and rules

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

s223:EnumerationKind-PositionStatus a s223:Class,
        s223:EnumerationKind-PositionStatus,
        sh:NodeShape ;
    rdfs:label "Position status" ;
    rdfs:subClassOf s223:EnumerationKind .


            

Role

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


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

s223:EnumerationKind-Role a s223:Class,
        s223:EnumerationKind-Role,
        sh:NodeShape ;
    rdfs:label "Role" ;
    rdfs:subClassOf s223:EnumerationKind .


        

Details

All related shapes and rules

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

s223:EnumerationKind-Role a s223:Class,
        s223:EnumerationKind-Role,
        sh:NodeShape ;
    rdfs:label "Role" ;
    rdfs:subClassOf s223:EnumerationKind .


            

Run status

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


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

s223:EnumerationKind-RunStatus a s223:Class,
        s223:EnumerationKind-RunStatus,
        sh:NodeShape ;
    rdfs:label "Run status" ;
    rdfs:subClassOf s223:EnumerationKind .


        

Details

All related shapes and rules

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

s223:EnumerationKind-RunStatus a s223:Class,
        s223:EnumerationKind-RunStatus,
        sh:NodeShape ;
    rdfs:label "Run status" ;
    rdfs:subClassOf s223:EnumerationKind .


            

Substance

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


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

s223:EnumerationKind-Substance a s223:Class,
        s223:EnumerationKind-Substance,
        sh:NodeShape ;
    rdfs:label "Substance" ;
    rdfs:subClassOf s223:EnumerationKind .


        

Details

All related shapes and rules

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

s223:EnumerationKind-Substance a s223:Class,
        s223:EnumerationKind-Substance,
        sh:NodeShape ;
    rdfs:label "Substance" ;
    rdfs:subClassOf s223:EnumerationKind .


            

Three speed setting

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


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

s223:EnumerationKind-ThreeSpeedSetting a s223:Class,
        s223:EnumerationKind-ThreeSpeedSetting,
        sh:NodeShape ;
    rdfs:label "Three speed setting" ;
    rdfs:subClassOf s223:EnumerationKind .


        

Details

All related shapes and rules

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

s223:EnumerationKind-ThreeSpeedSetting a s223:Class,
        s223:EnumerationKind-ThreeSpeedSetting,
        sh:NodeShape ;
    rdfs:label "Three speed setting" ;
    rdfs:subClassOf s223:EnumerationKind .


            

Exhaust Context

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


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

s223:ExhaustContext a s223:Class ;
    rdfs:label "Exhaust Context" ;
    rdfs:subClassOf s223:Context .


        

Details

All related shapes and rules

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

s223:ExhaustContext a s223:Class ;
    rdfs:label "Exhaust Context" ;
    rdfs:subClassOf s223:Context .


            

External source

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


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

s223:ExternalSource a s223:Class,
        sh:NodeShape ;
    rdfs:label "External source" ;
    rdfs:subClassOf s223:Concept .


        

Details

All related shapes and rules

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

s223:ExternalSource a s223:Class,
        sh:NodeShape ;
    rdfs:label "External source" ;
    rdfs:subClassOf s223:Concept .


            

Fan

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


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

s223:Fan a s223:Class,
        sh:NodeShape ;
    rdfs:label "Fan" ;
    rdfs:subClassOf s223:FlowDevice ;
    sh:property [ a sh:PropertyShape ;
            sh:class s223:ConnectionPoint ;
            sh:minCount 2 ;
            sh:name "Air inlet point" ;
            sh:path s223:hasConnectionPoint ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "Infer the hasOutletPressure property value" ;
            sh:object [ sh:filterShape [ sh:property [ sh:hasValue <http://qudt.org/vocab/quantitykind/Pressure> ;
                                    sh:path <http://qudt.org/schema/qudt/hasQuantityKind> ] ] ;
                    sh:nodes [ sh:nodes [ sh:filterShape [ sh:hasValue s223:Direction-Outlet ;
                                            sh:path s223:hasDirection ] ;
                                    sh:nodes [ sh:path s223:hasConnectionPoint ] ] ;
                            sh:path s223:hasProperty ] ] ;
            sh:predicate s223:hasOutletPressure ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "Infer the hasInletPressure property value" ;
            sh:object [ sh:filterShape [ sh:property [ sh:hasValue <http://qudt.org/vocab/quantitykind/Pressure> ;
                                    sh:path <http://qudt.org/schema/qudt/hasQuantityKind> ] ] ;
                    sh:nodes [ sh:nodes [ sh:filterShape [ sh:hasValue s223:Direction-Inlet ;
                                            sh:path s223:hasDirection ] ;
                                    sh:nodes [ sh:path s223:hasConnectionPoint ] ] ;
                            sh:path s223:hasProperty ] ] ;
            sh:predicate s223:hasInletPressure ;
            sh:subject sh:this ] .


        

Details

All related shapes and rules

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

s223:Fan a s223:Class,
        sh:NodeShape ;
    rdfs:label "Fan" ;
    rdfs:subClassOf s223:FlowDevice ;
    sh:property [ a sh:PropertyShape ;
            sh:class s223:ConnectionPoint ;
            sh:minCount 2 ;
            sh:name "Air inlet point" ;
            sh:path s223:hasConnectionPoint ] ;
    sh:rule [ ],
        [ ] .


            

Finned heat exchanger

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


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

s223:FinnedHeatExchanger a s223:Class ;
    rdfs:label "Finned heat exchanger" ;
    rdfs:subClassOf s223:HeatExchanger .


        

Details

All related shapes and rules

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

s223:FinnedHeatExchanger a s223:Class ;
    rdfs:label "Finned heat exchanger" ;
    rdfs:subClassOf s223:HeatExchanger .


            

Flow Device

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


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

s223:FlowDevice a s223:Class,
        sh:NodeShape ;
    rdfs:label "Flow Device" ;
    rdfs:subClassOf s223:Device ;
    sh:property [ a sh:PropertyShape ;
            sh:class s223:ConnectionPoint ;
            sh:minCount 2 ;
            sh:name "Inlet or Outlet point property" ;
            sh:path s223:hasConnectionPoint ;
            sh:severity sh:Info ],
        [ a sh:PropertyShape ;
            sh:class s223:QuantifiableProperty ;
            sh:minCount 0 ;
            sh:name "outlet pressure shape" ;
            sh:path s223:hasOutletPressure ],
        [ a sh:PropertyShape ;
            sh:class s223:QuantifiableProperty ;
            sh:minCount 0 ;
            sh:name "electric consumption shape" ;
            sh:path s223:electricConsumption ] .


        

Details

All related shapes and rules

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

s223:FlowDevice a s223:Class,
        sh:NodeShape ;
    rdfs:label "Flow Device" ;
    rdfs:subClassOf s223:Device ;
    sh:property [ a sh:PropertyShape ;
            sh:class s223:ConnectionPoint ;
            sh:minCount 2 ;
            sh:name "Inlet or Outlet point property" ;
            sh:path s223:hasConnectionPoint ;
            sh:severity sh:Info ],
        [ a sh:PropertyShape ;
            sh:class s223:QuantifiableProperty ;
            sh:minCount 0 ;
            sh:name "outlet pressure shape" ;
            sh:path s223:hasOutletPressure ],
        [ a sh:PropertyShape ;
            sh:class s223:QuantifiableProperty ;
            sh:minCount 0 ;
            sh:name "electric consumption shape" ;
            sh:path s223:electricConsumption ] .


            

Flow sensor

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


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

s223:FlowSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Flow sensor" ;
    rdfs:comment "A FlowSensor is a specialization of a Sensor that produces an ObservableProperty that is quantifiable and represents a flow measurement. " ;
    rdfs:subClassOf s223:Sensor .


        

Details

All related shapes and rules

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

s223:FlowSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Flow sensor" ;
    rdfs:comment "A FlowSensor is a specialization of a Sensor that produces an ObservableProperty that is quantifiable and represents a flow measurement. " ;
    rdfs:subClassOf s223:Sensor .


            

Function block

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


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

s223:FunctionBlock a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Function block",
        "FunctionBlock" ;
    rdfs:comment "A FunctionBlock is the abstract interface of some algorithm.",
        "A FunctionBlock is used to model transfer and/or transformation of information  (i.e. Property). It has relations to input properties and output properties. The actual algorithms that perform the transformations are described in CDL and are out of scope of the 223 standard." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:Property ;
            sh:path s223:producesOutput ],
        [ sh:class s223:Property ;
            sh:path s223:usesInput ] .


        

Details

All related shapes and rules

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

s223:FunctionBlock a s223:Class,
        rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Function block",
        "FunctionBlock" ;
    rdfs:comment "A FunctionBlock is the abstract interface of some algorithm.",
        "A FunctionBlock is used to model transfer and/or transformation of information  (i.e. Property). It has relations to input properties and output properties. The actual algorithms that perform the transformations are described in CDL and are out of scope of the 223 standard." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:Property ;
            sh:path s223:producesOutput ],
        [ sh:class s223:Property ;
            sh:path s223:usesInput ] .

s223:FunctionBlockShape a sh:NodeShape ;
    rdfs:comment "Node shape for a FunctionBlock." ;
    sh:property s223:hasPropertyShape ;
    sh:targetClass s223:FunctionBlock .


            

Heat exchanger

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


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

s223:HeatExchanger a s223:Class,
        sh:NodeShape ;
    rdfs:label "Heat exchanger" ;
    rdfs:subClassOf s223:Device .


        

Details

All related shapes and rules

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

s223:HeatExchanger a s223:Class,
        sh:NodeShape ;
    rdfs:label "Heat exchanger" ;
    rdfs:subClassOf s223:Device .


            

Heating coil

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


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

s223:HeatingCoil a s223:Class,
        sh:NodeShape ;
    rdfs:label "Heating coil" ;
    rdfs:subClassOf s223:Coil .


        

Details

All related shapes and rules

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

s223:HeatingCoil a s223:Class,
        sh:NodeShape ;
    rdfs:label "Heating coil" ;
    rdfs:subClassOf s223:Coil .


            

Humidity sensor

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


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

s223:HumiditySensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Humidity sensor" ;
    rdfs:comment "A HumiditySensor is a specialization of a Sensor that observes a QuantifiableObservableProperty that represents a humidity measurement. " ;
    rdfs:subClassOf s223:Sensor .


        

Details

All related shapes and rules

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

s223:HumiditySensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Humidity sensor" ;
    rdfs:comment "A HumiditySensor is a specialization of a Sensor that observes a QuantifiableObservableProperty that represents a humidity measurement. " ;
    rdfs:subClassOf s223:Sensor .


            

Inlet Connection Point

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


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

s223:InletConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Inlet Connection Point" ;
    rdfs:comment "An InletConnectionPoint indicates that a substance must flow into the device or space at this connection point and cannot flow the other direction. An IntletConnectionPoint is a subclass of ConnectionPoint which has the direction of Direction-Inlet (see `s223:Direction-Inlet`)." ;
    rdfs:subClassOf s223:ConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Inlet ;
            sh:path s223:hasDirection ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of InletConnectionPoint doesn't have a value for hasDirection, then set it." ;
            sh:object s223:Direction-Inlet ;
            sh:predicate s223:hasDirection ;
            sh:subject sh:this ] .


        

See Also

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Connection a s223:Class,
        sh:NodeShape ;
    rdfs:label "Connection" ;
    rdfs:comment """A Connection is the modeling construct used to represent a physical thing (e.g., pipe, duct, or wire) that is used to convey some Medium (e.g., water, air, or electricity) between two connectable things. All Connections have two or more ConnectionPoints that are bound to either a Device (see `s223:Device`), DomainSpace (see `s223:DomainSpace`), or PhysicalSpace (see `s223:PhysicalSpace`). If the direction of flow is constrained that constraint is indicated by using one or more InletConnectionPoints (see `s223:InletConnectionPoint`) to represent the inflow points and OutletConnectionPoints (see `s223:OutletConnectionPoint`) to represent the outflow points.
  
A Connection may contain branches or intersections. These are modeled using Segments (see `s223:Segment`) and Junctions (see `s223:Junction`).
""" ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:ConnectionPoint ;
            sh:path s223:connectsAt ],
        [ sh:class s223:Connectable ;
            sh:name "ConnectionToUpstreamConnectableShape" ;
            sh:path s223:connectsFrom ],
        [ sh:class s223:Connectable ;
            sh:name "ConnectionToDownstreamConnectableShape" ;
            sh:path s223:connectsTo ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:name "Connection medium" ;
            sh:path s223:hasMedium ],
        [ sh:class s223:EnumerationKind-Role ;
            sh:path s223:hasRole ],
        [ sh:class s223:Device ;
            sh:path s223:returnsTo ],
        [ sh:class s223:Device ;
            sh:path s223:suppliesTo ],
        s223:hasContextualRoleShape,
        s223:hasPropertyShape ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:connectsFrom ?device .}
WHERE {
$this s223:connectsAt ?cp .
?cp s223:hasDirection s223:Direction-Outlet .
?cp s223:isConnectionPointOf ?device .
}
""" ;
            sh:name "InferredConnectionToUpstreamDeviceProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:connectsTo ?device .}
WHERE {
$this s223:connectsAt ?cp .
?cp s223:hasDirection s223:Direction-Inlet  .
?cp s223:isConnectionPointOf ?device .
}
""" ;
            sh:name "InferredConnectionToDownstreamDeviceProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:returnsTo ?device .}
WHERE {
$this s223:hasRole role:Return .
$this s223:connectsTo ?device .
}
""" ;
            sh:name "InferredReturnsToProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:suppliesTo ?device .}
WHERE {
$this s223:hasRole role:Supply .
$this s223:connectsTo ?device .
}
""" ;
            sh:name "InferredSuppliesToProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointBaseProperty" ;
            sh:object [ sh:path s223:connectsAt ] ;
            sh:predicate s223:cnx ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointBasePropertyFromInverse" ;
            sh:object [ sh:path [ sh:inversePath s223:connectsThrough ] ] ;
            sh:predicate s223:cnx ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointProperty" ;
            sh:object [ sh:path s223:cnx ] ;
            sh:predicate s223:connectsAt ;
            sh:subject sh:this ] .

s223:InletConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Inlet Connection Point" ;
    rdfs:comment "An InletConnectionPoint indicates that a substance must flow into the device or space at this connection point and cannot flow the other direction. An IntletConnectionPoint is a subclass of ConnectionPoint which has the direction of Direction-Inlet (see `s223:Direction-Inlet`)." ;
    rdfs:subClassOf s223:ConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Inlet ;
            sh:path s223:hasDirection ] ;
    sh:rule [ ] .

s223:ConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "ConnectionPoint" ;
    s223:abstract true ;
    rdfs:comment """
A ConnectionPoint is the modeling construct used to represent the fact that a Device can be connected to another Device. It is the abstract representation of the flange, wire terminal, or other physical feature where a connection is made. In addition to Devices, other Connectable things (see `s223:Connectable`) can have one or more ConnectionPoints.

A ConnectionPoint can be constrained to relate to a specific medium such as air, water, or electricity which determines what other things can be connected to it. For example, by constraining a ConnectionPoint to be for air it cannot be used for an electrical connection.

A ConnectionPoint also has a Direction (see `s223:EnumerationKind-Direction`) which can have values of Inlet, Outlet, or Bidirectional. This directionality is used to constrain the way one device connects to another when combining them to form a model.

A ConnectionPoint belongs to exactly one Connectable thing. """ ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:Connection ;
            sh:maxCount 1 ;
            sh:message "This ConnectionPoint must be associated with exactly 1 Connection." ;
            sh:minCount 1 ;
            sh:name "ConnectionPointToConnectionShape" ;
            sh:path s223:connectsThrough ;
            sh:severity sh:Info ],
        [ sh:maxCount 1 ;
            sh:name "ConnectionPoint direction" ;
            sh:or ( [ sh:hasValue s223:Direction-Inlet ] [ sh:hasValue s223:Direction-Outlet ] [ sh:hasValue s223:Direction-Bidirectional ] ) ;
            sh:path s223:hasDirection ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:name "ConnectionPoint medium" ;
            sh:path s223:hasMedium ],
        [ sh:class s223:Connectable ;
            sh:maxCount 1 ;
            sh:name "ConnectionPointToDeviceShape" ;
            sh:path s223:isConnectionPointOf ],
        [ sh:class s223:Segment ;
            sh:path s223:lnx ],
        s223:hasPropertyShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Bidirectional for property hasDirection, then declare it as an instance of BidirectionalConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Bidirectional ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:BidirectionalConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Inlet  for property hasDirection, then declare it as an instance of InletConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Inlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:InletConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Outlet for property hasDirection, then declare it as an instance of OutletConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Outlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:OutletConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] .


            

Inlet System Connection Point

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


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

s223:InletSystemConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Inlet System Connection Point" ;
    rdfs:comment "This class is analogous to the InletConnectionPoint class, but for SystemConnectionPoints." ;
    rdfs:subClassOf s223:SystemConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Inlet ;
            sh:path s223:hasDirection ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of InletSystemConnectionPoint doesn't have a value for hasDirection, then set it." ;
            sh:object s223:Direction-Inlet ;
            sh:predicate s223:hasDirection ;
            sh:subject sh:this ] .


        

See Also

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:InletSystemConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Inlet System Connection Point" ;
    rdfs:comment "This class is analogous to the InletConnectionPoint class, but for SystemConnectionPoints." ;
    rdfs:subClassOf s223:SystemConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Inlet ;
            sh:path s223:hasDirection ] ;
    sh:rule [ ] .

s223:SystemConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "SystemConnectionPoint" ;
    s223:abstract true ;
    rdfs:comment "This is analogous to a ConnectionPoint, but for a System rather than a Device." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:or ( [ sh:class s223:ConnectionPoint ] [ sh:class s223:SystemConnectionPoint ] [ sh:class s223:Junction ] ) ;
            sh:path s223:mapsTo ],
        [ sh:or ( [ sh:class s223:SystemConnectionPoint ] [ sh:class s223:ConnectionPoint ] ) ;
            sh:path s223:systemConnected ],
        [ sh:maxCount 1 ;
            sh:name "ConnectionPoint direction" ;
            sh:or ( [ sh:hasValue s223:Direction-Inlet ] [ sh:hasValue s223:Direction-Outlet ] [ sh:hasValue s223:Direction-Bidirectional ] ) ;
            sh:path s223:hasDirection ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If a SystemConnectionPoint instance has a value of s223:Direction-Bidirectional for property hasDirection, then declare it as an instance of BidirectionalSystemConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Bidirectional ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:BidirectionalSystemConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a SystemConnectionPoint instance has a value of s223:Direction-Inlet for property hasDirection, then declare it as an instance of InletSystemConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Inlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:InletSystemConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a SystemConnectionPoint instance has a value of s223:Direction-Outlet for property hasDirection, then declare it as an instance of OutletSystemConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Outlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:OutletSystemConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] .


            

Inlet Zone Connection Point

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


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

s223:InletZoneConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Inlet Zone Connection Point" ;
    rdfs:comment "This class is analogous to the InletConnectionPoint class, but for ZoneConnectionPoints." ;
    rdfs:subClassOf s223:ZoneConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Inlet ;
            sh:path s223:hasDirection ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of InletZoneConnectionPoint doesn't have a value for hasDirection, then set it." ;
            sh:object s223:Direction-Inlet ;
            sh:predicate s223:hasDirection ;
            sh:subject sh:this ] .


        

Details

All related shapes and rules

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

s223:InletZoneConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Inlet Zone Connection Point" ;
    rdfs:comment "This class is analogous to the InletConnectionPoint class, but for ZoneConnectionPoints." ;
    rdfs:subClassOf s223:ZoneConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Inlet ;
            sh:path s223:hasDirection ] ;
    sh:rule [ ] .


            

Junction

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


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

s223:Junction a s223:Class,
        sh:NodeShape ;
    rdfs:label "Junction" ;
    rdfs:comment "A Junction is used to join two or more Segments together. This might be where a duct splits or joins, or it might be where a Segment inside one System is joined to a Segment connecting to something outside that System." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:Segment ;
            sh:message "Junction is missing one or more Segments" ;
            sh:minCount 2 ;
            sh:path s223:lnx ;
            sh:severity sh:Info ] .


        

See Also

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Connection a s223:Class,
        sh:NodeShape ;
    rdfs:label "Connection" ;
    rdfs:comment """A Connection is the modeling construct used to represent a physical thing (e.g., pipe, duct, or wire) that is used to convey some Medium (e.g., water, air, or electricity) between two connectable things. All Connections have two or more ConnectionPoints that are bound to either a Device (see `s223:Device`), DomainSpace (see `s223:DomainSpace`), or PhysicalSpace (see `s223:PhysicalSpace`). If the direction of flow is constrained that constraint is indicated by using one or more InletConnectionPoints (see `s223:InletConnectionPoint`) to represent the inflow points and OutletConnectionPoints (see `s223:OutletConnectionPoint`) to represent the outflow points.
  
A Connection may contain branches or intersections. These are modeled using Segments (see `s223:Segment`) and Junctions (see `s223:Junction`).
""" ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:ConnectionPoint ;
            sh:path s223:connectsAt ],
        [ sh:class s223:Connectable ;
            sh:name "ConnectionToUpstreamConnectableShape" ;
            sh:path s223:connectsFrom ],
        [ sh:class s223:Connectable ;
            sh:name "ConnectionToDownstreamConnectableShape" ;
            sh:path s223:connectsTo ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:name "Connection medium" ;
            sh:path s223:hasMedium ],
        [ sh:class s223:EnumerationKind-Role ;
            sh:path s223:hasRole ],
        [ sh:class s223:Device ;
            sh:path s223:returnsTo ],
        [ sh:class s223:Device ;
            sh:path s223:suppliesTo ],
        s223:hasContextualRoleShape,
        s223:hasPropertyShape ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:connectsFrom ?device .}
WHERE {
$this s223:connectsAt ?cp .
?cp s223:hasDirection s223:Direction-Outlet .
?cp s223:isConnectionPointOf ?device .
}
""" ;
            sh:name "InferredConnectionToUpstreamDeviceProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:connectsTo ?device .}
WHERE {
$this s223:connectsAt ?cp .
?cp s223:hasDirection s223:Direction-Inlet  .
?cp s223:isConnectionPointOf ?device .
}
""" ;
            sh:name "InferredConnectionToDownstreamDeviceProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:returnsTo ?device .}
WHERE {
$this s223:hasRole role:Return .
$this s223:connectsTo ?device .
}
""" ;
            sh:name "InferredReturnsToProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:suppliesTo ?device .}
WHERE {
$this s223:hasRole role:Supply .
$this s223:connectsTo ?device .
}
""" ;
            sh:name "InferredSuppliesToProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointBaseProperty" ;
            sh:object [ sh:path s223:connectsAt ] ;
            sh:predicate s223:cnx ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointBasePropertyFromInverse" ;
            sh:object [ sh:path [ sh:inversePath s223:connectsThrough ] ] ;
            sh:predicate s223:cnx ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointProperty" ;
            sh:object [ sh:path s223:cnx ] ;
            sh:predicate s223:connectsAt ;
            sh:subject sh:this ] .

s223:Junction a s223:Class,
        sh:NodeShape ;
    rdfs:label "Junction" ;
    rdfs:comment "A Junction is used to join two or more Segments together. This might be where a duct splits or joins, or it might be where a Segment inside one System is joined to a Segment connecting to something outside that System." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:Segment ;
            sh:message "Junction is missing one or more Segments" ;
            sh:minCount 2 ;
            sh:path s223:lnx ;
            sh:severity sh:Info ] .

s223:System a s223:Class,
        sh:NodeShape ;
    rdfs:label "System" ;
    rdfs:comment """A System is a logical grouping of Devices for some functional or system reason, such as a "chilled water system, or HVAC system"
A System is distinguished from a Device by the fact that you typically have to install and configure a System, while you might just install and use a Device.""" ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ a sh:PropertyShape ;
            sh:minCount 0 ;
            sh:name "system contains shape" ;
            sh:or ( [ sh:class s223:Device ] [ sh:class s223:System ] [ ] ) ;
            sh:path s223:contains ],
        [ sh:class s223:EnumerationKind-Role ;
            sh:path s223:hasRole ],
        [ sh:class s223:SystemConnectionPoint ;
            sh:name "SystemtoSystemConnectionPointShape" ;
            sh:path s223:hasSystemConnectionPoint ],
        [ sh:class s223:Zone ;
            sh:path s223:servesZone ],
        s223:hasContextualRoleShape,
        s223:hasPropertyShape ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:contains ?sub .}
WHERE {
  $this s223:hasJunction ?sub .
}
""" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:hasJunction ?sub .}
WHERE {
$this s223:contains ?sub .
?sub a s223:Junction .
}
""" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ] .


            

Light sensor

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


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

s223:LightSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Light sensor" ;
    rdfs:subClassOf s223:Sensor .


        

Details

All related shapes and rules

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

s223:LightSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Light sensor" ;
    rdfs:subClassOf s223:Sensor .


            

Luminaire

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


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

s223:Luminaire a s223:Class ;
    rdfs:label "Luminaire" ;
    rdfs:subClassOf s223:Device .


        

Details

All related shapes and rules

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

s223:Luminaire a s223:Class ;
    rdfs:label "Luminaire" ;
    rdfs:subClassOf s223:Device .


            

Manual damper

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


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

s223:ManualDamper a s223:Class ;
    rdfs:label "Manual damper" ;
    rdfs:subClassOf s223:Damper .


        

Details

All related shapes and rules

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

s223:ManualDamper a s223:Class ;
    rdfs:label "Manual damper" ;
    rdfs:subClassOf s223:Damper .


            

Manual Valve

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


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

s223:ManualValve a s223:Class,
        sh:NodeShape ;
    rdfs:label "Manual Valve" ;
    rdfs:subClassOf s223:Valve .


        

Details

All related shapes and rules

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

s223:ManualValve a s223:Class,
        sh:NodeShape ;
    rdfs:label "Manual Valve" ;
    rdfs:subClassOf s223:Valve .


            

Electricity

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


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

s223:Medium-Electricity a s223:Class,
        s223:Medium-Electricity,
        sh:NodeShape ;
    rdfs:label "Electricity" ;
    rdfs:subClassOf s223:EnumerationKind-Medium .


        

Details

All related shapes and rules

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

s223:Medium-Electricity a s223:Class,
        s223:Medium-Electricity,
        sh:NodeShape ;
    rdfs:label "Electricity" ;
    rdfs:subClassOf s223:EnumerationKind-Medium .


            

Medium-Light

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


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

s223:Medium-Light a s223:Class,
        s223:Medium-Light,
        sh:NodeShape ;
    rdfs:label "Medium-Light" ;
    rdfs:subClassOf s223:EnumerationKind-Medium .


        

Details

All related shapes and rules

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

s223:Medium-Light a s223:Class,
        s223:Medium-Light,
        sh:NodeShape ;
    rdfs:label "Medium-Light" ;
    rdfs:subClassOf s223:EnumerationKind-Medium .


            

Medium-Water

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


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

s223:Medium-Water a s223:Class,
        s223:Medium-Water,
        sh:NodeShape ;
    rdfs:label "Medium-Water" ;
    rdfs:subClassOf s223:EnumerationKind-Medium .


        

Details

All related shapes and rules

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

s223:Medium-Water a s223:Class,
        s223:Medium-Water,
        sh:NodeShape ;
    rdfs:label "Medium-Water" ;
    rdfs:subClassOf s223:EnumerationKind-Medium .


            

Motorized damper

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


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

s223:MotorizedDamper a s223:Class ;
    rdfs:label "Motorized damper" ;
    rdfs:subClassOf s223:Damper .


        

Details

All related shapes and rules

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

s223:MotorizedDamper a s223:Class ;
    rdfs:label "Motorized damper" ;
    rdfs:subClassOf s223:Damper .


            

Motorized three way valve

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


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

s223:MotorizedThreeWayValve a s223:Class,
        sh:NodeShape ;
    rdfs:label "Motorized three way valve" ;
    rdfs:subClassOf s223:MotorizedValve .


        

Details

All related shapes and rules

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

s223:MotorizedThreeWayValve a s223:Class,
        sh:NodeShape ;
    rdfs:label "Motorized three way valve" ;
    rdfs:subClassOf s223:MotorizedValve .


            

Motorized two way valve

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


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

s223:MotorizedTwoWayValve a s223:Class,
        sh:NodeShape ;
    rdfs:label "Motorized two way valve" ;
    rdfs:subClassOf s223:MotorizedValve .


        

Details

All related shapes and rules

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

s223:MotorizedTwoWayValve a s223:Class,
        sh:NodeShape ;
    rdfs:label "Motorized two way valve" ;
    rdfs:subClassOf s223:MotorizedValve .


            

Motorized Valve

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


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

s223:MotorizedValve a s223:Class,
        sh:NodeShape ;
    rdfs:label "Motorized Valve" ;
    rdfs:subClassOf s223:Valve .


        

Details

All related shapes and rules

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

s223:MotorizedValve a s223:Class,
        sh:NodeShape ;
    rdfs:label "Motorized Valve" ;
    rdfs:subClassOf s223:Valve .


            

observable property

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


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

s223:ObservableProperty a s223:Class,
        sh:NodeShape ;
    rdfs:label "observable property" ;
    rdfs:comment "This class describes non-numeric observations or readings, such as the state of an alarm detector." ;
    rdfs:subClassOf s223:Property .


        

See Also

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:ObservableProperty a s223:Class,
        sh:NodeShape ;
    rdfs:label "observable property" ;
    rdfs:comment "This class describes non-numeric observations or readings, such as the state of an alarm detector." ;
    rdfs:subClassOf s223:Property .

s223:Sensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Sensor" ;
    rdfs:comment "A Sensor produces an ObservableProperty (see `s223:ObservableProperty`) which may be quantifiable (see `s223:QuantifiableObservableProperty`), such as a temperature, flowrate, or concentration, or may not be quantifiable (see `s223:NonQuantifiableProperty`), such as an alarm state or occupancy state. " ;
    rdfs:subClassOf s223:Device ;
    sh:property [ sh:or ( [ sh:class s223:Connectable ] [ sh:class s223:Connection ] [ sh:class s223:Segment ] [ sh:class s223:ConnectionPoint ] ) ;
            sh:path s223:hasMeasurementLocation ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementPrecision ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementResolution ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementUncertainty ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:path s223:hasMedium ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMinRange ],
        [ sh:maxCount 1 ;
            sh:path s223:observesProperty ] ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:hasMeasurementLocation ?something .}
WHERE {
{
SELECT ?prop (COUNT (DISTINCT ?measurementLocation) AS ?count) $this
WHERE {
FILTER (NOT EXISTS {$this s223:hasMeasurementLocation ?anything}) .
FILTER (NOT EXISTS {$this a/rdfs:subClassOf* s223:DifferentialSensor}) .
FILTER (NOT EXISTS {$this a/rdfs:subClassOf* s223:VirtualSensor}) .
$this s223:observesProperty ?prop .
?measurementLocation s223:hasProperty ?prop .
}
GROUP BY ?prop $this
}
FILTER (?count = 1) .
?something s223:hasProperty ?prop .
{?something a/rdfs:subClassOf* s223:Device}
UNION
{?something a/rdfs:subClassOf* s223:Segment}
UNION
{?something a/rdfs:subClassOf* s223:ConnectionPoint}
UNION
{?something a/rdfs:subClassOf* s223:PhysicalSpace}
}
""" ;
            sh:name "InferredMeasurementLocation" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/data-rules> ] .


            

Occupancy sensor

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


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

s223:OccupancySensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Occupancy sensor" ;
    rdfs:subClassOf s223:Sensor .


        

Details

All related shapes and rules

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

s223:OccupancySensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Occupancy sensor" ;
    rdfs:subClassOf s223:Sensor .


            

Outlet Connection Point

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


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

s223:OutletConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Outlet Connection Point" ;
    rdfs:comment "An OutletConnectionPoint indicates that a substance must flow out of the device or space at this connection point and cannot flow the other direction. An OutletConnectionPoint is a predefined subclass of ConnectionPoint which has the direction of Direction-Outlet (see `s223:Direction-Outlet`)." ;
    rdfs:subClassOf s223:ConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Outlet ;
            sh:path s223:hasDirection ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of OutletConnectionPoint doesn't have a value for hasDirection, then set it." ;
            sh:object s223:Direction-Outlet ;
            sh:predicate s223:hasDirection ;
            sh:subject sh:this ] .


        

See Also

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Connection a s223:Class,
        sh:NodeShape ;
    rdfs:label "Connection" ;
    rdfs:comment """A Connection is the modeling construct used to represent a physical thing (e.g., pipe, duct, or wire) that is used to convey some Medium (e.g., water, air, or electricity) between two connectable things. All Connections have two or more ConnectionPoints that are bound to either a Device (see `s223:Device`), DomainSpace (see `s223:DomainSpace`), or PhysicalSpace (see `s223:PhysicalSpace`). If the direction of flow is constrained that constraint is indicated by using one or more InletConnectionPoints (see `s223:InletConnectionPoint`) to represent the inflow points and OutletConnectionPoints (see `s223:OutletConnectionPoint`) to represent the outflow points.
  
A Connection may contain branches or intersections. These are modeled using Segments (see `s223:Segment`) and Junctions (see `s223:Junction`).
""" ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:ConnectionPoint ;
            sh:path s223:connectsAt ],
        [ sh:class s223:Connectable ;
            sh:name "ConnectionToUpstreamConnectableShape" ;
            sh:path s223:connectsFrom ],
        [ sh:class s223:Connectable ;
            sh:name "ConnectionToDownstreamConnectableShape" ;
            sh:path s223:connectsTo ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:name "Connection medium" ;
            sh:path s223:hasMedium ],
        [ sh:class s223:EnumerationKind-Role ;
            sh:path s223:hasRole ],
        [ sh:class s223:Device ;
            sh:path s223:returnsTo ],
        [ sh:class s223:Device ;
            sh:path s223:suppliesTo ],
        s223:hasContextualRoleShape,
        s223:hasPropertyShape ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:connectsFrom ?device .}
WHERE {
$this s223:connectsAt ?cp .
?cp s223:hasDirection s223:Direction-Outlet .
?cp s223:isConnectionPointOf ?device .
}
""" ;
            sh:name "InferredConnectionToUpstreamDeviceProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:connectsTo ?device .}
WHERE {
$this s223:connectsAt ?cp .
?cp s223:hasDirection s223:Direction-Inlet  .
?cp s223:isConnectionPointOf ?device .
}
""" ;
            sh:name "InferredConnectionToDownstreamDeviceProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:returnsTo ?device .}
WHERE {
$this s223:hasRole role:Return .
$this s223:connectsTo ?device .
}
""" ;
            sh:name "InferredReturnsToProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:suppliesTo ?device .}
WHERE {
$this s223:hasRole role:Supply .
$this s223:connectsTo ?device .
}
""" ;
            sh:name "InferredSuppliesToProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointBaseProperty" ;
            sh:object [ sh:path s223:connectsAt ] ;
            sh:predicate s223:cnx ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointBasePropertyFromInverse" ;
            sh:object [ sh:path [ sh:inversePath s223:connectsThrough ] ] ;
            sh:predicate s223:cnx ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointProperty" ;
            sh:object [ sh:path s223:cnx ] ;
            sh:predicate s223:connectsAt ;
            sh:subject sh:this ] .

s223:OutletConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Outlet Connection Point" ;
    rdfs:comment "An OutletConnectionPoint indicates that a substance must flow out of the device or space at this connection point and cannot flow the other direction. An OutletConnectionPoint is a predefined subclass of ConnectionPoint which has the direction of Direction-Outlet (see `s223:Direction-Outlet`)." ;
    rdfs:subClassOf s223:ConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Outlet ;
            sh:path s223:hasDirection ] ;
    sh:rule [ ] .

s223:ConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "ConnectionPoint" ;
    s223:abstract true ;
    rdfs:comment """
A ConnectionPoint is the modeling construct used to represent the fact that a Device can be connected to another Device. It is the abstract representation of the flange, wire terminal, or other physical feature where a connection is made. In addition to Devices, other Connectable things (see `s223:Connectable`) can have one or more ConnectionPoints.

A ConnectionPoint can be constrained to relate to a specific medium such as air, water, or electricity which determines what other things can be connected to it. For example, by constraining a ConnectionPoint to be for air it cannot be used for an electrical connection.

A ConnectionPoint also has a Direction (see `s223:EnumerationKind-Direction`) which can have values of Inlet, Outlet, or Bidirectional. This directionality is used to constrain the way one device connects to another when combining them to form a model.

A ConnectionPoint belongs to exactly one Connectable thing. """ ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:Connection ;
            sh:maxCount 1 ;
            sh:message "This ConnectionPoint must be associated with exactly 1 Connection." ;
            sh:minCount 1 ;
            sh:name "ConnectionPointToConnectionShape" ;
            sh:path s223:connectsThrough ;
            sh:severity sh:Info ],
        [ sh:maxCount 1 ;
            sh:name "ConnectionPoint direction" ;
            sh:or ( [ sh:hasValue s223:Direction-Inlet ] [ sh:hasValue s223:Direction-Outlet ] [ sh:hasValue s223:Direction-Bidirectional ] ) ;
            sh:path s223:hasDirection ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:name "ConnectionPoint medium" ;
            sh:path s223:hasMedium ],
        [ sh:class s223:Connectable ;
            sh:maxCount 1 ;
            sh:name "ConnectionPointToDeviceShape" ;
            sh:path s223:isConnectionPointOf ],
        [ sh:class s223:Segment ;
            sh:path s223:lnx ],
        s223:hasPropertyShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Bidirectional for property hasDirection, then declare it as an instance of BidirectionalConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Bidirectional ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:BidirectionalConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Inlet  for property hasDirection, then declare it as an instance of InletConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Inlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:InletConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Outlet for property hasDirection, then declare it as an instance of OutletConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Outlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:OutletConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] .


            

Outlet System Connection Point

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


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

s223:OutletSystemConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Outlet System Connection Point" ;
    rdfs:comment "This class is analogous to the OutletConnectionPoint class, but for SystemConnectionPoints." ;
    rdfs:subClassOf s223:SystemConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Outlet ;
            sh:path s223:hasDirection ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of OutletSystemConnectionPoint doesn't have a value for hasDirection, then set it." ;
            sh:object s223:Direction-Outlet ;
            sh:predicate s223:hasDirection ;
            sh:subject sh:this ] .


        

See Also

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:OutletSystemConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Outlet System Connection Point" ;
    rdfs:comment "This class is analogous to the OutletConnectionPoint class, but for SystemConnectionPoints." ;
    rdfs:subClassOf s223:SystemConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Outlet ;
            sh:path s223:hasDirection ] ;
    sh:rule [ ] .

s223:SystemConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "SystemConnectionPoint" ;
    s223:abstract true ;
    rdfs:comment "This is analogous to a ConnectionPoint, but for a System rather than a Device." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:or ( [ sh:class s223:ConnectionPoint ] [ sh:class s223:SystemConnectionPoint ] [ sh:class s223:Junction ] ) ;
            sh:path s223:mapsTo ],
        [ sh:or ( [ sh:class s223:SystemConnectionPoint ] [ sh:class s223:ConnectionPoint ] ) ;
            sh:path s223:systemConnected ],
        [ sh:maxCount 1 ;
            sh:name "ConnectionPoint direction" ;
            sh:or ( [ sh:hasValue s223:Direction-Inlet ] [ sh:hasValue s223:Direction-Outlet ] [ sh:hasValue s223:Direction-Bidirectional ] ) ;
            sh:path s223:hasDirection ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If a SystemConnectionPoint instance has a value of s223:Direction-Bidirectional for property hasDirection, then declare it as an instance of BidirectionalSystemConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Bidirectional ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:BidirectionalSystemConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a SystemConnectionPoint instance has a value of s223:Direction-Inlet for property hasDirection, then declare it as an instance of InletSystemConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Inlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:InletSystemConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a SystemConnectionPoint instance has a value of s223:Direction-Outlet for property hasDirection, then declare it as an instance of OutletSystemConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Outlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:OutletSystemConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] .


            

Outlet Zone Connection Point

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


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

s223:OutletZoneConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Outlet Zone Connection Point" ;
    rdfs:comment "This class is analogous to the OutletConnectionPoint class, but for ZoneConnectionPoints." ;
    rdfs:subClassOf s223:ZoneConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Outlet ;
            sh:path s223:hasDirection ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of OutletZoneConnectionPoint doesn't have a value for hasDirection, then set it." ;
            sh:object s223:Direction-Outlet ;
            sh:predicate s223:hasDirection ;
            sh:subject sh:this ] .


        

Details

All related shapes and rules

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

s223:OutletZoneConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Outlet Zone Connection Point" ;
    rdfs:comment "This class is analogous to the OutletConnectionPoint class, but for ZoneConnectionPoints." ;
    rdfs:subClassOf s223:ZoneConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Outlet ;
            sh:path s223:hasDirection ] ;
    sh:rule [ ] .


            

Particulate sensor

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


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

s223:ParticulateSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Particulate sensor" ;
    rdfs:subClassOf s223:Sensor ;
    sh:property [ sh:class s223:Substance-Particulate ;
            sh:path s223:measuresSubstance ] .


        

Details

All related shapes and rules

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

s223:ParticulateSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Particulate sensor" ;
    rdfs:subClassOf s223:Sensor ;
    sh:property [ sh:class s223:Substance-Particulate ;
            sh:path s223:measuresSubstance ] .


            

Physical space

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


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

s223:PhysicalSpace a s223:Class,
        sh:NodeShape ;
    rdfs:label "Physical space" ;
    rdfs:comment "A PhysicalSpace is an architectural concept that can represent a room, a collection of rooms such as a floor, a part of a room, or any space that might not even be thought of as a room, such as a patio space." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:PhysicalSpace ;
            sh:path s223:contains ],
        [ sh:class s223:DomainSpace ;
            sh:path s223:encloses ],
        [ sh:class s223:EnumerationKind-Domain ;
            sh:path s223:hasDomain ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of PhysicalSpace doesn't have a value for hasDomain, then set it." ;
            sh:object s223:Domain-Physical ;
            sh:predicate s223:hasDomain ;
            sh:subject sh:this ] .


        

See Also

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Sensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Sensor" ;
    rdfs:comment "A Sensor produces an ObservableProperty (see `s223:ObservableProperty`) which may be quantifiable (see `s223:QuantifiableObservableProperty`), such as a temperature, flowrate, or concentration, or may not be quantifiable (see `s223:NonQuantifiableProperty`), such as an alarm state or occupancy state. " ;
    rdfs:subClassOf s223:Device ;
    sh:property [ sh:or ( [ sh:class s223:Connectable ] [ sh:class s223:Connection ] [ sh:class s223:Segment ] [ sh:class s223:ConnectionPoint ] ) ;
            sh:path s223:hasMeasurementLocation ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementPrecision ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementResolution ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementUncertainty ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:path s223:hasMedium ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMinRange ],
        [ sh:class s223:ObservableProperty ;
            sh:maxCount 1 ;
            sh:path s223:observesProperty ] ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:hasMeasurementLocation ?something .}
WHERE {
{
SELECT ?prop (COUNT (DISTINCT ?measurementLocation) AS ?count) $this
WHERE {
FILTER (NOT EXISTS {$this s223:hasMeasurementLocation ?anything}) .
FILTER (NOT EXISTS {$this a/rdfs:subClassOf* s223:DifferentialSensor}) .
FILTER (NOT EXISTS {$this a/rdfs:subClassOf* s223:VirtualSensor}) .
$this s223:observesProperty ?prop .
?measurementLocation s223:hasProperty ?prop .
}
GROUP BY ?prop $this
}
FILTER (?count = 1) .
?something s223:hasProperty ?prop .
{?something a/rdfs:subClassOf* s223:Device}
UNION
{?something a/rdfs:subClassOf* s223:Segment}
UNION
{?something a/rdfs:subClassOf* s223:ConnectionPoint}
UNION
{?something a/rdfs:subClassOf* s223:PhysicalSpace}
}
""" ;
            sh:name "InferredMeasurementLocation" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/data-rules> ] .

s223:Connection a s223:Class,
        sh:NodeShape ;
    rdfs:label "Connection" ;
    rdfs:comment """A Connection is the modeling construct used to represent a physical thing (e.g., pipe, duct, or wire) that is used to convey some Medium (e.g., water, air, or electricity) between two connectable things. All Connections have two or more ConnectionPoints that are bound to either a Device (see `s223:Device`), DomainSpace (see `s223:DomainSpace`), or PhysicalSpace (see `s223:PhysicalSpace`). If the direction of flow is constrained that constraint is indicated by using one or more InletConnectionPoints (see `s223:InletConnectionPoint`) to represent the inflow points and OutletConnectionPoints (see `s223:OutletConnectionPoint`) to represent the outflow points.
  
A Connection may contain branches or intersections. These are modeled using Segments (see `s223:Segment`) and Junctions (see `s223:Junction`).
""" ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:ConnectionPoint ;
            sh:path s223:connectsAt ],
        [ sh:class s223:Connectable ;
            sh:name "ConnectionToUpstreamConnectableShape" ;
            sh:path s223:connectsFrom ],
        [ sh:class s223:Connectable ;
            sh:name "ConnectionToDownstreamConnectableShape" ;
            sh:path s223:connectsTo ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:name "Connection medium" ;
            sh:path s223:hasMedium ],
        [ sh:class s223:EnumerationKind-Role ;
            sh:path s223:hasRole ],
        [ sh:class s223:Device ;
            sh:path s223:returnsTo ],
        [ sh:class s223:Device ;
            sh:path s223:suppliesTo ],
        s223:hasContextualRoleShape,
        s223:hasPropertyShape ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:connectsFrom ?device .}
WHERE {
$this s223:connectsAt ?cp .
?cp s223:hasDirection s223:Direction-Outlet .
?cp s223:isConnectionPointOf ?device .
}
""" ;
            sh:name "InferredConnectionToUpstreamDeviceProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:connectsTo ?device .}
WHERE {
$this s223:connectsAt ?cp .
?cp s223:hasDirection s223:Direction-Inlet  .
?cp s223:isConnectionPointOf ?device .
}
""" ;
            sh:name "InferredConnectionToDownstreamDeviceProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:returnsTo ?device .}
WHERE {
$this s223:hasRole role:Return .
$this s223:connectsTo ?device .
}
""" ;
            sh:name "InferredReturnsToProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:suppliesTo ?device .}
WHERE {
$this s223:hasRole role:Supply .
$this s223:connectsTo ?device .
}
""" ;
            sh:name "InferredSuppliesToProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointBaseProperty" ;
            sh:object [ sh:path s223:connectsAt ] ;
            sh:predicate s223:cnx ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointBasePropertyFromInverse" ;
            sh:object [ sh:path [ sh:inversePath s223:connectsThrough ] ] ;
            sh:predicate s223:cnx ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointProperty" ;
            sh:object [ sh:path s223:cnx ] ;
            sh:predicate s223:connectsAt ;
            sh:subject sh:this ] .

s223:PhysicalSpace a s223:Class,
        sh:NodeShape ;
    rdfs:label "Physical space" ;
    rdfs:comment "A PhysicalSpace is an architectural concept that can represent a room, a collection of rooms such as a floor, a part of a room, or any space that might not even be thought of as a room, such as a patio space." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:PhysicalSpace ;
            sh:path s223:contains ],
        [ sh:class s223:DomainSpace ;
            sh:path s223:encloses ],
        [ sh:class s223:EnumerationKind-Domain ;
            sh:path s223:hasDomain ] ;
    sh:rule [ ] .


            

Pipe

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


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

s223:Pipe a s223:Class,
        sh:NodeShape ;
    rdfs:label "Pipe" ;
    rdfs:comment "A predefined subClassOf Connection typically used to convey a liquid or compressed gas in a building." ;
    rdfs:subClassOf s223:Connection .


        

Details

All related shapes and rules

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

s223:Pipe a s223:Class,
        sh:NodeShape ;
    rdfs:label "Pipe" ;
    rdfs:comment "A predefined subClassOf Connection typically used to convey a liquid or compressed gas in a building." ;
    rdfs:subClassOf s223:Connection .


            

Plate heat exchanger

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


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

s223:PlateHeatExchanger a s223:Class ;
    rdfs:label "Plate heat exchanger" ;
    rdfs:subClassOf s223:HeatExchanger .


        

Details

All related shapes and rules

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

s223:PlateHeatExchanger a s223:Class ;
    rdfs:label "Plate heat exchanger" ;
    rdfs:subClassOf s223:HeatExchanger .


            

Pressure sensor

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


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

s223:PressureSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Pressure sensor" ;
    rdfs:comment "A PressureSensor is a specialization of a Sensor that observes a QuantifiableObservableProperty that represents a pressure measurement." ;
    rdfs:subClassOf s223:Sensor .


        

Details

All related shapes and rules

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

s223:PressureSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Pressure sensor" ;
    rdfs:comment "A PressureSensor is a specialization of a Sensor that observes a QuantifiableObservableProperty that represents a pressure measurement." ;
    rdfs:subClassOf s223:Sensor .


            

Property

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


@prefix rdf: <http://www.w3.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: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 6 variations of a property, which are:
ActuatableProperty - such as the setting of a switch
ObservableProperty - such as the state of an alarm detector
NonQuantifiableProperty - such as the color of a device
QuantifiableProperty - such as a maximum power rating
QuantifiableActuatableProperty - such as a numerical setpoint
QuantifiableObservableProperty - such as a temperature reading

A QuantifiableProperty (or subClass thereof) must always be associated with a Unit and a QuantityKind, either explicitly from the Property, or through the associated Value. If the Unit is defined, the SHACL reasoner (if invoked) will figure out and assert the QuantityKind (the most general version).""" ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:EnumerationKind ;
            sh:path s223:hasAspect ],
        [ sh:path s223:hasValue ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:path s223:ofMedium ],
        [ sh:class s223:EnumerationKind-Substance ;
            sh:maxCount 1 ;
            sh:path s223:ofSubstance ] ;
    sh:xone ( [ sh:property [ a sh:PropertyShape ;
                        sh:class <https://brickschema.org/schema/Brick/ref#ExternalReference> ;
                        sh:description "Used to provide a pointer of any kind to a data source containing a simple value. Either s223:hasExternalReference or s223:hasValue is populated, but not both." ;
                        sh:minCount 1 ;
                        sh:path s223:hasExternalReference ] ] [ sh:property [ a sh:PropertyShape ;
                        sh:minCount 1 ;
                        sh:path s223:hasValue ] ] [ sh:and ( [ sh:property [ a sh:PropertyShape ;
                                    sh:maxCount 0 ;
                                    sh:path s223:hasExternalReference ] ] [ sh:property [ a sh:PropertyShape ;
                                    sh:maxCount 0 ;
                                    sh:path s223:hasValue ] ] ) ] ) .


        

Details

All related shapes and rules

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

s223:Property a s223:Class,
        sh:NodeShape ;
    rdfs:label "Property" ;
    rdfs:comment """An attribute, quality, or characteristic of a feature of interest.

The Property class is the parent of all 6 variations of a property, which are:
ActuatableProperty - such as the setting of a switch
ObservableProperty - such as the state of an alarm detector
NonQuantifiableProperty - such as the color of a device
QuantifiableProperty - such as a maximum power rating
QuantifiableActuatableProperty - such as a numerical setpoint
QuantifiableObservableProperty - such as a temperature reading

A QuantifiableProperty (or subClass thereof) must always be associated with a Unit and a QuantityKind, either explicitly from the Property, or through the associated Value. If the Unit is defined, the SHACL reasoner (if invoked) will figure out and assert the QuantityKind (the most general version).""" ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:EnumerationKind ;
            sh:path s223:hasAspect ],
        [ sh:path s223:hasValue ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:path s223:ofMedium ],
        [ sh:class s223:EnumerationKind-Substance ;
            sh:maxCount 1 ;
            sh:path s223:ofSubstance ] ;
    sh:xone [ ] .


            

Pump

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


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

s223:Pump a s223:Class,
        sh:NodeShape ;
    rdfs:label "Pump" ;
    rdfs:subClassOf s223:FlowDevice .


        

Details

All related shapes and rules

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

s223:Pump a s223:Class,
        sh:NodeShape ;
    rdfs:label "Pump" ;
    rdfs:subClassOf s223:FlowDevice .


            

Quantifiable Actuatable Property

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


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

s223:QuantifiableActuatableProperty a s223:Class,
        sh:NodeShape ;
    rdfs:label "Quantifiable Actuatable Property" ;
    rdfs:comment "This class is for quantifiable values that are specified for an object (System, Device, etc.), such as a setpoint." ;
    rdfs:subClassOf s223:ActuatableProperty,
        s223:QuantifiableProperty .


        

Details

All related shapes and rules

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

s223:QuantifiableActuatableProperty a s223:Class,
        sh:NodeShape ;
    rdfs:label "Quantifiable Actuatable Property" ;
    rdfs:comment "This class is for quantifiable values that are specified for an object (System, Device, etc.), such as a setpoint." ;
    rdfs:subClassOf s223:ActuatableProperty,
        s223:QuantifiableProperty .


            

Quantifiable Observable Property

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


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

s223:QuantifiableObservableProperty a s223:Class,
        sh:NodeShape ;
    rdfs:label "Quantifiable Observable Property" ;
    rdfs:comment "This class is for measured (observed) properties that have numerical values, such as a temperature reading." ;
    rdfs:subClassOf s223:ObservableProperty,
        s223:QuantifiableProperty .


        

See Also

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:QuantifiableObservableProperty a s223:Class,
        sh:NodeShape ;
    rdfs:label "Quantifiable Observable Property" ;
    rdfs:comment "This class is for measured (observed) properties that have numerical values, such as a temperature reading." ;
    rdfs:subClassOf s223:ObservableProperty,
        s223:QuantifiableProperty .

s223:Sensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Sensor" ;
    rdfs:comment "A Sensor produces an ObservableProperty (see `s223:ObservableProperty`) which may be quantifiable (see `s223:QuantifiableObservableProperty`), such as a temperature, flowrate, or concentration, or may not be quantifiable (see `s223:NonQuantifiableProperty`), such as an alarm state or occupancy state. " ;
    rdfs:subClassOf s223:Device ;
    sh:property [ sh:or ( [ sh:class s223:Connectable ] [ sh:class s223:Connection ] [ sh:class s223:Segment ] [ sh:class s223:ConnectionPoint ] ) ;
            sh:path s223:hasMeasurementLocation ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementPrecision ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementResolution ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementUncertainty ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:path s223:hasMedium ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMinRange ],
        [ sh:class s223:ObservableProperty ;
            sh:maxCount 1 ;
            sh:path s223:observesProperty ] ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:hasMeasurementLocation ?something .}
WHERE {
{
SELECT ?prop (COUNT (DISTINCT ?measurementLocation) AS ?count) $this
WHERE {
FILTER (NOT EXISTS {$this s223:hasMeasurementLocation ?anything}) .
FILTER (NOT EXISTS {$this a/rdfs:subClassOf* s223:DifferentialSensor}) .
FILTER (NOT EXISTS {$this a/rdfs:subClassOf* s223:VirtualSensor}) .
$this s223:observesProperty ?prop .
?measurementLocation s223:hasProperty ?prop .
}
GROUP BY ?prop $this
}
FILTER (?count = 1) .
?something s223:hasProperty ?prop .
{?something a/rdfs:subClassOf* s223:Device}
UNION
{?something a/rdfs:subClassOf* s223:Segment}
UNION
{?something a/rdfs:subClassOf* s223:ConnectionPoint}
UNION
{?something a/rdfs:subClassOf* s223:PhysicalSpace}
}
""" ;
            sh:name "InferredMeasurementLocation" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/data-rules> ] .


            

Quantifiable Property

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


@prefix rdf: <http://www.w3.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" ;
    rdfs:comment "This class is for quantifiable values that describe an object (System, Device, etc.) that are typically static. That is, they are neither measured nor specified in the course of operations." ;
    rdfs:subClassOf s223:Property,
        <http://qudt.org/schema/qudt/Quantity> ;
    sh:or ( [ sh:minCount 1 ;
                sh:path <http://qudt.org/schema/qudt/hasQuantityKind> ] [ sh:minCount 1 ;
                sh:path <http://qudt.org/schema/qudt/unit> ] ) ;
    sh:property [ sh:class s223:Setpoint ;
            sh:path s223:hasSetpoint ],
        [ sh:datatype xsd:decimal ;
            sh:path s223:hasValue ] ;
    sh:rule [ a sh:SPARQLRule ;
            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:unit/qudt:hasQuantityKind ?qk .
}
GROUP BY $this
}
FILTER (?count = 1)
$this qudt:unit/qudt:hasQuantityKind ?uniqueqk .
}
""" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ] .


        

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:QuantifiableProperty a s223:Class,
        sh:NodeShape ;
    rdfs:label "Quantifiable Property" ;
    rdfs:comment "This class is for quantifiable values that describe an object (System, Device, etc.) that are typically static. That is, they are neither measured nor specified in the course of operations." ;
    rdfs:subClassOf s223:Property,
        <http://qudt.org/schema/qudt/Quantity> ;
    sh:or [ rdf:first [ ] ;
            rdf:rest [ ] ] ;
    sh:property [ sh:class s223:Setpoint ;
            sh:path s223:hasSetpoint ],
        [ sh:datatype xsd:decimal ;
            sh:path s223:hasValue ] ;
    sh:rule [ ] .


            

Return Context

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


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

s223:ReturnContext a s223:Class ;
    rdfs:label "Return Context" ;
    rdfs:subClassOf s223:Context .


        

Details

All related shapes and rules

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

s223:ReturnContext a s223:Class ;
    rdfs:label "Return Context" ;
    rdfs:subClassOf s223:Context .


            

Segment

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


@prefix rdf: <http://www.w3.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:Segment a s223:Class,
        sh:NodeShape ;
    rdfs:label "Segment" ;
    rdfs:comment "When necessary, a Connection may be subdivided into a network of Segments, joined at Junctions. This can be useful for identifying a segment of a duct before a split, for example." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:maxCount 2 ;
            sh:message "Segment is missing one or both endpoints (Junction or ConnectionPoint)" ;
            sh:minCount 2 ;
            sh:or ( [ sh:class s223:Junction ] [ sh:class s223:ConnectionPoint ] ) ;
            sh:path s223:lnx ;
            sh:qualifiedMaxCount 1 ;
            sh:qualifiedValueShape [ sh:class s223:ConnectionPoint ] ;
            sh:severity sh:Warning ] .


        

See Also

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Segment a s223:Class,
        sh:NodeShape ;
    rdfs:label "Segment" ;
    rdfs:comment "When necessary, a Connection may be subdivided into a network of Segments, joined at Junctions. This can be useful for identifying a segment of a duct before a split, for example." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:maxCount 2 ;
            sh:message "Segment is missing one or both endpoints (Junction or ConnectionPoint)" ;
            sh:minCount 2 ;
            sh:or [ rdf:first [ ] ;
                    rdf:rest [ ] ] ;
            sh:path s223:lnx ;
            sh:qualifiedMaxCount 1 ;
            sh:qualifiedValueShape [ ] ;
            sh:severity sh:Warning ] .

s223:Sensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Sensor" ;
    rdfs:comment "A Sensor produces an ObservableProperty (see `s223:ObservableProperty`) which may be quantifiable (see `s223:QuantifiableObservableProperty`), such as a temperature, flowrate, or concentration, or may not be quantifiable (see `s223:NonQuantifiableProperty`), such as an alarm state or occupancy state. " ;
    rdfs:subClassOf s223:Device ;
    sh:property [ sh:or ( [ sh:class s223:Connectable ] [ sh:class s223:Connection ] [ ] [ sh:class s223:ConnectionPoint ] ) ;
            sh:path s223:hasMeasurementLocation ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementPrecision ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementResolution ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementUncertainty ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:path s223:hasMedium ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMinRange ],
        [ sh:class s223:ObservableProperty ;
            sh:maxCount 1 ;
            sh:path s223:observesProperty ] ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:hasMeasurementLocation ?something .}
WHERE {
{
SELECT ?prop (COUNT (DISTINCT ?measurementLocation) AS ?count) $this
WHERE {
FILTER (NOT EXISTS {$this s223:hasMeasurementLocation ?anything}) .
FILTER (NOT EXISTS {$this a/rdfs:subClassOf* s223:DifferentialSensor}) .
FILTER (NOT EXISTS {$this a/rdfs:subClassOf* s223:VirtualSensor}) .
$this s223:observesProperty ?prop .
?measurementLocation s223:hasProperty ?prop .
}
GROUP BY ?prop $this
}
FILTER (?count = 1) .
?something s223:hasProperty ?prop .
{?something a/rdfs:subClassOf* s223:Device}
UNION
{?something a/rdfs:subClassOf* s223:Segment}
UNION
{?something a/rdfs:subClassOf* s223:ConnectionPoint}
UNION
{?something a/rdfs:subClassOf* s223:PhysicalSpace}
}
""" ;
            sh:name "InferredMeasurementLocation" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/data-rules> ] .

s223:Connection a s223:Class,
        sh:NodeShape ;
    rdfs:label "Connection" ;
    rdfs:comment """A Connection is the modeling construct used to represent a physical thing (e.g., pipe, duct, or wire) that is used to convey some Medium (e.g., water, air, or electricity) between two connectable things. All Connections have two or more ConnectionPoints that are bound to either a Device (see `s223:Device`), DomainSpace (see `s223:DomainSpace`), or PhysicalSpace (see `s223:PhysicalSpace`). If the direction of flow is constrained that constraint is indicated by using one or more InletConnectionPoints (see `s223:InletConnectionPoint`) to represent the inflow points and OutletConnectionPoints (see `s223:OutletConnectionPoint`) to represent the outflow points.
  
A Connection may contain branches or intersections. These are modeled using Segments (see `s223:Segment`) and Junctions (see `s223:Junction`).
""" ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:class s223:ConnectionPoint ;
            sh:path s223:connectsAt ],
        [ sh:class s223:Connectable ;
            sh:name "ConnectionToUpstreamConnectableShape" ;
            sh:path s223:connectsFrom ],
        [ sh:class s223:Connectable ;
            sh:name "ConnectionToDownstreamConnectableShape" ;
            sh:path s223:connectsTo ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:name "Connection medium" ;
            sh:path s223:hasMedium ],
        [ sh:class s223:EnumerationKind-Role ;
            sh:path s223:hasRole ],
        [ sh:class s223:Device ;
            sh:path s223:returnsTo ],
        [ sh:class s223:Device ;
            sh:path s223:suppliesTo ],
        s223:hasContextualRoleShape,
        s223:hasPropertyShape ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:connectsFrom ?device .}
WHERE {
$this s223:connectsAt ?cp .
?cp s223:hasDirection s223:Direction-Outlet .
?cp s223:isConnectionPointOf ?device .
}
""" ;
            sh:name "InferredConnectionToUpstreamDeviceProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:connectsTo ?device .}
WHERE {
$this s223:connectsAt ?cp .
?cp s223:hasDirection s223:Direction-Inlet  .
?cp s223:isConnectionPointOf ?device .
}
""" ;
            sh:name "InferredConnectionToDownstreamDeviceProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:returnsTo ?device .}
WHERE {
$this s223:hasRole role:Return .
$this s223:connectsTo ?device .
}
""" ;
            sh:name "InferredReturnsToProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:suppliesTo ?device .}
WHERE {
$this s223:hasRole role:Supply .
$this s223:connectsTo ?device .
}
""" ;
            sh:name "InferredSuppliesToProperty" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointBaseProperty" ;
            sh:object [ sh:path s223:connectsAt ] ;
            sh:predicate s223:cnx ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointBasePropertyFromInverse" ;
            sh:object [ sh:path [ sh:inversePath s223:connectsThrough ] ] ;
            sh:predicate s223:cnx ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "InferredConnectionToConnectionPointProperty" ;
            sh:object [ sh:path s223:cnx ] ;
            sh:predicate s223:connectsAt ;
            sh:subject sh:this ] .


            

Sensor

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


@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Sensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Sensor" ;
    rdfs:comment "A Sensor produces an ObservableProperty (see `s223:ObservableProperty`) which may be quantifiable (see `s223:QuantifiableObservableProperty`), such as a temperature, flowrate, or concentration, or may not be quantifiable (see `s223:NonQuantifiableProperty`), such as an alarm state or occupancy state. " ;
    rdfs:subClassOf s223:Device ;
    sh:property [ sh:or ( [ sh:class s223:Connectable ] [ sh:class s223:Connection ] [ sh:class s223:Segment ] [ sh:class s223:ConnectionPoint ] ) ;
            sh:path s223:hasMeasurementLocation ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementPrecision ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementResolution ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementUncertainty ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:path s223:hasMedium ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMinRange ],
        [ sh:class s223:ObservableProperty ;
            sh:maxCount 1 ;
            sh:path s223:observesProperty ] ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:hasMeasurementLocation ?something .}
WHERE {
{
SELECT ?prop (COUNT (DISTINCT ?measurementLocation) AS ?count) $this
WHERE {
FILTER (NOT EXISTS {$this s223:hasMeasurementLocation ?anything}) .
FILTER (NOT EXISTS {$this a/rdfs:subClassOf* s223:DifferentialSensor}) .
FILTER (NOT EXISTS {$this a/rdfs:subClassOf* s223:VirtualSensor}) .
$this s223:observesProperty ?prop .
?measurementLocation s223:hasProperty ?prop .
}
GROUP BY ?prop $this
}
FILTER (?count = 1) .
?something s223:hasProperty ?prop .
{?something a/rdfs:subClassOf* s223:Device}
UNION
{?something a/rdfs:subClassOf* s223:Segment}
UNION
{?something a/rdfs:subClassOf* s223:ConnectionPoint}
UNION
{?something a/rdfs:subClassOf* s223:PhysicalSpace}
}
""" ;
            sh:name "InferredMeasurementLocation" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/data-rules> ] .


        

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Sensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Sensor" ;
    rdfs:comment "A Sensor produces an ObservableProperty (see `s223:ObservableProperty`) which may be quantifiable (see `s223:QuantifiableObservableProperty`), such as a temperature, flowrate, or concentration, or may not be quantifiable (see `s223:NonQuantifiableProperty`), such as an alarm state or occupancy state. " ;
    rdfs:subClassOf s223:Device ;
    sh:property [ sh:or [ rdf:first [ ] ;
                    rdf:rest [ ] ] ;
            sh:path s223:hasMeasurementLocation ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementPrecision ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementResolution ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementUncertainty ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:path s223:hasMedium ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMinRange ],
        [ sh:class s223:ObservableProperty ;
            sh:maxCount 1 ;
            sh:path s223:observesProperty ] ;
    sh:rule [ ] .


            

Setpoint

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


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

s223:Setpoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Setpoint" ;
    rdfs:subClassOf s223:Property,
        <http://qudt.org/schema/qudt/Quantity> ;
    sh:property [ sh:datatype xsd:decimal ;
            sh:path s223:hasDeadband ],
        [ sh:datatype xsd:decimal ;
            sh:path s223:hasValue ] ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this qudt:hasQuantityKind ?qk .}
WHERE {
FILTER (NOT EXISTS {$this qudt:hasQuantityKind ?something}) .
$this ^s223:hasSetpoint ?property .
?property qudt:hasQuantityKind ?qk .
}
""" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ] .


        

See Also

Details

All related shapes and rules

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

s223:Setpoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Setpoint" ;
    rdfs:subClassOf s223:Property,
        <http://qudt.org/schema/qudt/Quantity> ;
    sh:property [ sh:datatype xsd:decimal ;
            sh:path s223:hasDeadband ],
        [ sh:datatype xsd:decimal ;
            sh:path s223:hasValue ] ;
    sh:rule [ ] .

s223:EnumerationKind-OccupancyStatus a s223:Class,
        s223:EnumerationKind-OccupancyStatus,
        sh:NodeShape ;
    rdfs:label "Occupancy status" ;
    rdfs:subClassOf s223:EnumerationKind,
        s223:SetpointAspect .


            

Shell tube heat exchanger

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


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

s223:ShellTubeHeatExchanger a s223:Class ;
    rdfs:label "Shell tube heat exchanger" ;
    rdfs:subClassOf s223:HeatExchanger .


        

Details

All related shapes and rules

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

s223:ShellTubeHeatExchanger a s223:Class ;
    rdfs:label "Shell tube heat exchanger" ;
    rdfs:subClassOf s223:HeatExchanger .


            

State

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


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

s223:State a s223:Class,
        sh:NodeShape ;
    rdfs:label "State" ;
    rdfs:subClassOf s223:Concept .


        

Details

All related shapes and rules

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

s223:State a s223:Class,
        sh:NodeShape ;
    rdfs:label "State" ;
    rdfs:subClassOf s223:Concept .


            

Storage tank

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


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

s223:StorageTank a s223:Class,
        sh:NodeShape ;
    rdfs:label "Storage tank" ;
    rdfs:subClassOf s223:Device .


        

Details

All related shapes and rules

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

s223:StorageTank a s223:Class,
        sh:NodeShape ;
    rdfs:label "Storage tank" ;
    rdfs:subClassOf s223:Device .


            

Particulate

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


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

s223:Substance-Particulate a s223:Class,
        s223:Substance-Particulate,
        sh:NodeShape ;
    rdfs:label "Particulate" ;
    rdfs:subClassOf s223:EnumerationKind-Substance .


        

Details

All related shapes and rules

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

s223:Substance-Particulate a s223:Class,
        s223:Substance-Particulate,
        sh:NodeShape ;
    rdfs:label "Particulate" ;
    rdfs:subClassOf s223:EnumerationKind-Substance .


            

Supply Context

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


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

s223:SupplyContext a s223:Class ;
    rdfs:label "Supply Context" ;
    rdfs:subClassOf s223:Context .


        

Details

All related shapes and rules

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

s223:SupplyContext a s223:Class ;
    rdfs:label "Supply Context" ;
    rdfs:subClassOf s223:Context .


            

Symmetric property

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


@prefix rdf: <http://www.w3.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:SymmetricProperty a s223:Class,
        sh:NodeShape ;
    rdfs:label "Symmetric property" ;
    rdfs:subClassOf rdf:Property .


        

Details

All related shapes and rules

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

s223:SymmetricPropertyShape a sh:NodeShape ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {
?o ?p $this .
}
WHERE {
  $this ?p ?o .
  ?p a s223:SymmetricProperty .
}
			""" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/owl-subset> ] ;
    sh:targetClass s223:Concept .

s223:connected a s223:SymmetricProperty,
        rdf:Property ;
    rdfs:label "connected" ;
    rdfs:comment "The relation connected indicates that two connectable things are connected without regard to any directionality of a process flow.  " .

s223:SymmetricProperty a s223:Class,
        sh:NodeShape ;
    rdfs:label "Symmetric property" ;
    rdfs:subClassOf rdf:Property .


            

System

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


@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:System a s223:Class,
        sh:NodeShape ;
    rdfs:label "System" ;
    rdfs:comment """A System is a logical grouping of Devices for some functional or system reason, such as a "chilled water system, or HVAC system"
A System is distinguished from a Device by the fact that you typically have to install and configure a System, while you might just install and use a Device.""" ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ a sh:PropertyShape ;
            sh:minCount 0 ;
            sh:name "system contains shape" ;
            sh:or ( [ sh:class s223:Device ] [ sh:class s223:System ] [ sh:class s223:Junction ] ) ;
            sh:path s223:contains ],
        [ sh:class s223:EnumerationKind-Role ;
            sh:path s223:hasRole ],
        [ sh:class s223:SystemConnectionPoint ;
            sh:name "SystemtoSystemConnectionPointShape" ;
            sh:path s223:hasSystemConnectionPoint ],
        [ sh:class s223:Zone ;
            sh:path s223:servesZone ],
        s223:hasContextualRoleShape,
        s223:hasPropertyShape ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:contains ?sub .}
WHERE {
  $this s223:hasJunction ?sub .
}
""" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ],
        [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:hasJunction ?sub .}
WHERE {
$this s223:contains ?sub .
?sub a s223:Junction .
}
""" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> ] .


        

See Also

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:System a s223:Class,
        sh:NodeShape ;
    rdfs:label "System" ;
    rdfs:comment """A System is a logical grouping of Devices for some functional or system reason, such as a "chilled water system, or HVAC system"
A System is distinguished from a Device by the fact that you typically have to install and configure a System, while you might just install and use a Device.""" ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ a sh:PropertyShape ;
            sh:minCount 0 ;
            sh:name "system contains shape" ;
            sh:or [ rdf:first [ ] ;
                    rdf:rest [ ] ] ;
            sh:path s223:contains ],
        [ sh:class s223:EnumerationKind-Role ;
            sh:path s223:hasRole ],
        [ sh:class s223:SystemConnectionPoint ;
            sh:name "SystemtoSystemConnectionPointShape" ;
            sh:path s223:hasSystemConnectionPoint ],
        [ sh:class s223:Zone ;
            sh:path s223:servesZone ],
        s223:hasContextualRoleShape,
        s223:hasPropertyShape ;
    sh:rule [ ],
        [ ] .

s223:BidirectionalSystemConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Bidirectional System Connection Point" ;
    rdfs:comment "This class is analogous to the BidirectionalConnectionPoint class, but for SystemConnectionPoints." ;
    rdfs:subClassOf s223:SystemConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Bidirectional ;
            sh:path s223:hasDirection ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of BidirectionalSystemConnectionPoint doesn't have a value for hasDirection, then set it." ;
            sh:object s223:Direction-Bidirectional ;
            sh:predicate s223:hasDirection ;
            sh:subject sh:this ] .

s223:InletSystemConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Inlet System Connection Point" ;
    rdfs:comment "This class is analogous to the InletConnectionPoint class, but for SystemConnectionPoints." ;
    rdfs:subClassOf s223:SystemConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Inlet ;
            sh:path s223:hasDirection ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of InletSystemConnectionPoint doesn't have a value for hasDirection, then set it." ;
            sh:object s223:Direction-Inlet ;
            sh:predicate s223:hasDirection ;
            sh:subject sh:this ] .

s223:OutletSystemConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Outlet System Connection Point" ;
    rdfs:comment "This class is analogous to the OutletConnectionPoint class, but for SystemConnectionPoints." ;
    rdfs:subClassOf s223:SystemConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Outlet ;
            sh:path s223:hasDirection ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of OutletSystemConnectionPoint doesn't have a value for hasDirection, then set it." ;
            sh:object s223:Direction-Outlet ;
            sh:predicate s223:hasDirection ;
            sh:subject sh:this ] .

s223:hasContextualRoleShape a sh:PropertyShape ;
    rdfs:label "has Contextual Role Shape" ;
    sh:node s223:ContextualRole ;
    sh:path s223:hasContextualRole .

s223:hasPropertyShape a sh:PropertyShape ;
    rdfs:label "has Property Shape" ;
    sh:class s223:Property ;
    sh:path s223:hasProperty .

s223:SystemConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "SystemConnectionPoint" ;
    s223:abstract true ;
    rdfs:comment "This is analogous to a ConnectionPoint, but for a System rather than a Device." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:or ( [ sh:class s223:ConnectionPoint ] [ sh:class s223:SystemConnectionPoint ] [ sh:class s223:Junction ] ) ;
            sh:path s223:mapsTo ],
        [ sh:or ( [ sh:class s223:SystemConnectionPoint ] [ sh:class s223:ConnectionPoint ] ) ;
            sh:path s223:systemConnected ],
        [ sh:maxCount 1 ;
            sh:name "ConnectionPoint direction" ;
            sh:or ( [ sh:hasValue s223:Direction-Inlet ] [ sh:hasValue s223:Direction-Outlet ] [ sh:hasValue s223:Direction-Bidirectional ] ) ;
            sh:path s223:hasDirection ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If a SystemConnectionPoint instance has a value of s223:Direction-Bidirectional for property hasDirection, then declare it as an instance of BidirectionalSystemConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Bidirectional ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:BidirectionalSystemConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a SystemConnectionPoint instance has a value of s223:Direction-Inlet for property hasDirection, then declare it as an instance of InletSystemConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Inlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:InletSystemConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a SystemConnectionPoint instance has a value of s223:Direction-Outlet for property hasDirection, then declare it as an instance of OutletSystemConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Outlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:OutletSystemConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] .


            

SystemConnectionPoint

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


@prefix rdf: <http://www.w3.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:SystemConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "SystemConnectionPoint" ;
    s223:abstract true ;
    rdfs:comment "This is analogous to a ConnectionPoint, but for a System rather than a Device." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:or ( [ sh:class s223:ConnectionPoint ] [ sh:class s223:SystemConnectionPoint ] [ sh:class s223:Junction ] ) ;
            sh:path s223:mapsTo ],
        [ sh:or ( [ sh:class s223:SystemConnectionPoint ] [ sh:class s223:ConnectionPoint ] ) ;
            sh:path s223:systemConnected ],
        [ sh:maxCount 1 ;
            sh:name "ConnectionPoint direction" ;
            sh:or ( [ sh:hasValue s223:Direction-Inlet ] [ sh:hasValue s223:Direction-Outlet ] [ sh:hasValue s223:Direction-Bidirectional ] ) ;
            sh:path s223:hasDirection ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If a SystemConnectionPoint instance has a value of s223:Direction-Bidirectional for property hasDirection, then declare it as an instance of BidirectionalSystemConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Bidirectional ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:BidirectionalSystemConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a SystemConnectionPoint instance has a value of s223:Direction-Inlet for property hasDirection, then declare it as an instance of InletSystemConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Inlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:InletSystemConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            rdfs:comment "If a SystemConnectionPoint instance has a value of s223:Direction-Outlet for property hasDirection, then declare it as an instance of OutletSystemConnectionPoint." ;
            sh:condition [ sh:property [ sh:hasValue s223:Direction-Outlet ;
                            sh:path s223:hasDirection ] ] ;
            sh:object s223:OutletSystemConnectionPoint ;
            sh:predicate rdf:type ;
            sh:subject sh:this ] .


        

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:SystemConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "SystemConnectionPoint" ;
    s223:abstract true ;
    rdfs:comment "This is analogous to a ConnectionPoint, but for a System rather than a Device." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:or [ rdf:first [ ] ;
                    rdf:rest [ ] ] ;
            sh:path s223:mapsTo ],
        [ sh:or [ rdf:first [ ] ;
                    rdf:rest [ ] ] ;
            sh:path s223:systemConnected ],
        [ sh:maxCount 1 ;
            sh:name "ConnectionPoint direction" ;
            sh:or [ rdf:first [ ] ;
                    rdf:rest [ ] ] ;
            sh:path s223:hasDirection ] ;
    sh:rule [ ],
        [ ],
        [ ] .


            

Temp sensor

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


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

s223:TemperatureSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Temp sensor" ;
    rdfs:comment "A TemperatureSensor is a specialization of a Sensor that observes a QuantifiableObservableProperty that represents a temperature measurement." ;
    rdfs:subClassOf s223:Sensor .


        

Details

All related shapes and rules

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

s223:TemperatureSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Temp sensor" ;
    rdfs:comment "A TemperatureSensor is a specialization of a Sensor that observes a QuantifiableObservableProperty that represents a temperature measurement." ;
    rdfs:subClassOf s223:Sensor .


            

Three way valve

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


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

s223:ThreeWayValve a s223:Class,
        sh:NodeShape ;
    rdfs:label "Three way valve" ;
    rdfs:subClassOf s223:ManualValve .


        

Details

All related shapes and rules

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

s223:ThreeWayValve a s223:Class,
        sh:NodeShape ;
    rdfs:label "Three way valve" ;
    rdfs:subClassOf s223:ManualValve .


            

Two way valve

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


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

s223:TwoWayValve a s223:Class,
        sh:NodeShape ;
    rdfs:label "Two way valve" ;
    rdfs:subClassOf s223:ManualValve .


        

Details

All related shapes and rules

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

s223:TwoWayValve a s223:Class,
        sh:NodeShape ;
    rdfs:label "Two way valve" ;
    rdfs:subClassOf s223:ManualValve .


            

VAV

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


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

s223:VAV a s223:Class,
        sh:NodeShape ;
    rdfs:label "VAV" ;
    rdfs:subClassOf s223:Device,
        s223:System ;
    sh:property [ a sh:PropertyShape ;
            sh:class s223:Device ;
            sh:minCount 0 ;
            sh:path s223:contains ] .


        

Details

All related shapes and rules

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

s223:VAV a s223:Class,
        sh:NodeShape ;
    rdfs:label "VAV" ;
    rdfs:subClassOf s223:Device,
        s223:System ;
    sh:property [ a sh:PropertyShape ;
            sh:class s223:Device ;
            sh:minCount 0 ;
            sh:path s223:contains ] .


            

VFD

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


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

s223:VFD a s223:Class,
        sh:NodeShape ;
    rdfs:label "VFD" ;
    rdfs:subClassOf s223:Device .


        

Details

All related shapes and rules

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

s223:VFD a s223:Class,
        sh:NodeShape ;
    rdfs:label "VFD" ;
    rdfs:subClassOf s223:Device .


            

Valve

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


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

s223:Valve a s223:Class,
        sh:NodeShape ;
    rdfs:label "Valve" ;
    rdfs:subClassOf s223:Device .


        

Details

All related shapes and rules

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

s223:Valve a s223:Class,
        sh:NodeShape ;
    rdfs:label "Valve" ;
    rdfs:subClassOf s223:Device .


            

Virtual sensor

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


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

s223:VirtualSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Virtual sensor" ;
    rdfs:subClassOf s223:Sensor ;
    sh:property [ sh:class s223:Property ;
            sh:path s223:hasFunctionInput ],
        [ sh:maxCount 0 ;
            sh:path s223:hasMeasurementLocation ] .


        

See Also

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:VirtualSensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Virtual sensor" ;
    rdfs:subClassOf s223:Sensor ;
    sh:property [ sh:class s223:Property ;
            sh:path s223:hasFunctionInput ],
        [ sh:maxCount 0 ;
            sh:path s223:hasMeasurementLocation ] .

s223:Sensor a s223:Class,
        sh:NodeShape ;
    rdfs:label "Sensor" ;
    rdfs:comment "A Sensor produces an ObservableProperty (see `s223:ObservableProperty`) which may be quantifiable (see `s223:QuantifiableObservableProperty`), such as a temperature, flowrate, or concentration, or may not be quantifiable (see `s223:NonQuantifiableProperty`), such as an alarm state or occupancy state. " ;
    rdfs:subClassOf s223:Device ;
    sh:property [ sh:or ( [ sh:class s223:Connectable ] [ sh:class s223:Connection ] [ sh:class s223:Segment ] [ sh:class s223:ConnectionPoint ] ) ;
            sh:path s223:hasMeasurementLocation ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementPrecision ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementResolution ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMeasurementUncertainty ],
        [ sh:class s223:EnumerationKind-Medium ;
            sh:maxCount 1 ;
            sh:path s223:hasMedium ],
        [ sh:class s223:QuantifiableProperty ;
            sh:path s223:hasMinRange ],
        [ sh:class s223:ObservableProperty ;
            sh:maxCount 1 ;
            sh:path s223:observesProperty ] ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
CONSTRUCT {$this s223:hasMeasurementLocation ?something .}
WHERE {
{
SELECT ?prop (COUNT (DISTINCT ?measurementLocation) AS ?count) $this
WHERE {
FILTER (NOT EXISTS {$this s223:hasMeasurementLocation ?anything}) .
FILTER (NOT EXISTS {$this a/rdfs:subClassOf* s223:DifferentialSensor}) .
FILTER (NOT EXISTS {$this a/rdfs:subClassOf* s223:VirtualSensor}) .
$this s223:observesProperty ?prop .
?measurementLocation s223:hasProperty ?prop .
}
GROUP BY ?prop $this
}
FILTER (?count = 1) .
?something s223:hasProperty ?prop .
{?something a/rdfs:subClassOf* s223:Device}
UNION
{?something a/rdfs:subClassOf* s223:Segment}
UNION
{?something a/rdfs:subClassOf* s223:ConnectionPoint}
UNION
{?something a/rdfs:subClassOf* s223:PhysicalSpace}
}
""" ;
            sh:name "InferredMeasurementLocation" ;
            sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/data-rules> ] .


            

Zone

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


@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:Zone a s223:Class,
        sh:NodeShape ;
    rdfs:label "Zone" ;
    rdfs:comment "A Zone represents a collection of Spaces to identify a domain of control, such as a Lighting Zone." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:or ( [ sh:class s223:DomainSpace ] [ sh:class s223:Zone ] ) ;
            sh:path s223:contains ],
        [ sh:class s223:EnumerationKind-Domain ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:path s223:hasDomain ],
        s223:hasPropertyShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "Traverse down the contains hierarchy to determine the domain" ;
            sh:object [ sh:path ( [ sh:zeroOrMorePath s223:contains ] s223:hasDomain ) ] ;
            sh:predicate s223:hasDomain ;
            sh:subject sh:this ] .


        

See Also

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:BidirectionalZoneConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Bidirectional Zone Connection Point" ;
    rdfs:comment "This class is analogous to the BidirectionalConnectionPoint class, but for ZoneConnectionPoints." ;
    rdfs:subClassOf s223:ZoneConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Bidirectional ;
            sh:path s223:hasDirection ] .

s223:HasDomainLookingUpRule a sh:NodeShape ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "Traverse up the contains hierarchy to determine the domain" ;
            sh:object [ sh:path ( [ sh:zeroOrMorePath [ sh:inversePath s223:contains ] ] s223:hasDomain ) ] ;
            sh:predicate s223:hasDomain ;
            sh:subject sh:this ] ;
    sh:targetClass s223:DomainSpace,
        s223:Zone .

s223:InletZoneConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Inlet Zone Connection Point" ;
    rdfs:comment "This class is analogous to the InletConnectionPoint class, but for ZoneConnectionPoints." ;
    rdfs:subClassOf s223:ZoneConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Inlet ;
            sh:path s223:hasDirection ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of InletZoneConnectionPoint doesn't have a value for hasDirection, then set it." ;
            sh:object s223:Direction-Inlet ;
            sh:predicate s223:hasDirection ;
            sh:subject sh:this ] .

s223:OutletZoneConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "Outlet Zone Connection Point" ;
    rdfs:comment "This class is analogous to the OutletConnectionPoint class, but for ZoneConnectionPoints." ;
    rdfs:subClassOf s223:ZoneConnectionPoint ;
    sh:property [ a sh:PropertyShape ;
            sh:hasValue s223:Direction-Outlet ;
            sh:path s223:hasDirection ] ;
    sh:rule [ a sh:TripleRule ;
            rdfs:comment "If an instance of OutletZoneConnectionPoint doesn't have a value for hasDirection, then set it." ;
            sh:object s223:Direction-Outlet ;
            sh:predicate s223:hasDirection ;
            sh:subject sh:this ] .

s223:Zone a s223:Class,
        sh:NodeShape ;
    rdfs:label "Zone" ;
    rdfs:comment "A Zone represents a collection of Spaces to identify a domain of control, such as a Lighting Zone." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:or [ rdf:first [ ] ;
                    rdf:rest [ ] ] ;
            sh:path s223:contains ],
        [ sh:class s223:EnumerationKind-Domain ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:path s223:hasDomain ],
        s223:hasPropertyShape ;
    sh:rule [ ] .

s223:hasPropertyShape a sh:PropertyShape ;
    rdfs:label "has Property Shape" ;
    sh:class s223:Property ;
    sh:path s223:hasProperty .

s223:ZoneConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "ZoneConnectionPoint" ;
    rdfs:comment "This is analogous to a ConnectionPoint, but for a Zone rather than a Device." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:maxCount 1 ;
            sh:name "ConnectionPoint direction" ;
            sh:or ( [ sh:hasValue s223:Direction-Inlet ] [ sh:hasValue s223:Direction-Outlet ] [ sh:hasValue s223:Direction-Bidirectional ] ) ;
            sh:path s223:hasDirection ],
        [ sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:or ( [ sh:class s223:ConnectionPoint ] [ sh:class s223:ZoneConnectionPoint ] [ sh:class s223:Junction ] ) ;
            sh:path s223:mapsTo ],
        [ sh:or ( [ sh:class s223:ZoneConnectionPoint ] [ sh:class s223:ConnectionPoint ] ) ;
            sh:path s223:zoneConnected ] .


            

ZoneConnectionPoint

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


@prefix rdf: <http://www.w3.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:ZoneConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "ZoneConnectionPoint" ;
    rdfs:comment "This is analogous to a ConnectionPoint, but for a Zone rather than a Device." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:maxCount 1 ;
            sh:name "ConnectionPoint direction" ;
            sh:or ( [ sh:hasValue s223:Direction-Inlet ] [ sh:hasValue s223:Direction-Outlet ] [ sh:hasValue s223:Direction-Bidirectional ] ) ;
            sh:path s223:hasDirection ],
        [ sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:or ( [ sh:class s223:ConnectionPoint ] [ sh:class s223:ZoneConnectionPoint ] [ sh:class s223:Junction ] ) ;
            sh:path s223:mapsTo ],
        [ sh:or ( [ sh:class s223:ZoneConnectionPoint ] [ sh:class s223:ConnectionPoint ] ) ;
            sh:path s223:zoneConnected ] .


        

Details

All related shapes and rules

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

s223:ZoneConnectionPoint a s223:Class,
        sh:NodeShape ;
    rdfs:label "ZoneConnectionPoint" ;
    rdfs:comment "This is analogous to a ConnectionPoint, but for a Zone rather than a Device." ;
    rdfs:subClassOf s223:Concept ;
    sh:property [ sh:maxCount 1 ;
            sh:name "ConnectionPoint direction" ;
            sh:or [ rdf:first [ ] ;
                    rdf:rest [ ] ] ;
            sh:path s223:hasDirection ],
        [ sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:or [ rdf:first [ ] ;
                    rdf:rest [ ] ] ;
            sh:path s223:mapsTo ],
        [ sh:or [ rdf:first [ ] ;
                    rdf:rest [ ] ] ;
            sh:path s223:zoneConnected ] .


            

If an instance of OutletConnectionPoint doesn't have a value for hasDirection, then set it.


@prefix 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 "If an instance of OutletConnectionPoint doesn't have a value for hasDirection, then set it." ;
    sh:object s223:Direction-Outlet ;
    sh:predicate s223:hasDirection ;
    sh:subject sh:this .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:hasValue s223:Direction-Inlet ;
    sh:path s223:hasDirection .


        

Property Shape


@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLRule ;
    sh:construct """
CONSTRUCT {$this s223:contains ?sub .}
WHERE {
  $this s223:hasJunction ?sub .
}
""" ;
    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> .


        

Property Shape


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

[] a sh:TripleRule ;
    sh:object [ sh:path ( [ sh:inversePath s223:hasMeasurementLocation ] s223:observesProperty ) ] ;
    sh:predicate s223:hasProperty ;
    sh:subject sh:this .


        

Property Shape


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

[] sh:or ( [ sh:class s223:DomainSpace ] [ sh:class s223:Zone ] ) ;
    sh:path s223:contains .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] a sh:PropertyShape ;
    sh:class s223:Device ;
    sh:minCount 0 ;
    sh:path s223:contains .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:PhysicalSpace ;
    sh:path s223:hasPhysicalLocation .


        

InferredConnectionToUpstreamDeviceProperty


@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLRule ;
    sh:construct """
CONSTRUCT {$this s223:connectsFrom ?device .}
WHERE {
$this s223:connectsAt ?cp .
?cp s223:hasDirection s223:Direction-Outlet .
?cp s223:isConnectionPointOf ?device .
}
""" ;
    sh:name "InferredConnectionToUpstreamDeviceProperty" ;
    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:PropertyShape ;
    sh:hasValue s223:Direction-Outlet ;
    sh:path s223:hasDirection .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:Device ;
    sh:path s223:returnsTo .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:Property ;
    sh:path s223:hasFunctionInput .


        

InferredConnectionToDownstreamDeviceProperty


@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLRule ;
    sh:construct """
CONSTRUCT {$this s223:connectsTo ?device .}
WHERE {
$this s223:connectsAt ?cp .
?cp s223:hasDirection s223:Direction-Inlet  .
?cp s223:isConnectionPointOf ?device .
}
""" ;
    sh:name "InferredConnectionToDownstreamDeviceProperty" ;
    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> .


        

outlet pressure shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] a sh:PropertyShape ;
    sh:class s223:QuantifiableProperty ;
    sh:minCount 0 ;
    sh:name "outlet pressure shape" ;
    sh:path s223:hasOutletPressure .


        

Parameter datatype


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] sh:class s223:Datatype ;
    sh:maxCount 1 ;
    sh:message "This Parameter must be associated with exactly 1 Datatype." ;
    sh:name "Parameter datatype" ;
    sh:path s223:hasDatatype ;
    sh:severity sh:Info .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:QuantifiableProperty ;
    sh:path s223:hasMeasurementUncertainty .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:Zone ;
    sh:path s223:servesZone .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:ConnectionPoint ;
    sh:path s223:connectsAt .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] sh:class s223:EnumerationKind ;
    sh:maxCount 1 ;
    sh:minCount 1 ;
    sh:path s223:hasEnumerationKind .


        

SymmetricConnectableToConnectableShape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:Connectable ;
    sh:name "SymmetricConnectableToConnectableShape" ;
    sh:path s223:connected .


        

InferredDeviceToUpstreamDeviceProperty


@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLRule ;
    sh:construct """
CONSTRUCT {$this s223:connectedFrom ?device .}
WHERE {
$this s223:hasConnectionPoint ?cp .
?cp s223:hasDirection s223:Direction-Inlet  .
?cp s223:connectsThrough/s223:connectsFrom ?device .
}
""" ;
    sh:name "InferredDeviceToUpstreamDeviceProperty" ;
    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:Device ;
    sh:path s223:suppliesTo .


        

InferredConnectionToConnectionPointProperty


@prefix 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 "InferredConnectionToConnectionPointProperty" ;
    sh:object [ sh:path s223:cnx ] ;
    sh:predicate s223:connectsAt ;
    sh:subject sh:this .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:QuantifiableProperty ;
    sh:path s223:hasMeasurementResolution .


        

InferredConnectionToConnectionPointBasePropertyFromInverse


@prefix 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 "InferredConnectionToConnectionPointBasePropertyFromInverse" ;
    sh:object [ sh:path [ sh:inversePath s223:connectsThrough ] ] ;
    sh:predicate s223:cnx ;
    sh:subject sh:this .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] a sh:PropertyShape ;
    sh:maxCount 0 ;
    sh:path s223:hasExternalReference .


        

ConnectionPoint medium


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] sh:class s223:EnumerationKind-Medium ;
    sh:maxCount 1 ;
    sh:minCount 1 ;
    sh:name "ConnectionPoint medium" ;
    sh:path s223:hasMedium .


        

DeviceToConnectionPointShape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:ConnectionPoint ;
    sh:name "DeviceToConnectionPointShape" ;
    sh:path s223:hasConnectionPoint .


        

ConnectableToConnectableShape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:Connectable ;
    sh:name "ConnectableToConnectableShape" ;
    sh:path s223:connectedTo .


        

Property Shape


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

[] sh:maxCount 1 ;
    sh:minCount 1 ;
    sh:or ( [ sh:class s223:ConnectionPoint ] [ sh:class s223:ZoneConnectionPoint ] [ sh:class s223:Junction ] ) ;
    sh:path s223:mapsTo .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] sh:class s223:Device ;
    sh:minCount 1 ;
    sh:path s223:relativeTo .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] sh:datatype xsd:decimal ;
    sh:path s223:hasValue .


        

InferredDeviceToConnectionPointProperty


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    sh:name "InferredDeviceToConnectionPointProperty" ;
    sh:object [ sh:path s223:cnx ] ;
    sh:predicate s223:hasConnectionPoint ;
    sh:subject sh:this .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:PropertyShape ;
    sh:hasValue s223:Direction-Inlet ;
    sh:path s223:hasDirection .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] a sh:PropertyShape ;
    sh:class <https://brickschema.org/schema/Brick/ref#ExternalReference> ;
    sh:description "Used to provide a pointer of any kind to a data source containing a simple value. Either s223:hasExternalReference or s223:hasValue is populated, but not both." ;
    sh:minCount 1 ;
    sh:path s223:hasExternalReference .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:path s223:hasValue .


        

Segment is missing one or both endpoints (Junction or ConnectionPoint)


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

[] sh:maxCount 2 ;
    sh:message "Segment is missing one or both endpoints (Junction or ConnectionPoint)" ;
    sh:minCount 2 ;
    sh:or ( [ sh:class s223:Junction ] [ sh:class s223:ConnectionPoint ] ) ;
    sh:path s223:lnx ;
    sh:qualifiedMaxCount 1 ;
    sh:qualifiedValueShape [ sh:class s223:ConnectionPoint ] ;
    sh:severity sh:Warning .


        

Property Shape


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

[] sh:maxCount 1 ;
    sh:minCount 1 ;
    sh:or ( [ sh:class s223:ConnectionPoint ] [ sh:class s223:SystemConnectionPoint ] [ sh:class s223:Junction ] ) ;
    sh:path s223:mapsTo .


        

Traverse up the contains hierarchy to determine the domain


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

[] a sh:TripleRule ;
    rdfs:comment "Traverse up the contains hierarchy to determine the domain" ;
    sh:object [ sh:path ( [ sh:zeroOrMorePath [ sh:inversePath s223:contains ] ] s223:hasDomain ) ] ;
    sh:predicate s223:hasDomain ;
    sh:subject sh:this .


        

InferredSuppliesToProperty


@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLRule ;
    sh:construct """
CONSTRUCT {$this s223:suppliesTo ?device .}
WHERE {
$this s223:hasRole role:Supply .
$this s223:connectsTo ?device .
}
""" ;
    sh:name "InferredSuppliesToProperty" ;
    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> .


        

InferredDeviceToConnectionPointCnxProperty


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    sh:name "InferredDeviceToConnectionPointCnxProperty" ;
    sh:object [ sh:path s223:hasConnectionPoint ] ;
    sh:predicate s223:cnx ;
    sh:subject sh:this .


        

If a ConnectionPoint instance has a value of s223:Direction-Inlet for property hasDirection, then declare it as an instance of InletConnectionPoint.


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

[] a sh:TripleRule ;
    rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Inlet  for property hasDirection, then declare it as an instance of InletConnectionPoint." ;
    sh:condition [ sh:property [ sh:hasValue s223:Direction-Inlet ;
                    sh:path s223:hasDirection ] ] ;
    sh:object s223:InletConnectionPoint ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:EnumerationKind-Role ;
    sh:path s223:hasRole .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:path s223:cnx .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] sh:class s223:EnumerationKind-Role ;
    sh:minCount 1 ;
    sh:path s223:hasRole .


        

If an instance of OutletZoneConnectionPoint doesn't have a value for hasDirection, then set it.


@prefix 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 "If an instance of OutletZoneConnectionPoint doesn't have a value for hasDirection, then set it." ;
    sh:object s223:Direction-Outlet ;
    sh:predicate s223:hasDirection ;
    sh:subject sh:this .


        

Property Shape


@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLRule ;
    sh:construct """
CONSTRUCT {
?o ?invP $this .
}
WHERE {
  $this ?p ?o .
  ?p s223:inverseOf ?invP .
}
			""" ;
    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/owl-subset> .


        

ConnectionPointToConnectionShape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] sh:class s223:Connection ;
    sh:maxCount 1 ;
    sh:message "This ConnectionPoint must be associated with exactly 1 Connection." ;
    sh:minCount 1 ;
    sh:name "ConnectionPointToConnectionShape" ;
    sh:path s223:connectsThrough ;
    sh:severity sh:Info .


        

ConnectorToFunctionBlock


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] sh:class s223:FunctionBlock ;
    sh:maxCount 1 ;
    sh:message "This Connector must be associated with exactly 1 FunctionBlock." ;
    sh:minCount 1 ;
    sh:name "ConnectorToFunctionBlock" ;
    sh:path s223:isConnectorOf .


        

InferredConnectionToConnectionPointBaseProperty


@prefix 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 "InferredConnectionToConnectionPointBaseProperty" ;
    sh:object [ sh:path s223:connectsAt ] ;
    sh:predicate s223:cnx ;
    sh:subject sh:this .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:Substance-Particulate ;
    sh:path s223:measuresSubstance .


        

InferredDeviceToDevicePropertyfromconnectedThrough


@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLRule ;
    sh:construct """
CONSTRUCT {$this s223:connected ?device .}
WHERE {
$this s223:connectedThrough/^s223:connectedThrough ?device .
FILTER ($this != ?device) .
}
""" ;
    sh:name "InferredDeviceToDevicePropertyfromconnectedThrough" ;
    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> .


        

If an instance of InletSystemConnectionPoint doesn't have a value for hasDirection, then set it.


@prefix 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 "If an instance of InletSystemConnectionPoint doesn't have a value for hasDirection, then set it." ;
    sh:object s223:Direction-Inlet ;
    sh:predicate s223:hasDirection ;
    sh:subject sh:this .


        

Property Shape


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

[] sh:path rdfs:label .


        

If an instance of OutletSystemConnectionPoint doesn't have a value for hasDirection, then set it.


@prefix 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 "If an instance of OutletSystemConnectionPoint doesn't have a value for hasDirection, then set it." ;
    sh:object s223:Direction-Outlet ;
    sh:predicate s223:hasDirection ;
    sh:subject sh:this .


        

commanded State


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] sh:description "The commanded state of a device" ;
    sh:maxCount 1 ;
    sh:minCount 0 ;
    sh:name "commanded State" ;
    sh:path s223:commandedState .


        

Property Shape


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

[] sh:or ( [ sh:class s223:SystemConnectionPoint ] [ sh:class s223:ConnectionPoint ] ) ;
    sh:path s223:systemConnected .


        

Property Shape


@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLRule ;
    sh:construct """
CONSTRUCT {$this qudt:hasQuantityKind ?qk .}
WHERE {
FILTER (NOT EXISTS {$this qudt:hasQuantityKind ?something}) .
$this ^s223:hasSetpoint ?property .
?property qudt:hasQuantityKind ?qk .
}
""" ;
    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> .


        

InferredDeviceToDevicePropertyfromconnectedFrom


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    sh:name "InferredDeviceToDevicePropertyfromconnectedFrom" ;
    sh:object [ sh:path s223:connectedFrom ] ;
    sh:predicate s223:connected ;
    sh:subject sh:this .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:Property ;
    sh:path s223:producesOutput .


        

Inlet or Outlet point property


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] a sh:PropertyShape ;
    sh:class s223:ConnectionPoint ;
    sh:minCount 2 ;
    sh:name "Inlet or Outlet point property" ;
    sh:path s223:hasConnectionPoint ;
    sh:severity sh:Info .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:path s223:hasProperty .


        

If a SystemConnectionPoint instance has a value of s223:Direction-Outlet for property hasDirection, then declare it as an instance of OutletSystemConnectionPoint.


@prefix 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 "If a SystemConnectionPoint instance has a value of s223:Direction-Outlet for property hasDirection, then declare it as an instance of OutletSystemConnectionPoint." ;
    sh:condition [ sh:property [ sh:hasValue s223:Direction-Outlet ;
                    sh:path s223:hasDirection ] ] ;
    sh:object s223:OutletSystemConnectionPoint ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


        

DeviceToConnectionShape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:Connection ;
    sh:name "DeviceToConnectionShape" ;
    sh:path s223:connectedThrough .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] sh:datatype xsd:decimal ;
    sh:path s223:hasDeadband .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:DomainSpace ;
    sh:path s223:encloses .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] a sh:PropertyShape ;
    sh:minCount 1 ;
    sh:path s223:hasValue .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:hasValue s223:Direction-Outlet ;
    sh:path s223:hasDirection .


        

Traverse down the contains hierarchy to determine the domain


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

[] a sh:TripleRule ;
    rdfs:comment "Traverse down the contains hierarchy to determine the domain" ;
    sh:object [ sh:path ( [ sh:zeroOrMorePath s223:contains ] s223:hasDomain ) ] ;
    sh:predicate s223:hasDomain ;
    sh:subject sh:this .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:PhysicalSpace ;
    sh:path s223:contains .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] sh:maxCount 0 ;
    sh:path s223:hasMeasurementLocation .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:ActuatableProperty ;
    sh:path s223:actuatesProperty .


        

ConnectionToDownstreamConnectableShape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:Connectable ;
    sh:name "ConnectionToDownstreamConnectableShape" ;
    sh:path s223:connectsTo .


        

If an instance of InletZoneConnectionPoint doesn't have a value for hasDirection, then set it.


@prefix 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 "If an instance of InletZoneConnectionPoint doesn't have a value for hasDirection, then set it." ;
    sh:object s223:Direction-Inlet ;
    sh:predicate s223:hasDirection ;
    sh:subject sh:this .


        

Infer the hasInletPressure property value


@prefix 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 hasInletPressure property value" ;
    sh:object [ sh:filterShape [ sh:property [ sh:hasValue <http://qudt.org/vocab/quantitykind/Pressure> ;
                            sh:path <http://qudt.org/schema/qudt/hasQuantityKind> ] ] ;
            sh:nodes [ sh:nodes [ sh:filterShape [ sh:hasValue s223:Direction-Inlet ;
                                    sh:path s223:hasDirection ] ;
                            sh:nodes [ sh:path s223:hasConnectionPoint ] ] ;
                    sh:path s223:hasProperty ] ] ;
    sh:predicate s223:hasInletPressure ;
    sh:subject sh:this .


        

Connection medium


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] sh:class s223:EnumerationKind-Medium ;
    sh:maxCount 1 ;
    sh:minCount 1 ;
    sh:name "Connection medium" ;
    sh:path s223:hasMedium .


        

InferredDeviceToConnectionProperty


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

[] a sh:TripleRule ;
    sh:name "InferredDeviceToConnectionProperty" ;
    sh:object [ sh:path ( s223:hasConnectionPoint s223:connectsThrough ) ] ;
    sh:predicate s223:connectedThrough ;
    sh:subject sh:this .


        

Junction is missing one or more Segments


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] sh:class s223:Segment ;
    sh:message "Junction is missing one or more Segments" ;
    sh:minCount 2 ;
    sh:path s223:lnx ;
    sh:severity sh:Info .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:EnumerationKind ;
    sh:path s223:hasAspect .


        

InferredMeasurementLocation


@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLRule ;
    sh:construct """
CONSTRUCT {$this s223:hasMeasurementLocation ?something .}
WHERE {
{
SELECT ?prop (COUNT (DISTINCT ?measurementLocation) AS ?count) $this
WHERE {
FILTER (NOT EXISTS {$this s223:hasMeasurementLocation ?anything}) .
FILTER (NOT EXISTS {$this a/rdfs:subClassOf* s223:DifferentialSensor}) .
FILTER (NOT EXISTS {$this a/rdfs:subClassOf* s223:VirtualSensor}) .
$this s223:observesProperty ?prop .
?measurementLocation s223:hasProperty ?prop .
}
GROUP BY ?prop $this
}
FILTER (?count = 1) .
?something s223:hasProperty ?prop .
{?something a/rdfs:subClassOf* s223:Device}
UNION
{?something a/rdfs:subClassOf* s223:Segment}
UNION
{?something a/rdfs:subClassOf* s223:ConnectionPoint}
UNION
{?something a/rdfs:subClassOf* s223:PhysicalSpace}
}
""" ;
    sh:name "InferredMeasurementLocation" ;
    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/data-rules> .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] sh:class s223:EnumerationKind-Medium ;
    sh:maxCount 1 ;
    sh:path s223:hasMedium .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] sh:class s223:EnumerationKind-Substance ;
    sh:maxCount 1 ;
    sh:path s223:ofSubstance .


        

ConnectionPoint direction


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

[] sh:maxCount 1 ;
    sh:name "ConnectionPoint direction" ;
    sh:or ( [ sh:hasValue s223:Direction-Inlet ] [ sh:hasValue s223:Direction-Outlet ] [ sh:hasValue s223:Direction-Bidirectional ] ) ;
    sh:path s223:hasDirection .


        

If a ConnectionPoint instance has a value of s223:Direction-Bidirectional for property hasDirection, then declare it as an instance of 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#> .

[] a sh:TripleRule ;
    rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Bidirectional for property hasDirection, then declare it as an instance of BidirectionalConnectionPoint." ;
    sh:condition [ sh:property [ sh:hasValue s223:Direction-Bidirectional ;
                    sh:path s223:hasDirection ] ] ;
    sh:object s223:BidirectionalConnectionPoint ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


        

Property Shape


@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLRule ;
    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:unit/qudt:hasQuantityKind ?qk .
}
GROUP BY $this
}
FILTER (?count = 1)
$this qudt:unit/qudt:hasQuantityKind ?uniqueqk .
}
""" ;
    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] a sh:PropertyShape ;
    sh:class s223:System ;
    sh:minCount 1 ;
    sh:path s223:relativeTo .


        

ParameterToFunctionBlock


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] sh:class s223:FunctionBlock ;
    sh:maxCount 1 ;
    sh:message "This Parameter must be associated with exactly 1 FunctionBlock." ;
    sh:minCount 1 ;
    sh:name "ParameterToFunctionBlock" ;
    sh:path s223:isParameterOf ;
    sh:severity sh:Info .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] a sh:PropertyShape ;
    sh:maxCount 0 ;
    sh:path s223:hasValue .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:PropertyShape ;
    sh:hasValue s223:Direction-Bidirectional ;
    sh:path s223:hasDirection .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] sh:class s223:ObservableProperty ;
    sh:maxCount 1 ;
    sh:path s223:observesProperty .


        

SystemtoSystemConnectionPointShape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:SystemConnectionPoint ;
    sh:name "SystemtoSystemConnectionPointShape" ;
    sh:path s223:hasSystemConnectionPoint .


        

If a SystemConnectionPoint instance has a value of s223:Direction-Bidirectional for property hasDirection, then declare it as an instance of BidirectionalSystemConnectionPoint.


@prefix 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 "If a SystemConnectionPoint instance has a value of s223:Direction-Bidirectional for property hasDirection, then declare it as an instance of BidirectionalSystemConnectionPoint." ;
    sh:condition [ sh:property [ sh:hasValue s223:Direction-Bidirectional ;
                    sh:path s223:hasDirection ] ] ;
    sh:object s223:BidirectionalSystemConnectionPoint ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


        

Infer the hasOutletPressure property value


@prefix 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 hasOutletPressure property value" ;
    sh:object [ sh:filterShape [ sh:property [ sh:hasValue <http://qudt.org/vocab/quantitykind/Pressure> ;
                            sh:path <http://qudt.org/schema/qudt/hasQuantityKind> ] ] ;
            sh:nodes [ sh:nodes [ sh:filterShape [ sh:hasValue s223:Direction-Outlet ;
                                    sh:path s223:hasDirection ] ;
                            sh:nodes [ sh:path s223:hasConnectionPoint ] ] ;
                    sh:path s223:hasProperty ] ] ;
    sh:predicate s223:hasOutletPressure ;
    sh:subject sh:this .


        

Property Shape


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

[] sh:or ( [ sh:class s223:ZoneConnectionPoint ] [ sh:class s223:ConnectionPoint ] ) ;
    sh:path s223:zoneConnected .


        

electric consumption shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] a sh:PropertyShape ;
    sh:class s223:QuantifiableProperty ;
    sh:minCount 0 ;
    sh:name "electric consumption shape" ;
    sh:path s223:electricConsumption .


        

If an instance of BidirectionalSystemConnectionPoint doesn't have a value for hasDirection, then set it.


@prefix 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 "If an instance of BidirectionalSystemConnectionPoint doesn't have a value for hasDirection, then set it." ;
    sh:object s223:Direction-Bidirectional ;
    sh:predicate s223:hasDirection ;
    sh:subject sh:this .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:Setpoint ;
    sh:path s223:hasSetpoint .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] sh:class s223:EnumerationKind-Medium ;
    sh:maxCount 1 ;
    sh:path s223:ofMedium .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] sh:class s223:EnumerationKind-Domain ;
    sh:maxCount 1 ;
    sh:minCount 1 ;
    sh:path s223:hasDomain .


        

device contains shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] a sh:PropertyShape ;
    sh:class s223:Device ;
    sh:minCount 0 ;
    sh:name "device contains shape" ;
    sh:path s223:contains .


        

If an instance of InletConnectionPoint doesn't have a value for hasDirection, then set it.


@prefix 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 "If an instance of InletConnectionPoint doesn't have a value for hasDirection, then set it." ;
    sh:object s223:Direction-Inlet ;
    sh:predicate s223:hasDirection ;
    sh:subject sh:this .


        

Property Shape


@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLRule ;
    sh:construct """
CONSTRUCT {$this s223:hasJunction ?sub .}
WHERE {
$this s223:contains ?sub .
?sub a s223:Junction .
}
""" ;
    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> .


        

system contains shape


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

[] a sh:PropertyShape ;
    sh:minCount 0 ;
    sh:name "system contains shape" ;
    sh:or ( [ sh:class s223:Device ] [ sh:class s223:System ] [ sh:class s223:Junction ] ) ;
    sh:path s223:contains .


        

InferredDeviceToDownstreamDeviceProperty


@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLRule ;
    sh:construct """
CONSTRUCT {$this s223:connectedTo ?device .}
WHERE {
$this s223:hasConnectionPoint ?cp .
?cp s223:hasDirection s223:Direction-Outlet .
?cp s223:connectsThrough/s223:connectsTo ?device .
}
""" ;
    sh:name "InferredDeviceToDownstreamDeviceProperty" ;
    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] sh:class s223:State ;
    sh:minCount 1 ;
    sh:path s223:inState .


        

If a SystemConnectionPoint instance has a value of s223:Direction-Inlet for property hasDirection, then declare it as an instance of InletSystemConnectionPoint.


@prefix 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 "If a SystemConnectionPoint instance has a value of s223:Direction-Inlet for property hasDirection, then declare it as an instance of InletSystemConnectionPoint." ;
    sh:condition [ sh:property [ sh:hasValue s223:Direction-Inlet ;
                    sh:path s223:hasDirection ] ] ;
    sh:object s223:InletSystemConnectionPoint ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


        

ConnectionToUpstreamConnectableShape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:Connectable ;
    sh:name "ConnectionToUpstreamConnectableShape" ;
    sh:path s223:connectsFrom .


        

InferredDeviceToDevicePropertyfromconnectedTo


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    sh:name "InferredDeviceToDevicePropertyfromconnectedTo" ;
    sh:object [ sh:path s223:connectedTo ] ;
    sh:predicate s223:connected ;
    sh:subject sh:this .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] sh:maxCount 2 ;
    sh:minCount 2 ;
    sh:path s223:hasMeasurementLocation .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:QuantifiableProperty ;
    sh:path s223:hasMinRange .


        

If an instance of BidirectionalConnectionPoint doesn't have a value for hasDirection, then set it.


@prefix 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 "If an instance of BidirectionalConnectionPoint doesn't have a value for hasDirection, then set it." ;
    sh:object s223:Direction-Bidirectional ;
    sh:predicate s223:hasDirection ;
    sh:subject sh:this .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:hasValue s223:Direction-Bidirectional ;
    sh:path s223:hasDirection .


        

InferredDeviceToConnectionPointCnxPropertyFromInverse


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:TripleRule ;
    sh:name "InferredDeviceToConnectionPointCnxPropertyFromInverse" ;
    sh:object [ sh:path [ sh:inversePath s223:isConnectionPointOf ] ] ;
    sh:predicate s223:cnx ;
    sh:subject sh:this .


        

Connector datatype


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] sh:class s223:Datatype ;
    sh:maxCount 1 ;
    sh:name "Connector datatype" ;
    sh:path s223:hasDatatype .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:Segment ;
    sh:path s223:lnx .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:QuantifiableProperty ;
    sh:path s223:hasMeasurementPrecision .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:Property ;
    sh:path s223:usesInput .


        

ConnectionPointToDeviceShape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] sh:class s223:Connectable ;
    sh:maxCount 1 ;
    sh:name "ConnectionPointToDeviceShape" ;
    sh:path s223:isConnectionPointOf .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:Connectable ;
    sh:path s223:connectedFrom .


        

If a ConnectionPoint instance has a value of s223:Direction-Outlet for property hasDirection, then declare it as an instance of OutletConnectionPoint.


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

[] a sh:TripleRule ;
    rdfs:comment "If a ConnectionPoint instance has a value of s223:Direction-Outlet for property hasDirection, then declare it as an instance of OutletConnectionPoint." ;
    sh:condition [ sh:property [ sh:hasValue s223:Direction-Outlet ;
                    sh:path s223:hasDirection ] ] ;
    sh:object s223:OutletConnectionPoint ;
    sh:predicate rdf:type ;
    sh:subject sh:this .


        

Property Shape


@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLRule ;
    sh:construct """
CONSTRUCT {
?o ?p $this .
}
WHERE {
  $this ?p ?o .
  ?p a s223:SymmetricProperty .
}
			""" ;
    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/owl-subset> .


        

Property Shape


@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:hasValue <http://qudt.org/vocab/quantitykind/Pressure> ;
    sh:path <http://qudt.org/schema/qudt/hasQuantityKind> .


        

Air inlet point


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

[] a sh:PropertyShape ;
    sh:class s223:ConnectionPoint ;
    sh:minCount 2 ;
    sh:name "Air inlet point" ;
    sh:path s223:hasConnectionPoint .


        

InferredReturnsToProperty


@prefix sh: <http://www.w3.org/ns/shacl#> .

[] a sh:SPARQLRule ;
    sh:construct """
CONSTRUCT {$this s223:returnsTo ?device .}
WHERE {
$this s223:hasRole role:Return .
$this s223:connectsTo ?device .
}
""" ;
    sh:name "InferredReturnsToProperty" ;
    sh:prefixes <http://data.ashrae.org/standard223/1.0/inference/model-rules> .


        

Property Shape


@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

[] sh:class s223:EnumerationKind-Domain ;
    sh:path s223:hasDomain .


        

If an instance of PhysicalSpace doesn't have a value for hasDomain, then set it.


@prefix 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 "If an instance of PhysicalSpace doesn't have a value for hasDomain, then set it." ;
    sh:object s223:Domain-Physical ;
    sh:predicate s223:hasDomain ;
    sh:subject sh:this .


        

Property Shape


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

[] sh:or ( [ sh:class s223:Connectable ] [ sh:class s223:Connection ] [ sh:class s223:Segment ] [ sh:class s223:ConnectionPoint ] ) ;
    sh:path s223:hasMeasurementLocation .


        

has Contextual Role Shape

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


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

s223:hasContextualRoleShape a sh:PropertyShape ;
    rdfs:label "has Contextual Role Shape" ;
    sh:node s223:ContextualRole ;
    sh:path s223:hasContextualRole .


        

has Property Shape

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


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

s223:hasPropertyShape a sh:PropertyShape ;
    rdfs:label "has Property Shape" ;
    sh:class s223:Property ;
    sh:path s223:hasProperty .