Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions bricksrc/collections.py
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,17 @@
]
},
},
"Automation_Group": {
"tags": [TAG.Collection, TAG.Automation, TAG.Group],
"constraints": {
BRICK.hasPart: [
BRICK.Equipment,
BRICK.Point,
BRICK.Automation_Group,
BRICK.Point_Group,
]
},
},
"Loop": {
"tags": [TAG.Collection, TAG.Loop],
"subclasses": loop_subclasses,
Expand Down
1 change: 1 addition & 0 deletions bricksrc/definitions.csv
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ https://brickschema.org/schema/Brick#Automatic_Switch,An automatic switch operat
https://brickschema.org/schema/Brick#Automatic_Tint_Window,A window with tint control.,
https://brickschema.org/schema/Brick#Automatic_Tint_Window_Array,An array of Automatic Tint Windows.,
https://brickschema.org/schema/Brick#Automatic_Transfer_Switch,An automatic transfer switch (ATS) is a device that automatically transfers a power supply from its primary source to a backup source when it senses a failure or outage in the primary source.,
https://brickschema.org/schema/Brick#Automation_Group,"A collection of equipment, points, and other automation groups that are logically grouped together for the purpose of management, control, or organization within a building automation system. We encourage that you develop your own sub-classes of Automation_Group to represent specific groupings relevant to your use case.",
https://brickschema.org/schema/Brick#Availability_Status,"Indicates if a piece of equipment, system, or functionality is available for operation",
https://brickschema.org/schema/Brick#Average_Cooling_Demand_Sensor,Measures the average power consumed by a cooling process as the amount of power consumed over some interval,
https://brickschema.org/schema/Brick#Average_Exhaust_Air_Static_Pressure_Sensor,The computed average static pressure of air in exhaust regions of an HVAC system over some period of time,
Expand Down
2 changes: 1 addition & 1 deletion bricksrc/equipment.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@
"HVAC_Equipment": {
"tags": [TAG.HVAC, TAG.Equipment],
"constraints": {
BRICK.hasPart: [BRICK.HVAC_Equipment, BRICK.Valve],
BRICK.hasPart: [BRICK.HVAC_Equipment, BRICK.Valve, BRICK.Automation_Group],
BRICK.feeds: [BRICK.HVAC_Equipment, BRICK.Valve, REC.Space],
},
},
Expand Down
16 changes: 3 additions & 13 deletions bricksrc/recpatches.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -1174,16 +1174,6 @@ brick:Switch_Room
brick:deprecationMitigationMessage "Brick location classes are being phased out in favor of RealEstateCore classes. For a replacement, consider rec:DataServerRoom" ;
brick:isReplacedBy rec:DataServerRoom ;
.
brick:Collection
rdfs:subClassOf rec:Collection ;
sh:property [
rdf:type sh:PropertyShape ;
sh:path rec:includes ;
sh:minCount 1 ;
sh:name "includes" ;
sh:nodeKind sh:IRI ;
] ;
.
brick:Team_Room
owl:deprecated "true"^^xsd:boolean ;
brick:deprecatedInVersion "1.4.0" ;
Expand Down Expand Up @@ -1577,7 +1567,7 @@ brick:ICT_Equipment sh:property [ a sh:PropertyShape ;
sh:name "Standard"^^xsd:string ;
sh:path rec:standard ] .

brick:Ethernet_Port sh:property
brick:Ethernet_Port sh:property
[ a sh:PropertyShape ;
sh:datatype xsd:float ;
sh:description "The data rate of the port in Mib/s, i.e. mebibit (2^20 bit) per second."^^xsd:string ;
Expand All @@ -1591,15 +1581,15 @@ brick:Ethernet_Port sh:property
sh:name "PoE Type"^^xsd:string ;
sh:path rec:poeType ] .

brick:Wireless_Access_Point sh:property [
brick:Wireless_Access_Point sh:property [
a sh:PropertyShape ;
sh:datatype xsd:string ;
sh:in ( "WiFi4"^^xsd:string "WiFi5"^^xsd:string "WiFi6"^^xsd:string "WiFi6E"^^xsd:string "WiFi7"^^xsd:string ) ;
sh:maxCount 1 ;
sh:name "Generation"^^xsd:string ;
sh:path rec:generation ] .

brick:Sensor_Equipment sh:property
brick:Sensor_Equipment sh:property
[ a sh:PropertyShape ;
sh:datatype xsd:double ;
sh:name "Battery Percentage"^^xsd:string ;
Expand Down
7 changes: 5 additions & 2 deletions bricksrc/root_class_shapes.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,11 @@ brick:Equipment a sh:NodeShape ;
[ sh:class brick:EntityProperty ; sh:message "Instances of Equipment cannot be EntityProperties." ] ;
sh:property [
sh:path brick:hasPart;
sh:class brick:Equipment;
sh:message "A piece of Equipment's parts should be always other Equipment."
sh:or (
[ sh:class brick:Equipment ]
[ sh:class brick:Automation_Group ]
) ;
sh:message "A piece of Equipment's parts should be always other Equipment or Automation Groups"
];
sh:property [
sh:path brick:hasPoint ;
Expand Down
39 changes: 39 additions & 0 deletions examples/collection/collection.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
@prefix brick: <https://brickschema.org/schema/Brick#> .
@prefix bldg: <urn:example/collection#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix mpo: <http://my-private-ontology.com/> .

<http://example.com/collection> a owl:Ontology ;
owl:imports <https://brickschema.org/schema/1.4/Brick> .

# my custom class for frost detection group in my private ontology
mpo:FrostDetectionGroup a owl:Class ;
# Here, we did *not* define this as a subclass of brick:Automation_Group.
# For this reason, bldg:FrostDetection is explicitly typed as both.
# We can always subclass brick:Automation_Group if needed, and in that
# case we don't need the explicit rdf:type brick:Automation_Group below.
rdfs:label "Frost Detection Group" ;
rdfs:comment "An automation group that includes components for frost detection in an AHU." .

bldg:Ahu a brick:AHU ;
brick:hasPart bldg:Hcl ;
brick:hasPart bldg:Fan ;
brick:hasPart bldg:FrostDetection .

bldg:Hcl a brick:Heating_Coil .

bldg:Fan a brick:Discharge_Fan .

bldg:FrostDetection a brick:Automation_Group, mpo:FrostDetectionGroup ;
brick:hasPart bldg:FrostDetectionSensor ;
brick:hasPart bldg:FrostDetectionMonitoring .

bldg:FrostDetectionSensor a brick:Sensor_Equipment ;
brick:hasPoint bldg:FrostDetected .

bldg:FrostDetectionMonitoring a brick:Enable_Command .

bldg:FrostDetected a brick:Frost_Sensor .