Entity Properties
Contents
Entity Properties#
Note
This feature is new in Brick v1.2
Entity Properties are attributes or characteristics of Brick entities. The values of Entity Properties should change rarely, if ever; if a value is changing regularly, then it is likely better modeled as a Brick Point. Entity properties are useful for modeling static charcteristics such as:
floor area, room volume
phase count, phases, and flow of electric meters
which operational stage a point is associated with
how the values of a given Point are aggregated
and many others!
An Entity Property has two parts:
the Entity Property itself, which is a named relationship between a Brick entity and a property value
the property value, which is its own entity with a set of properties capturing current value, associated units and others
Entity Properties, and their associated classes and relationships, are defined in the brick namespace.
The use of Entity Properties generally adheres to the following pattern:
Simple Example#
To illustrate the use of entity properties, consider the following models
Area of a Room#
:room1 a brick:Room ;
brick:area [
brick:value "100"^^xsd:decimal ;
brick:hasUnit unit:FT2 ;
] ;
.
Note
The [] square brackets above are a blank node notation. Everything in the [] is the predicate and object for an implied entity that is also the object of the brick:area relationship. You can consider the above equivalent to the following:
:room1 a brick:Room ;
brick:area :a .
:a brick:value "100"^^xsd:decimal ;
brick:hasUnit unit:FT2 .
The model here is relatively straight forward. The area is a (usually anonymous) Brick entity with a numerical value (indicated by brick:value) and a unit (indicated by brick:hasUnit). The area entity is associated with a Brick room through the brick:area property.
Peak Hourly Power Meter#
This is the model of a power sensor which tracks the peak hourly real power.
:hourly_peak_real_power_meter a brick:Power_Sensor ;
brick:hasUnit unit:KiloW ;
brick:aggregate [
brick:aggregationFunction "max" ;
brick:aggregationInterval "RPT1H" ;
] ;
brick:powerComplexity [
brick:value "real" ;
]
.
This is a little more complex than the earlier example. There are two entity properties associated with the Power_Sensor entity. The first is brick:powerComplexity which tells us that the sensor measures real power. The second is brick:aggregate. The two properties of the brick:aggregate value tell us that the sensor’s values are aggregated on a 1 hour window; this is indicated by the brick:aggregationInterval property. The brick:aggregationFunction indicates that the values within that 1 hour interval are aggregated to the maximum of the values in that window.
Note
brick:aggregationInterval uses the ISO 8601 Duration specification to indicate the length of an interval. It also incorporates an R prefix to indicate a repeating duration.
Some common other intervals are:
every 1 hour:
RPT1Hevery 2 hours:
RPT2Hevery 15 minutes:
RPT15Mevery month:
RP1Mevery 30 days:
RP30D