Open
Conversation
Model TriggerDirection after s223 EnumerationKinds: each class is also an instance of itself, enabling values at any level of specificity. Hierarchy: TriggerDirection > Rising/Falling > Cooling/Heating. Also propagate pun_classes flag through recursive define_classes calls, and add Limit to the mutually disjoint Point subclass set. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove Alarm_Threshold from under Threshold (Setpoint hierarchy) - Add Alarm_Threshold as a Parameter subclass - Add Deadband_Shift as a sibling of Deadband under Parameter Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- hasParameter range narrowed from Point to Parameter - hasTrigger domain broadened to include Parameter (for Alarm_Threshold) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add TriggerDirection-Rising/Falling/Cooling/Heating definitions - Remove old Rising/Falling named individual definitions - Update Alarm_Threshold and Deadband descriptions - Add Deadband_Shift definition Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Threshold: requires exactly one hasTrigger of type TriggerDirection - Alarm_Threshold: requires exactly one hasTrigger of type TriggerDirection - Alarm: hasParameter constrained to Alarm_Threshold Defined in root_class_shapes.ttl alongside other root-level SHACL shapes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Cooling_Temperature_Setpoint: subClassOf Threshold, hasTrigger Cooling - Heating_Temperature_Setpoint: subClassOf Threshold, hasTrigger Heating - Cooling_Zone_Air_Temperature_Setpoint: subClassOf Threshold, hasTrigger Cooling - Heating_Zone_Air_Temperature_Setpoint: subClassOf Threshold, hasTrigger Heating Subclasses (Effective_, Occupied_, Unoccupied_, Standby_ variants) inherit Threshold status through the class hierarchy. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…points Deadband setpoints represent the size of a deadband, not a threshold trigger point. Remove parent links to Cooling/Heating_Temperature_Setpoint (and Cooling/Heating_Temperature_Setpoint itself) to prevent deadband setpoints from incorrectly inheriting Threshold status. Update tests for new setpoint/threshold model - hasParameter range is now Parameter (not Point) - hasTrigger domain is now Point (not Setpoint) - TriggerDirection uses punned enum hierarchy (not NamedIndividuals) - Alarm_Threshold is under Parameter (not Threshold) - Add tests for Cooling/Heating setpoints as Thresholds - Add tests verifying deadband setpoints are NOT Thresholds Add setpoint modeling example Demonstrates two common HVAC setpoint arrangements: - Single target setpoint with symmetric deadband and limits - Dual heating/cooling setpoints with alarm threshold fix ontoenv api Add EnumerationKind as supertype for punned enumerations Introduce brick:EnumerationKind (modeled after s223:EnumerationKind) as the root class for all punned enumerations. TriggerDirection is now a subclass of EnumerationKind instead of Entity directly. Update validation.ttl to check rdfs:subClassOf* EnumerationKind instead of hardcoding brick:TriggerDirection, so future enumeration kinds are automatically recognized.
Extract TriggerDirection hierarchy from generate_brick.py into a dedicated enumerations.py module, following the same pattern as other bricksrc definition files (setpoint.py, parameter.py, etc.). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
The latest build of the Brick ontology on this PR is available here. |
|
The latest build of the Brick ontology on this PR is available here. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Remove Cooling/Heating_Temperature_Setpoint parents from deadband setpoints
Deadband setpoints represent the size of a deadband, not a threshold trigger point. Remove parent links to Cooling/Heating_Temperature_Setpoint (and Cooling/Heating_Temperature_Setpoint itself) to prevent deadband setpoints from incorrectly inheriting Threshold status.
Update tests for new setpoint/threshold model
Add setpoint modeling example
fix ontoenv api
Add EnumerationKind as supertype for punned enumerations
Introduce brick:EnumerationKind (modeled after s223:EnumerationKind) as the root class for all punned enumerations. TriggerDirection is now a subclass of EnumerationKind instead of Entity directly.
Update validation.ttl to check EnumerationKind