From 21c451b6d91dc6bce29211c22517ff2e046eac60 Mon Sep 17 00:00:00 2001 From: Gabe Fierro Date: Wed, 10 Apr 2024 15:21:49 -0600 Subject: [PATCH] Finalize 1.4 release (#625) * 1.3 -> 1.4 * add more REC class mappings * add REC ICT equipment --- bricksrc/definitions.csv | 2 +- bricksrc/equipment.py | 68 +++++- bricksrc/rules.ttl | 48 ++-- bricksrc/version.py | 4 +- .../air_quality_sensor_example.ttl | 4 + examples/bacnet/bacnet.ttl | 4 + examples/building_meter/building_meter.ttl | 4 + examples/chiller-system/chiller-plant.ttl | 4 + examples/evse/evse.ttl | 4 + examples/example1/example.ttl | 4 + examples/g36/g36-ahu-a9.ttl | 3 + examples/g36/g36-combined-ahu-vav.ttl | 3 + examples/g36/g36-vav-a2.ttl | 3 + examples/ifc/ifc-with-new-reference.ttl | 4 + examples/ifc/ifc.ttl | 4 + .../last_known_value/last_known_value.ttl | 2 +- examples/rec-with-brick/building.ttl | 4 + examples/simple_apartment/apartment.ttl | 4 + examples/solar_array/solar_array.ttl | 2 +- .../main-and-submeter.ttl | 4 + .../multiple-submeters.ttl | 4 + .../submeter_hierarchies/single-meter.ttl | 4 + .../submeter_hierarchies/virtual-meter.ttl | 4 + .../brick_extension_MODEL_SP223_all-v1.0.ttl | 4 +- .../brick_extension_interpret_223.shapes.ttl | 4 +- .../brick_extension_s223_extension.shapes.ttl | 4 +- handle_extensions.py | 2 +- support/brickpatches.ttl | 213 +++++++++++++++++- support/rec.ttl | 4 +- 29 files changed, 381 insertions(+), 41 deletions(-) diff --git a/bricksrc/definitions.csv b/bricksrc/definitions.csv index ac48e5f3..58fa94b0 100644 --- a/bricksrc/definitions.csv +++ b/bricksrc/definitions.csv @@ -464,7 +464,7 @@ https://brickschema.org/schema/Brick#Fire_Safety_System,"A system containing dev https://brickschema.org/schema/Brick#Fire_Sensor,Measures the presence of fire, https://brickschema.org/schema/Brick#Fire_Sprinkler_Thermal_Expansion_Tank,A specialized thermal expansion tank that is part of a building's fire suppression system., https://brickschema.org/schema/Brick#Fire_Sprinkler_Water_Storage_Tank,A specialized tank intended to store water that can be quickly accessed for fire suppression., -https://brickschema.org/schema/Brick#Fire_Zone,combustion chamber in a furnace or boiler., +https://brickschema.org/schema/Brick#Fire_Zone,A logical subdivision of a building that is monitored for fire; may also have a classification for the type of fire hazard that can occur, https://brickschema.org/schema/Brick#First_Aid_Room,A room for a person with minor injuries can be treated or temporarily treated until transferred to a more advanced medical facility, https://brickschema.org/schema/Brick#Floor,"A level, typically representing a horizontal aggregation of spaces that are vertically bound. (referring to IFC)", https://brickschema.org/schema/Brick#Floor_Fan_Coil_Unit,"A fan coil unit installed on the floor, typically against a wall, for providing heating and cooling in residential or small office spaces", diff --git a/bricksrc/equipment.py b/bricksrc/equipment.py index 5070b902..678be2c5 100644 --- a/bricksrc/equipment.py +++ b/bricksrc/equipment.py @@ -15,10 +15,73 @@ "Tablet": { "tags": [TAG.Equipment, TAG.ICT, TAG.Hardware, TAG.Tablet] }, + "Server": { + "tags": [TAG.Equipment, TAG.ICT, TAG.Hardware, TAG.Server] + }, }, }, + "ICT_Rack": { + "tags": [TAG.Equipment, TAG.ICT, TAG.Rack], + }, "Sensor_Equipment": { "tags": [TAG.Sensor, TAG.Equipment, TAG.ICT], + "subclasses": { + "Daylight_Sensor_Equipment": { + "tags": [TAG.Daylight, TAG.Sensor, TAG.Equipment, TAG.ICT], + }, + "IAQ_Sensor_Equipment": { + "tags": [TAG.IAQ, TAG.Sensor, TAG.Equipment, TAG.ICT], + }, + "Leak_Detector_Equipment": { + "tags": [TAG.Leak, TAG.Detector, TAG.Equipment, TAG.ICT], + }, + "Occupancy_Sensor_Equipment": { + "tags": [TAG.Occupancy, TAG.Sensor, TAG.Equipment, TAG.ICT], + }, + "People_Count_Sensor_Equipment": { + "tags": [TAG.People, TAG.Count, TAG.Sensor, TAG.Equipment, TAG.ICT], + }, + "Thermostat_Equipment": { + "tags": [TAG.Thermostat, TAG.Equipment, TAG.ICT], + }, + "Vibration_Sensor_Equipment": { + "tags": [TAG.Vibration, TAG.Sensor, TAG.Equipment, TAG.ICT], + }, + }, + }, + "Controller": { + "tags": [TAG.Equipment, TAG.ICT, TAG.Controller], + "subclasses": { + "BACnet_Controller": { + "tags": [TAG.Equipment, TAG.BACnet, TAG.Controller], + }, + "Modbus_Controller": { + "tags": [TAG.Equipment, TAG.Modbus, TAG.Controller], + }, + }, + }, + "Data_Network_Equipment": { + "tags": [TAG.Equipment, TAG.Data, TAG.Network], + "subclasses": { + "Ethernet_Port": { + "tags": [TAG.Ethernet, TAG.Port, TAG.Equipment], + }, + "Ethernet_Switch": { + "tags": [TAG.Ethernet, TAG.Switch, TAG.Equipment], + }, + "Network_Router": { + "tags": [TAG.Network, TAG.Router, TAG.Equipment], + }, + "Network_Security_Equipment": { + "tags": [TAG.Network, TAG.Security, TAG.Equipment], + }, + "Wireless_Access_Point": { + "tags": [TAG.Wireless, TAG.Access, TAG.Point, TAG.Equipment], + }, + }, + }, + "Gateway": { + "tags": [TAG.Equipment, TAG.Gateway, TAG.ICT], }, "Audio_Visual_Equipment": { "tags": [TAG.Equipment, TAG.ICT, TAG.Audio, TAG.Visual] @@ -489,7 +552,10 @@ }, "Hot_Deck": {"tags": [TAG.Equipment, TAG.Hot, TAG.Deck]}, "Cold_Deck": {"tags": [TAG.Equipment, TAG.Cold, TAG.Deck]}, - "Thermostat": {"tags": [TAG.Equipment, TAG.Thermostat]}, + "Thermostat": { + "tags": [TAG.Equipment, TAG.Thermostat], + "parents": [BRICK.Sensor_Equipment], + }, "Terminal_Unit": { "tags": [TAG.Equipment, TAG.Terminal, TAG.Unit], "subclasses": { diff --git a/bricksrc/rules.ttl b/bricksrc/rules.ttl index 9a140a2b..24526442 100644 --- a/bricksrc/rules.ttl +++ b/bricksrc/rules.ttl @@ -34,7 +34,7 @@ CONSTRUCT { UNION { ?t2 owl:equivalentProperty $this } }""" ; - sh:prefixes ; + sh:prefixes ; ] ; sh:targetSubjectsOf owl:equivalentProperty ; . @@ -51,7 +51,7 @@ CONSTRUCT { ?s $this ?o . { $this rdfs:subPropertyOf ?t2 } }""" ; - sh:prefixes ; + sh:prefixes ; ] ; sh:targetSubjectsOf rdfs:subPropertyOf ; . @@ -70,7 +70,7 @@ WHERE { ?invP owl:inverseOf ?p . } """ ; - sh:prefixes ; + sh:prefixes ; ] ; sh:targetClass brick:Entity ; . @@ -88,7 +88,7 @@ WHERE { ?invP owl:inverseOf ?p . } """ ; - sh:prefixes ; + sh:prefixes ; ] ; sh:targetClass brick:Entity ; . @@ -107,7 +107,7 @@ WHERE { ?prop a owl:SymmetricProperty . } """ ; - sh:prefixes ; + sh:prefixes ; ] ; sh:targetClass brick:Entity ; . @@ -123,7 +123,7 @@ $this brick:hasTag ?tag . $this rdf:type/rdfs:subClassOf* ?class . ?class brick:hasAssociatedTag ?tag . }""" ; - sh:prefixes ; + sh:prefixes ; ] ; sh:targetClass brick:Entity ; . @@ -141,7 +141,7 @@ CONSTRUCT { ?ent $this ?val . FILTER NOT EXISTS { ?val a ?shape } }""" ; - sh:prefixes ; + sh:prefixes ; ] ; sh:targetSubjectsOf rdfs:range ; . @@ -163,7 +163,7 @@ bsh:RDFSSubPropertyOfRuleForEntityProperties ?o ?ep ?eo . } """ ; - sh:prefixes ; + sh:prefixes ; ] ; sh:targetSubjectsOf rdfs:subPropertyOf ; . @@ -182,7 +182,7 @@ bsh:DeprecationRule CONSTRUCT { $this owl:deprecated true } WHERE { $this brick:deprecation ?dep } """ ; - sh:prefixes ; + sh:prefixes ; ] ; sh:property [ sh:path brick:deprecatedInVersion ; @@ -215,7 +215,7 @@ $this a ?class . ?class brick:isReplacedBy ?newClass . FILTER NOT EXISTS {$this a ?newClass} }""" ; - sh:prefixes ; + sh:prefixes ; ] ; sh:targetClass brick:Entity ; . @@ -224,7 +224,7 @@ bsh:DeprecationRuleForInstances a sh:NodeShape ; sh:severity sh:Warning ; sh:sparql [ a sh:SPARQLConstraint ; sh:message "{$this} has type {?class} which was deprecated in version {?depver}. For now, it has been updated to also be of type {?newClass}." ; -sh:prefixes ; +sh:prefixes ; sh:select """SELECT $this ?class ?newClass ?depver WHERE { $this a ?class . ?class owl:deprecated true . @@ -275,7 +275,7 @@ CONSTRUCT { UNION { $this owl:equivalentClass ?t2 } }""" ; - sh:prefixes ; + sh:prefixes ; ] ; sh:targetSubjectsOf owl:equivalentClass ; . @@ -293,7 +293,7 @@ CONSTRUCT { UNION { $this owl:equivalentClass ?t2 } }""" ; - sh:prefixes ; + sh:prefixes ; ] ; sh:targetObjectsOf owl:equivalentClass ; . @@ -331,7 +331,7 @@ bsh:BuildingMeterRule a sh:NodeShape ; FILTER (!strStarts(str(?type), "https://brickschema.org/schema/Brick#Building_")) } """ ; - sh:prefixes ; + sh:prefixes ; ] ; . @@ -340,7 +340,7 @@ bsh:VirtualMeterRule a sh:NodeShape ; sh:sparql [ a sh:SPARQLConstraint ; sh:message "Only meters can have the isVirtualMeter property be true" ; - sh:prefixes ; + sh:prefixes ; sh:select """ SELECT $this WHERE { $this brick:isVirtualMeter/brick:value true . @@ -354,7 +354,7 @@ bsh:MeterInferSubstance a sh:NodeShape ; sh:targetClass brick:Meter ; sh:rule [ a sh:SPARQLRule ; - sh:prefixes ; + sh:prefixes ; sh:construct """ CONSTRUCT { $this brick:hasSubstance ?substance . @@ -373,7 +373,7 @@ bsh:MeterInferSubclassNonBuildingMeter a sh:NodeShape ; sh:targetClass brick:Meter ; sh:rule [ a sh:SPARQLRule ; - sh:prefixes ; + sh:prefixes ; sh:construct """ CONSTRUCT { $this rdf:type ?metertype . @@ -397,7 +397,7 @@ bsh:MeterInferSubclassBuildingMeter a sh:NodeShape ; sh:targetClass brick:Building_Meter ; sh:rule [ a sh:SPARQLRule ; - sh:prefixes ; + sh:prefixes ; sh:construct """ CONSTRUCT { $this rdf:type ?metertype . @@ -425,7 +425,7 @@ bsh:TimeseriesReferenceOnPointsConstraint a sh:NodeShape ; sh:sparql [ a sh:SPARQLConstraint ; sh:message "Only Brick Points can have external timeseries references" ; - sh:prefixes ; + sh:prefixes ; sh:select """ SELECT $this WHERE { @@ -448,7 +448,7 @@ bsh:PointsHaveQuantityKinds a sh:NodeShape ; FILTER NOT EXISTS { ?class owl:deprecated true } } """ ; - sh:prefixes ; + sh:prefixes ; ] ; sh:target [ a sh:SPARQLTarget ; @@ -459,7 +459,7 @@ bsh:PointsHaveQuantityKinds a sh:NodeShape ; FILTER NOT EXISTS { ?class owl:deprecated true } } """ ; - sh:prefixes ; + sh:prefixes ; ] ; sh:property [ sh:class qudt:QuantityKind ; @@ -505,7 +505,7 @@ bsh:CollectionIncludesEquipment a sh:NodeShape ; } } """ ; - sh:prefixes ; + sh:prefixes ; ] ; . @@ -516,7 +516,7 @@ bsh:AddDefaultEVSEChargerDirection a sh:NodeShape ; sh:targetClass brick:Electric_Vehicle_Charging_Station ; sh:rule [ a sh:SPARQLRule ; - sh:prefixes ; + sh:prefixes ; sh:construct """ CONSTRUCT { $this brick:electricVehicleChargerDirectionality [ brick:value "unidirectional" ] @@ -540,7 +540,7 @@ bsh:InheritEVSEChargerDirection a sh:NodeShape ; sh:targetClass brick:Electric_Vehicle_Charging_Port ; sh:rule [ a sh:SPARQLRule ; - sh:prefixes ; + sh:prefixes ; sh:construct """ CONSTRUCT { $this brick:electricVehicleChargerDirectionality ?direction diff --git a/bricksrc/version.py b/bricksrc/version.py index f7e11f29..02dd580d 100644 --- a/bricksrc/version.py +++ b/bricksrc/version.py @@ -11,7 +11,7 @@ # the simplified (no patch version) version number for Brick. Intended for # inclusion in the Brick namespace URI -BRICK_VERSION = f"{BRICK_MAJOR_VERSION}.{BRICK_MINOR_VERSION}-rc1" +BRICK_VERSION = f"{BRICK_MAJOR_VERSION}.{BRICK_MINOR_VERSION}" # the full "semantic verersion" including the patch number -BRICK_FULL_VERSION = f"{BRICK_VERSION}.{BRICK_PATCH_VERSION}-rc1" +BRICK_FULL_VERSION = f"{BRICK_VERSION}.{BRICK_PATCH_VERSION}" diff --git a/examples/air_quality_sensors/air_quality_sensor_example.ttl b/examples/air_quality_sensors/air_quality_sensor_example.ttl index 1702dfee..6c66930c 100644 --- a/examples/air_quality_sensors/air_quality_sensor_example.ttl +++ b/examples/air_quality_sensors/air_quality_sensor_example.ttl @@ -2,6 +2,10 @@ @prefix brick: . @prefix unit: . @prefix xsd: . +@prefix owl: . + + a owl:Ontology ; + owl:imports . bldg:air_temp_sensor a brick:Air_Temperature_Sensor ; brick:hasUnit unit:DEG_C ; diff --git a/examples/bacnet/bacnet.ttl b/examples/bacnet/bacnet.ttl index 6bbfcccd..ff06fab9 100644 --- a/examples/bacnet/bacnet.ttl +++ b/examples/bacnet/bacnet.ttl @@ -4,6 +4,10 @@ @prefix unit: . @prefix xsd: . @prefix ref: . +@prefix owl: . + + a owl:Ontology ; + owl:imports . bldg:sample-device a bacnet:BACnetDevice ; bacnet:device-instance 123 ; diff --git a/examples/building_meter/building_meter.ttl b/examples/building_meter/building_meter.ttl index a206ec33..93a538ef 100644 --- a/examples/building_meter/building_meter.ttl +++ b/examples/building_meter/building_meter.ttl @@ -1,6 +1,10 @@ @prefix bldg: . @prefix brick: . @prefix unit: . +@prefix owl: . + + a owl:Ontology ; + owl:imports . bldg:building_energy_sensor a brick:Energy_Sensor ; brick:hasUnit unit:KiloW-HR ; diff --git a/examples/chiller-system/chiller-plant.ttl b/examples/chiller-system/chiller-plant.ttl index 04ec1e9e..a0f9545a 100644 --- a/examples/chiller-system/chiller-plant.ttl +++ b/examples/chiller-system/chiller-plant.ttl @@ -2,6 +2,10 @@ @prefix brick: . @prefix unit: . @prefix xsd: . +@prefix owl: . + + a owl:Ontology ; + owl:imports . :cws a brick:Chilled_Water_System ; brick:hasPart :ct-1, :ct-2, :ct-3, diff --git a/examples/evse/evse.ttl b/examples/evse/evse.ttl index ac613199..82f36440 100644 --- a/examples/evse/evse.ttl +++ b/examples/evse/evse.ttl @@ -1,8 +1,12 @@ @prefix brick: . @prefix unit: . @prefix xsd: . +@prefix owl: . @prefix : . + a owl:Ontology ; + owl:imports . + :parking_lot a brick:Parking_Structure ; brick:isLocationOf :hub . diff --git a/examples/example1/example.ttl b/examples/example1/example.ttl index c58b7656..a68e5a19 100644 --- a/examples/example1/example.ttl +++ b/examples/example1/example.ttl @@ -1,5 +1,9 @@ @prefix bldg: . @prefix brick: . +@prefix owl: . + + a owl:Ontology ; + owl:imports . bldg:AHU1A a brick:Air_Handler_Unit ; brick:feeds bldg:VAV2-4, diff --git a/examples/g36/g36-ahu-a9.ttl b/examples/g36/g36-ahu-a9.ttl index 57d0824c..3f71591c 100644 --- a/examples/g36/g36-ahu-a9.ttl +++ b/examples/g36/g36-ahu-a9.ttl @@ -6,6 +6,9 @@ @prefix unit: . @prefix ex: . + a owl:Ontology ; + owl:imports . + # AHU (A-9 from G36) ex:ahu1 a brick:AHU ; brick:hasPart ex:exad1, ex:rad1, ex:ead1, ex:raf1, ex:saf1, diff --git a/examples/g36/g36-combined-ahu-vav.ttl b/examples/g36/g36-combined-ahu-vav.ttl index bc58dd66..c3cb256b 100644 --- a/examples/g36/g36-combined-ahu-vav.ttl +++ b/examples/g36/g36-combined-ahu-vav.ttl @@ -6,6 +6,9 @@ @prefix unit: . @prefix ex: . + a owl:Ontology ; + owl:imports . + # AHU (A-9 from G36) ex:ahu1 a brick:AHU ; brick:hasPart ex:exad1, ex:rad1, ex:ead1, ex:raf1, ex:saf1, diff --git a/examples/g36/g36-vav-a2.ttl b/examples/g36/g36-vav-a2.ttl index 5216a659..00411ff5 100644 --- a/examples/g36/g36-vav-a2.ttl +++ b/examples/g36/g36-vav-a2.ttl @@ -6,6 +6,9 @@ @prefix unit: . @prefix ex: . + a owl:Ontology ; + owl:imports . + # VAV (A-2 from G36) ex:vav1 a brick:VAV ; diff --git a/examples/ifc/ifc-with-new-reference.ttl b/examples/ifc/ifc-with-new-reference.ttl index 51723fe3..ab430bf0 100644 --- a/examples/ifc/ifc-with-new-reference.ttl +++ b/examples/ifc/ifc-with-new-reference.ttl @@ -1,6 +1,10 @@ @prefix bldg: . @prefix brick: . @prefix ref: . +@prefix owl: . + + a owl:Ontology ; + owl:imports . bldg:space a brick:Space ; ref:hasExternalReference [ a ref:IFCReference ; diff --git a/examples/ifc/ifc.ttl b/examples/ifc/ifc.ttl index 4e0c375a..c27f5649 100644 --- a/examples/ifc/ifc.ttl +++ b/examples/ifc/ifc.ttl @@ -1,6 +1,10 @@ @prefix bldg: . @prefix brick: . @prefix ref: . +@prefix owl: . + + a owl:Ontology ; + owl:imports . bldg:ifc_project a ref:ifcProject ; ref:ifcProjectID "abc" ; diff --git a/examples/last_known_value/last_known_value.ttl b/examples/last_known_value/last_known_value.ttl index cae9544f..b2f44648 100644 --- a/examples/last_known_value/last_known_value.ttl +++ b/examples/last_known_value/last_known_value.ttl @@ -8,7 +8,7 @@ @prefix owl: . bldg: a owl:Ontology ; - owl:imports . + owl:imports . bldg:sample-device a bacnet:BACnetDevice ; bacnet:device-instance 123 ; diff --git a/examples/rec-with-brick/building.ttl b/examples/rec-with-brick/building.ttl index 9a71735c..80bd180e 100644 --- a/examples/rec-with-brick/building.ttl +++ b/examples/rec-with-brick/building.ttl @@ -3,6 +3,10 @@ @prefix brick: . @prefix rdf: . @prefix rdfs: . +@prefix owl: . + + a owl:Ontology ; + owl:imports . ex:Building1 a rec:Building . diff --git a/examples/simple_apartment/apartment.ttl b/examples/simple_apartment/apartment.ttl index 5e06a02e..f0a5ac91 100644 --- a/examples/simple_apartment/apartment.ttl +++ b/examples/simple_apartment/apartment.ttl @@ -1,6 +1,10 @@ @prefix apt: . @prefix brick: . @prefix rdfs: . +@prefix owl: . + + a owl:Ontology ; + owl:imports . apt:bedroom a brick:Room ; brick:isPartOf apt:bedroom_lighting, diff --git a/examples/solar_array/solar_array.ttl b/examples/solar_array/solar_array.ttl index 2796051b..f0e54af3 100644 --- a/examples/solar_array/solar_array.ttl +++ b/examples/solar_array/solar_array.ttl @@ -5,7 +5,7 @@ @prefix owl: . a owl:Ontology ; - owl:imports . + owl:imports . # shared efficiency rating site:panel_efficiency a brick:EfficiencyShape ; diff --git a/examples/submeter_hierarchies/main-and-submeter.ttl b/examples/submeter_hierarchies/main-and-submeter.ttl index b74c10ba..37c4d003 100644 --- a/examples/submeter_hierarchies/main-and-submeter.ttl +++ b/examples/submeter_hierarchies/main-and-submeter.ttl @@ -1,6 +1,10 @@ @prefix bldg: . @prefix brick: . @prefix unit: . +@prefix owl: . + + a owl:Ontology ; + owl:imports . bldg:mysite a brick:Site ; brick:hasPart bldg:mybldg . diff --git a/examples/submeter_hierarchies/multiple-submeters.ttl b/examples/submeter_hierarchies/multiple-submeters.ttl index 431a6870..42d8558b 100644 --- a/examples/submeter_hierarchies/multiple-submeters.ttl +++ b/examples/submeter_hierarchies/multiple-submeters.ttl @@ -1,6 +1,10 @@ @prefix bldg: . @prefix brick: . @prefix unit: . +@prefix owl: . + + a owl:Ontology ; + owl:imports . bldg:mysite a brick:Site ; brick:hasPart bldg:mybldg . diff --git a/examples/submeter_hierarchies/single-meter.ttl b/examples/submeter_hierarchies/single-meter.ttl index 0d269a4b..fa30100d 100644 --- a/examples/submeter_hierarchies/single-meter.ttl +++ b/examples/submeter_hierarchies/single-meter.ttl @@ -1,6 +1,10 @@ @prefix bldg: . @prefix brick: . @prefix unit: . +@prefix owl: . + + a owl:Ontology ; + owl:imports . bldg:mysite a brick:Site ; brick:hasPart bldg:mybldg . diff --git a/examples/submeter_hierarchies/virtual-meter.ttl b/examples/submeter_hierarchies/virtual-meter.ttl index 78d53e5c..f8718be5 100644 --- a/examples/submeter_hierarchies/virtual-meter.ttl +++ b/examples/submeter_hierarchies/virtual-meter.ttl @@ -1,6 +1,10 @@ @prefix bldg: . @prefix brick: . @prefix unit: . +@prefix owl: . + + a owl:Ontology ; + owl:imports . bldg:mysite a brick:Site ; brick:hasPart bldg:mybldg . diff --git a/extensions/brick_extension_MODEL_SP223_all-v1.0.ttl b/extensions/brick_extension_MODEL_SP223_all-v1.0.ttl index d6620c86..04ce7247 100644 --- a/extensions/brick_extension_MODEL_SP223_all-v1.0.ttl +++ b/extensions/brick_extension_MODEL_SP223_all-v1.0.ttl @@ -8,7 +8,7 @@ # imports: http://qudt.org/2.1/vocab/currency # imports: http://qudt.org/2.1/vocab/unit # imports: http://www.w3.org/ns/shacl# -# imports: https://brickschema.org/schema/1.3/Brick +# imports: https://brickschema.org/schema/1.4/Brick # imports: https://brickschema.org/schema/Brick/ref @prefix all: . @@ -30,7 +30,7 @@ owl:imports ; owl:imports ; owl:imports sh: ; - owl:imports ; + owl:imports ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . diff --git a/extensions/brick_extension_interpret_223.shapes.ttl b/extensions/brick_extension_interpret_223.shapes.ttl index 6e16ffc8..0301ec42 100644 --- a/extensions/brick_extension_interpret_223.shapes.ttl +++ b/extensions/brick_extension_interpret_223.shapes.ttl @@ -2,7 +2,7 @@ # imports: http://data.ashrae.org/standard223/1.0/model/all # imports: http://www.w3.org/ns/shacl# # imports: https://brickschema.org/extension/mappings_223 -# imports: https://brickschema.org/schema/1.3/Brick +# imports: https://brickschema.org/schema/1.4/Brick # prefix: s223tobrick @prefix brick: . @@ -256,7 +256,7 @@ $this s223:hasMeasurementLocation/s223:isConnectionPointOf/rdf:type ?class . owl:imports ; owl:imports sh: ; owl:imports ; - owl:imports ; + owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; sh:declare [ sh:namespace "http://data.ashrae.org/standard223#"^^xsd:anyURI ; diff --git a/extensions/brick_extension_s223_extension.shapes.ttl b/extensions/brick_extension_s223_extension.shapes.ttl index 9df50e47..024611db 100644 --- a/extensions/brick_extension_s223_extension.shapes.ttl +++ b/extensions/brick_extension_s223_extension.shapes.ttl @@ -2,7 +2,7 @@ # imports: http://data.ashrae.org/standard223/1.0/model/all # imports: http://www.w3.org/ns/shacl# # imports: https://brickschema.org/extension/brick_extension_interpret_223 -# imports: https://brickschema.org/schema/1.3/Brick +# imports: https://brickschema.org/schema/1.4/Brick # prefix: s223ext @prefix brick: . @@ -24,7 +24,7 @@ owl:imports ; owl:imports sh: ; owl:imports ; - owl:imports ; + owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; sh:declare [ sh:namespace "http://data.ashrae.org/standard223#"^^xsd:anyURI ; sh:prefix "s223" ], diff --git a/handle_extensions.py b/handle_extensions.py index ef941b7a..105e5d92 100644 --- a/handle_extensions.py +++ b/handle_extensions.py @@ -4,7 +4,7 @@ # read the base Brick ontology brick_graph = rdflib.Graph() brick_graph.parse("Brick.ttl", format="ttl") -BRICK = rdflib.URIRef("https://brickschema.org/schema/1.3/Brick") +BRICK = rdflib.URIRef("https://brickschema.org/schema/1.4/Brick") # add extension files to Brick graph extension_files = glob.glob("extensions/*.ttl") diff --git a/support/brickpatches.ttl b/support/brickpatches.ttl index 263b416a..1b2bc9a8 100644 --- a/support/brickpatches.ttl +++ b/support/brickpatches.ttl @@ -1,5 +1,5 @@ # baseURI: https://w3id.org/rec/brickpatches -# imports: https://brickschema.org/schema/1.3/Brick +# imports: https://brickschema.org/schema/1.4/Brick # imports: https://w3id.org/rec @prefix : . @@ -274,6 +274,9 @@ brick:Direction_Sensor . brick:Distribution_Frame owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "Brick location classes are being phased out in favor of RealEstateCore classes. For a replacement, consider rec:CableRoom" ; + brick:isReplacedBy rec:CableRoom ; . brick:Duration_Sensor sh:property [ @@ -293,12 +296,21 @@ brick:Electrical_Room . brick:Elevator_Shaft owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "Brick location classes are being phased out in favor of RealEstateCore classes. For a replacement, consider rec:ElevatorShaft" ; + brick:isReplacedBy rec:ElevatorShaft ; . brick:Elevator_Space owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "Brick location classes are being phased out in favor of RealEstateCore classes. For a replacement, consider rec:ElevatorShaft" ; + brick:isReplacedBy rec:ElevatorShaft ; . brick:Employee_Entrance_Lobby owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "Brick location classes are being phased out in favor of RealEstateCore classes. For a replacement, consider rec:ServiceEntrance" ; + brick:isReplacedBy rec:ServiceEntrance ; . brick:Enclosed_Office owl:deprecated "true"^^xsd:boolean ; @@ -318,6 +330,9 @@ brick:Energy_Sensor . brick:Energy_Zone owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "Brick location classes are being phased out in favor of RealEstateCore classes. For a replacement, consider rec:Zone" ; + brick:isReplacedBy rec:Zone ; . brick:Enthalpy_Sensor sh:property [ @@ -361,6 +376,9 @@ brick:Equipment_Room . brick:Exercise_Room owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "Brick location classes are being phased out in favor of RealEstateCore classes. For a replacement, consider rec:ExerciseRoom" ; + brick:isReplacedBy rec:ExerciseRoom ; . brick:Field_Of_Play owl:deprecated "true"^^xsd:boolean ; @@ -377,6 +395,9 @@ brick:Fire_Sensor . brick:Fire_Zone owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "Brick location classes are being phased out in favor of RealEstateCore classes. For a replacement, consider rec:ServiceEntrance" ; + brick:isReplacedBy rec:ServiceEntrance ; . brick:First_Aid_Room owl:deprecated "true"^^xsd:boolean ; @@ -399,6 +420,9 @@ brick:Flow_Sensor . brick:Food_Service_Room owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "Brick location classes are being phased out in favor of RealEstateCore classes. For a replacement, consider rec:FoodHandlingRoom" ; + brick:isReplacedBy rec:FoodHandlingRoom ; . brick:Freezer owl:deprecated "true"^^xsd:boolean ; @@ -425,6 +449,9 @@ brick:Frost_Sensor . brick:Furniture owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "Brick location classes are being phased out in favor of RealEstateCore classes. For a replacement, consider rec:Furniture" ; + brick:isReplacedBy rec:Furniture ; . brick:Gas_Sensor sh:property [ @@ -451,6 +478,9 @@ brick:Generation_Sensor . brick:Generator_Room owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "Brick location classes are being phased out in favor of RealEstateCore classes. For a replacement, consider rec:ElectricityRoom" ; + brick:isReplacedBy rec:ElectricityRoom ; . brick:HVAC_Zone owl:deprecated "true"^^xsd:boolean ; @@ -495,6 +525,9 @@ brick:Hot_Box . brick:IDF owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "Brick location classes are being phased out in favor of RealEstateCore classes. For a replacement, consider rec:CableRoom" ; + brick:isReplacedBy rec:CableRoom ; . brick:Illuminance_Sensor sh:property [ @@ -533,6 +566,9 @@ brick:Laboratory . brick:Library owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "Brick location classes are being phased out in favor of RealEstateCore classes. For a replacement, consider rec:Library" ; + brick:isReplacedBy rec:Library ; . brick:Lighting rdf:type sh:NodeShape ; @@ -584,6 +620,9 @@ brick:Luminance_Sensor . brick:MDF owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "Brick location classes are being phased out in favor of RealEstateCore classes. For a replacement, consider rec:CableRoom" ; + brick:isReplacedBy rec:CableRoom ; . brick:Mail_Room owl:deprecated "true"^^xsd:boolean ; @@ -596,6 +635,9 @@ brick:Majlis . brick:Massage_Room owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "Brick location classes are being phased out in favor of RealEstateCore classes. For a replacement, consider rec:TherapyRoom" ; + brick:isReplacedBy rec:TherapyRoom ; . brick:Mechanical_Room owl:deprecated "true"^^xsd:boolean ; @@ -614,6 +656,9 @@ brick:Media_Room . brick:Medical_Room owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "Brick location classes are being phased out in favor of RealEstateCore classes. For a replacement, consider rec:HealthcareRoom" ; + brick:isReplacedBy rec:HealthcareRoom ; . brick:Motion_Sensor sh:property [ @@ -665,6 +710,9 @@ brick:Open_Office . brick:Outdoor_Area owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "Brick location classes are being phased out in favor of RealEstateCore classes. For a replacement, consider rec:OutdoorSpace" ; + brick:isReplacedBy rec:OutdoorSpace ; . brick:Outside owl:deprecated "true"^^xsd:boolean ; @@ -916,9 +964,15 @@ brick:Setpoint . brick:Shared_Office owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "Brick location classes are being phased out in favor of RealEstateCore classes. For a replacement, consider rec:OfficeLandscape" ; + brick:isReplacedBy rec:OfficeLandscape ; . brick:Shower owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "Brick location classes are being phased out in favor of RealEstateCore classes. For a replacement, consider rec:ShowerRoom" ; + brick:isReplacedBy rec:ShowerRoom ; . brick:Site owl:deprecated "true"^^xsd:boolean ; @@ -1017,6 +1071,9 @@ brick:TETRA_Room . brick:Team_Room owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "Brick location classes are being phased out in favor of RealEstateCore classes. For a replacement, consider rec:TeamRoom" ; + brick:isReplacedBy rec:TeamRoom ; . brick:Telecom_Room owl:deprecated "true"^^xsd:boolean ; @@ -1087,6 +1144,9 @@ brick:Voltage_Sensor . brick:Wardrobe owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "Brick location classes are being phased out in favor of RealEstateCore classes. For a replacement, consider rec:CloakRoom" ; + brick:isReplacedBy rec:CloakRoom ; . brick:Waste_Storage owl:deprecated "true"^^xsd:boolean ; @@ -1423,7 +1483,7 @@ rec:substance . rdf:type owl:Ontology ; - owl:imports ; + owl:imports ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . @@ -1445,3 +1505,152 @@ $this brick:value ?v sh:prefixes ; ] ; . + + +# deprecations for REC ICT Equipment +rec:ICT_Equipment + owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "REC ICT classes are being phased out in favor of Brick classes. For a replacement, consider brick:ICT_Equipment" ; + brick:isReplacedBy brick:ICT_Equipment ; +. + +rec:ICT_Hardware + owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "REC ICT classes are being phased out in favor of Brick classes. For a replacement, consider brick:ICT_Hardware" ; + brick:isReplacedBy brick:ICT_Hardware ; +. + +rec:Server + owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "REC ICT classes are being phased out in favor of Brick classes. For a replacement, consider brick:Server" ; + brick:isReplacedBy brick:Server ; +. + +rec:ICTRack + owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "REC ICT classes are being phased out in favor of Brick classes. For a replacement, consider brick:ICT_Rack" ; + brick:isReplacedBy brick:ICT_Rack ; +. + +rec:SensorEquipment + owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "REC ICT classes are being phased out in favor of Brick classes. For a replacement, consider brick:SensorEquipment" ; + brick:isReplacedBy brick:Sensor_Equipment ; +. + +rec:DaylightSensorEquipment + owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "REC ICT classes are being phased out in favor of Brick classes. For a replacement, consider brick:DaylightSensorEquipment" ; + brick:isReplacedBy brick:Daylight_Sensor_Equipment ; +. + +rec:IAQSensorEquipment + owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "REC ICT classes are being phased out in favor of Brick classes. For a replacement, consider brick:IAQSensorEquipment" ; + brick:isReplacedBy brick:IAQ_Sensor_Equipment ; +. + +rec:LeakDetectorEquipment + owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "REC ICT classes are being phased out in favor of Brick classes. For a replacement, consider brick:LeakDetectorEquipment" ; + brick:isReplacedBy brick:Leak_Detector_Equipment ; +. + +rec:OccupancySensorEquipment + owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "REC ICT classes are being phased out in favor of Brick classes. For a replacement, consider brick:OccupancySensorEquipment" ; + brick:isReplacedBy brick:Occupancy_Sensor_Equipment ; +. + +rec:PeopleCountSensorEquipment + owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "REC ICT classes are being phased out in favor of Brick classes. For a replacement, consider brick:PeopleCountSensorEquipment" ; + brick:isReplacedBy brick:People_Count_Sensor_Equipment ; +. + +rec:ThermostatEquipment + owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "REC ICT classes are being phased out in favor of Brick classes. For a replacement, consider brick:ThermostatEquipment" ; + brick:isReplacedBy brick:Thermostat ; +. + +rec:VibrationSensorEquipment + owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "REC ICT classes are being phased out in favor of Brick classes. For a replacement, consider brick:VibrationSensorEquipment" ; + brick:isReplacedBy brick:Vibration_Sensor_Equipment ; +. + +rec:Controller + owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "REC ICT classes are being phased out in favor of Brick classes. For a replacement, consider brick:Controller" ; + brick:isReplacedBy brick:Controller ; +. + +rec:BACnetController + owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "REC ICT classes are being phased out in favor of Brick classes. For a replacement, consider brick:BACnetController" ; + brick:isReplacedBy brick:BACnet_Controller ; +. + +rec:ModbusController + owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "REC ICT classes are being phased out in favor of Brick classes. For a replacement, consider brick:ModbusController" ; + brick:isReplacedBy brick:Modbus_Controller ; +. + +rec:DataNetworkEquipment + owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "REC ICT classes are being phased out in favor of Brick classes. For a replacement, consider brick:DataNetworkEquipment" ; + brick:isReplacedBy brick:Data_Network_Equipment ; +. + +rec:EthernetPort + owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "REC ICT classes are being phased out in favor of Brick classes. For a replacement, consider brick:EthernetPort" ; + brick:isReplacedBy brick:Ethernet_Port ; +. + +rec:EthernetSwitch + owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "REC ICT classes are being phased out in favor of Brick classes. For a replacement, consider brick:EthernetSwitch" ; + brick:isReplacedBy brick:Ethernet_Switch ; +. + +rec:Network_Router + owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "REC ICT classes are being phased out in favor of Brick classes. For a replacement, consider brick:NetworkRouter" ; + brick:isReplacedBy brick:Network_Router ; +. + +rec:NetworkSecurityEquipment + owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "REC ICT classes are being phased out in favor of Brick classes. For a replacement, consider brick:NetworkSecurityEquipment" ; + brick:isReplacedBy brick:Network_Security_Equipment ; +. + +rec:WirelessAccessPoint + owl:deprecated "true"^^xsd:boolean ; + brick:deprecatedInVersion "1.4.0" ; + brick:deprecationMitigationMessage "REC ICT classes are being phased out in favor of Brick classes. For a replacement, consider brick:WirelessAccessPoint" ; + brick:isReplacedBy brick:Wireless_Access_Point ; +. diff --git a/support/rec.ttl b/support/rec.ttl index 8335ab04..387e2fae 100644 --- a/support/rec.ttl +++ b/support/rec.ttl @@ -1,6 +1,6 @@ # baseURI: https://w3id.org/rec # imports: http://datashapes.org/dash -# imports: https://brickschema.org/schema/1.3/Brick +# imports: https://brickschema.org/schema/1.4/Brick # imports: https://w3id.org/rec/brickpatches # prefix: rec @@ -27,7 +27,7 @@ brick:Equipment rdf:type owl:Ontology ; rdfs:label "RealEstateCore" ; owl:imports ; - owl:imports ; + owl:imports ; owl:imports ; owl:versionInfo "4.0" ; .