Building Performance Ontology
type: Ontology
creator: Alex Donkers
description: De Building Performance Ontology (BOP) heeft het doel om de integratie van topologische gebouwinformatie met statische en dynamische eigenschappen mogelijk te maken, om zo een homogene informatieomgeving te creëren die wordt gebruikt bij complexe prestatiebeoordelingen van gebouwen. Het helpt gebouwbeheerders en hun software om te gaan met de grote heterogeniteit van informatie. Hoewel de gegevens die statische en dynamische eigenschappen beschrijven fundamenteel verschillend zijn, delen ze een vergelijkbare context met een complexe spatio-temporele resolutie. Het doel van deze ontologie is om deze complexe contextuele informatie op dezelfde manier weer te geven voor verschillende soorten informatie, waardoor de mogelijkheden voor het gebruik van de linked data in complexe vergelijkingen worden vergroot en de machineleesbaarheid wordt verbeterd. We hebben geprobeerd om zo semantisch correct mogelijk te izjn, terwijl we ook streefden naar eenvoudige en intuïtieve SPARQL queries. Doordat we concepten uit belangrijke ontologieën in het veld hebben hergebruikt, kan BOP gemakkelijk worden geïntegreerd met een breed scala aan bestaande ontologieën en datasets. @nl
description: The Building Performance Ontology (BOP) aims to enable the integration of topological building information with static and dynamic properties, to create a homogeneous data environment used by complex building performance assessments. It helps building managers and their software to deal with the large heterogeneity of information. While the data describing static and dynamic properties is fundamentally different, they share a similar context with a complex spatio-temporal resolution. The goal of this ontology is to represent this complex contextual information similarly for different types of information, which will increase the opportunities for using the linked data in complex equations and improves machine-readability. We tried to be as semantically correct as possible, while also aiming for simple and intuitive queries. By (re-)using concepts from major ontologies in the field, BOP could easily be integrated with a wide range of existing ontologies and datasets.
preferred namespace prefix: bop
version info: 1.5 @nl
type: NamedIndividual

acts on
type: ObjectProperty
sub property of: executes on
inverse of: is actuated by
domain: Actuator
range: Property
comment: Relatie tussen een actuator en de eigenschap die hij bedient. @nl
comment: Relationship between an actuator and the property it acts on.
label: bedient @nl

actuated by
type: ObjectProperty
sub property of: executed by
inverse of: performs actuation
domain: Actuation
range: Actuator
comment: Relatie tussen een bediening en een actuator die deze bediening heeft uitgevoerd. @nl
comment: Relationship between an actuation and the actuator which performed this actuation.
label: bediend door @nl

contains property
type: ObjectProperty
inverse of: is part of property set
domain: Property set
range: Property
comment: Relatie tussen een set van eigenschappen en een eigenschap die deel uitmaakt van deze set. @nl
comment: Relationship between a property set and a property which is part of this set.
label: bevat eigenschap @nl

executed by
type: ObjectProperty
inverse of: performs execution
domain: Execution
range: Executor
comment: Relatie tussen een uitvoering en een uitvoerder die deze uitvoering heeft uitgevoerd. @nl
comment: Relationship between an execution and the executor which performed this execution.
label: uitgevoerd door @nl

executes on
type: ObjectProperty
inverse of: is executed by
domain: Executor
range: Property
comment: Relatie tussen een uitvoerder en de eigenschap waarop deze uitvoert. @nl
comment: Relationship between an executor and the property it executes on.
label: voert uit op @nl

has actuated property
type: ObjectProperty
sub property of: has executed property
inverse of: has actuation
domain: Actuation
range: Property
comment: Relatie tussen een bediening en de bediende eigenschap. @nl
comment: Relationship between an actuation and the actuated property.
label: heeft bediende eigenschap @nl

has actuation
type: ObjectProperty
sub property of: has execution
domain: Property
range: Actuation
comment: Relatie tussen een eigenschap en een bijbehorende bediening @nl
comment: Relationship between a property and a corresponding actuation.
label: heeft bediening @nl

has complex property
type: ObjectProperty
inverse of: is complex property of
domain: Feature of interest
range: Result
comment: Direct relationship between a feature of interest and a result.
comment: Directe relatie tussen een kenmerk van belang en een resultaat. @nl
label: heeft complexe eigenschap @nl
example: De objecteigenschap kan worden uitgebreid door deze te subclassificeren met casus-specifieke objecteigenschappen. Zo zou men kunnen zeggen: :Muur --ex:heeftLengte-> :Lengte, waarbij ex:heeftLengte een subklasse is van bop:hasComplexProperty. @nl
example: The object property could be extended by subclassing it with use-case-specific object properties. One could for example say: :Wall --ex:hasLength-> :CurrentWallLength, where ex:hasLength is a subclass of bop:hasComplexProperty.

has data point
type: ObjectProperty
inverse of: is data point of
domain: Database
range: Data point
comment: Relatie tussen een databank en zijn datapunten. @nl
comment: Relationship between a database and its data points.
label: heeft datapunt @nl
example: Bijvoorbeeld the relatie tussen een time-series databank en een datapunt in deze databank. @nl
example: E.g. the relationship between a time-series database and a data record in this database.

has executed property
type: ObjectProperty
inverse of: has execution
domain: Execution
range: Property
comment: Relatie tussen een uitvoering en de uitgevoerde eigenschap. @nl
comment: Relationship between an execution and the executed property.
label: heeft uitgevoerde eigenschap @nl

has execution
type: ObjectProperty
domain: Property
range: Execution
comment: Relatie tussen een eigenschap en een bijbehorende uitvoering. @nl
comment: Relationship between a property and a corresponding execution.
label: heeft uitvoering @nl

has external database
type: ObjectProperty
inverse of: is external database of
domain: Executor
range: Database
comment: Koppelt een uitvoerder aan een databank waar zijn resultaten worden opgeslagen. @nl
comment: Linking an executor with the database its results are stored in.
label: heeft externe databank @nl
example: Deze objecteigenschap kan worden gebruikt om een sensor te koppelen aan een time-series databank. @nl
example: This object property could be used to link a sensor with a time-series database.

has feature of interest
type: ObjectProperty
inverse of: is feature of interest of
domain: Execution
range: Feature of interest
comment: Koppelt een uitvoering met zijn kenmerk van belang. @nl
comment: Linking an execution with its feature of interest.
label: heeft kenmerk van belang @nl

has observation
type: ObjectProperty
sub property of: has execution
inverse of: has observed property
domain: Property
range: Observation
comment: Relatie tussen een eigenschap en een bijbehorende observatie. @nl
comment: Relationship between a property and a corresponding observation.
label: heeft observatie @nl

has observed property
type: ObjectProperty
sub property of: has executed property
domain: Observation
range: Property
comment: Relatie tussen een observatie en de geobserveerde eigenschap. @nl
comment: Relationship between an observation and the observed property.
label: heeft geobserveerde eigenschap @nl

has property
type: ObjectProperty
inverse of: is property of
domain: Feature of interest
range: Property
comment: Koppelt een kenmerk van belang aan haar eigenschap. De eigenschap is intrinsiek aan dit kenmerk van belang, en kan niet bestaan zonder dit kenmerk van belang. @nl
comment: Linking a feature of interest with its property. The property is intrinsic to this feature of interest, and cannot exist without this feature of interest.
label: heeft eigenschap @nl

has property state
type: ObjectProperty
inverse of: is property state of
domain: Property
range: Result
comment: Koppelt een eigenschap met een resultaat. @nl
comment: Linking a property with a result
label: heeft eigenschapsstatus @nl
example: Deze objecteigenschap kan worden gebruikt om direct een koppeling tussen een eigenschap en een eigenschapsstatus te maken. Voorbeeld: :Temperatuur --bop:hasPropertyState--> :HuidigeTemperatuur @nl
example: This object property is used to directly link a property to a property state. Example: :Temperature --bop:hasPropertyState--> :CurrentTemperatureState

has result
type: ObjectProperty
inverse of: is result of
domain: Execution
range: Result
comment: Koppelt een uitvoering aan zijn resultaat. @nl
comment: Linking an execution to its result.
label: heeft resultaat @nl

has sub-actuator
type: ObjectProperty
sub property of: has sub-executor
inverse of: is sub-actuator of
type: AsymmetricProperty
type: TransitiveProperty
domain: Actuator
range: Actuator
comment: Describing a whole-part relationship between an actuator and its sub-actuator.

has sub-executor
type: ObjectProperty
inverse of: is sub-executor of
type: AsymmetricProperty
type: TransitiveProperty
domain: Executor
range: Executor
comment: Describing a whole-part relationship between an executor and its sub-executor.

has sub-property
type: ObjectProperty
inverse of: is sub-property of
type: TransitiveProperty
domain: Property
range: Property
comment: Describing a whole-part relationship between a property and its sub-property..

has sub-sensor
type: ObjectProperty
sub property of: has sub-executor
inverse of: is sub-sensor of
type: AsymmetricProperty
type: TransitiveProperty
domain: Sensor
range: Sensor
comment: Describing a whole-part relationship between a sensor and its sub-sensor..

has unit
type: ObjectProperty
inverse of: is unit of
type: FunctionalProperty
domain: Result
range: Unit
comment: Linking a result with a unit.

hosts
type: ObjectProperty
inverse of: is hosted by
type: InverseFunctionalProperty
domain: Platform
range: Executor
comment: Describing the relation between a platform and the executor which is hosted by this platform.
example: This object property could be used to describe the relationship between a wall and a sensor hosted by this wall.

implemented by
type: ObjectProperty
inverse of: implements procedure
domain: Procedure
range: Executor
comment: Describing the relation between a procedure and the executor implementing this procedure.

implements procedure
type: ObjectProperty
domain: Executor
range: Procedure
comment: Describing the relationship between an executor and the procedure it implements.

is actuated by
type: ObjectProperty
sub property of: is executed by
domain: Property
range: Actuator
comment: Relationship between a property and the actuator which acts on the property.

is complex property of
type: ObjectProperty
domain: Result
range: Feature of interest
comment: Linking a result with a feature of interest
example: This object property is used to directly link the current state of a property to a feature of interest. It is the shortest route to link a result to a feature of interest. The object property could be extended by subclassing it with use-case-specific object properties. One could for example say: :CurrentWallLength --ex:isLengthOf-> :Wall, where ex:hasLength is a subclass of bop:isComplexPropertyOf.

is data point of
type: ObjectProperty
domain: Data point
range: Database
comment: Linking a data point with the database it is part of.

is executed by
type: ObjectProperty
domain: Property
range: Executor
comment: Relationship between a property and the executor which executes on the property.

is external database of
type: ObjectProperty
domain: Database
range: Executor
example: Linking a database with the executor which results are stored in this database.
example: This object property could be used to link a time-series database with a sensor.

is feature of interest of
type: ObjectProperty
domain: Feature of interest
range: Execution
comment: Linking a feature of interest with an execution which executes on a property of this feature of interest.

is hosted by
type: ObjectProperty
type: FunctionalProperty
domain: Executor
range: Platform
comment: Describing the relation between an executor and the platform hosting this executor.
example: This object property could be used to describe the relationship between a sensor and a wall hosting this sensor.

is observed by
type: ObjectProperty
sub property of: is executed by
inverse of: observes
domain: Property
range: Sensor
comment: Relationship between a property and the sensor which observes the property.

is part of property set
type: ObjectProperty
domain: Property
range: Property set
comment: Relationship between a property and the property set it is part of.

is property of
type: ObjectProperty
type: FunctionalProperty
domain: Property
range: Feature of interest
comment: Linking a property with its feature of interest. The property is intrinsic to this feature of interest, and cannot exist without a feature of interest.

is property state of
type: ObjectProperty
domain: Result
range: Property
comment: Linking a result with a property
example: This object property is used to directly link the current state of a property to a property. It is the shortest route to link a result to a property. Example: CurrentTemperatureState -- isPropertyStateOf --> Temperature

is result of
type: ObjectProperty
domain: Result
range: Execution
comment: Linking a result with an execution.

is sub-actuator of
type: ObjectProperty
sub property of: is sub-executor of
type: AsymmetricProperty
type: TransitiveProperty
domain: Actuator
range: Actuator
comment: Relation between an actuator and sub-actuators. The sub-actuators are of type actuator and could function as individual actuators.
example: The object property could be used to model actuators which have multiple components with their own functions.

is sub-executor of
type: ObjectProperty
type: AsymmetricProperty
type: TransitiveProperty
domain: Executor
range: Executor
comment: Relation between an executor and sub-executors. The sub-executors are of type executor and could function as individual executors.
example: The object property could be used to model devices which have multiple components with their own functions. A multisensor - for example - consists of multiple sub-sensors which individually perform a sensing function.

is sub-property of
type: ObjectProperty
type: AsymmetricProperty
type: TransitiveProperty
domain: Property
range: Property
comment: Relation between a sub-property and its parent property.
example: The object property describes a typical whole-part relationship between a property and its sub-properties. It is used in cases where properties are so complex that it is desirable to decompose them into separate properties. The separate properties might also be individually linked to their own results.

is sub-sensor of
type: ObjectProperty
sub property of: is sub-executor of
type: AsymmetricProperty
type: TransitiveProperty
domain: Sensor
range: Sensor
comment: Relation between a sensor and sub-sensors. The sub-sensors are of type sensor and could function as individual sensors.
example: The object property could be used to model sensors which have multiple components with their own functions.

is unit of
type: ObjectProperty
type: InverseFunctionalProperty
domain: Unit
range: Result
comment: Linking a unit with a result.

is used for
type: ObjectProperty
inverse of: uses procedure
domain: Procedure
range: Execution
comment: The relationship between a procedure and an execution which used this procedure.

observed by
type: ObjectProperty
sub property of: executed by
inverse of: performs observation
domain: Observation
range: Sensor
comment: Relatie tussen een observatie en een sensor die deze observatie heeft uitgevoerd. @nl
comment: Relationship between an observation and the sensor which performed this observation.
label: geobserveerd door @nl

observes
type: ObjectProperty
sub property of: executes on
domain: Sensor
range: Property
comment: Relatie tussen een sensor en de eigenschap die hij observeert. @nl
comment: Relationship between a sensor and the property it observes.
label: observeert @nl

performs actuation
type: ObjectProperty
sub property of: performs execution
domain: Actuator
range: Actuation
comment: Relationship between an actuator and the actuation it performs.

performs execution
type: ObjectProperty
domain: Executor
range: Execution
comment: Relationship between an executor and the execution it performs.

performs observation
type: ObjectProperty
sub property of: performs execution
domain: Sensor
range: Observation
comment: Relationship between a sensor and the observation it performs.

uses procedure
type: ObjectProperty
domain: Execution
range: Procedure
comment: The relationship between an execution and the used procedure.

has ID
type: DatatypeProperty
sub property of: has value
type: FunctionalProperty
domain: Data point
comment: Het ID van een datapunt in een externe databank. @nl
comment: The ID of a data point in an external database.
label: heeft ID @nl

has simple property
type: DatatypeProperty
domain: Feature of interest
comment: Koppelt een kenmerk van belang met een simpele eigenschapswaarde, beschreven als tekstueel veld. @nl
comment: Linking a feature of interest with a simple property value described as a literal.
label: heeft simpele eigenschap @nl

has simple property state
type: DatatypeProperty
domain: Property
comment: Koppelt een eigenschap met een simpele eigenschapsstatus, beschreven als tekstueel veld. @nl
comment: Linking a property with a simple property state value described as a literal.
label: heeft simpele eigenschapsstatus @nl

has simple result
type: DatatypeProperty
type: FunctionalProperty
domain: Execution
comment: Koppelt een uitvoering met een simpel resultaat, beschreven als tekstueel veld. @nl
comment: Linking an execution with a simple result value described as a literal.
label: heeft simpel resultaat @nl

has simple unit
type: DatatypeProperty
type: FunctionalProperty
domain: Result
comment: Koppelt een resultaat met een eenheid beschreven als tekstueel veld. @nl
comment: Linking a result with a unit described by a literal.
label: heeft simpele eenheid @nl

has value
type: DatatypeProperty
type: FunctionalProperty
domain: Result
comment: De waarde van een resultaat, beschreven als tekstueel veld. @nl
comment: The simple value of a result.
label: heeft waarde @nl

Actuation
type: Class
subclass of: Execution
disjoint with: Observation
comment: An act of carrying out an actuation procedure by an actuator to change the state of a property.
comment: Het bedienen van iets. Een bediening kan worden bediend door een actuator, eventueel op basis van een procedure. @nl
label: Bediening @nl

Actuator
type: Class
subclass of: Executor
disjoint with: Sensor
comment: An agent that can implement an actuation procedure to change the state of a property..
comment: Iets wat een bediening kan uitvoeren op basis van een procedure om de status van een eigenschap te veranderen. @nl

Data point
type: Class
subclass of: Result
comment: A data element in a database representing the state of a property.
comment: Een dataelement in een databank die de staat van een eigenschap vertegenwoordigt. @nl
label: Datapunt @nl
example: Het datapunt kan in verschillende soorten databanken worden gebruikt. Het komt overeen met afzonderlijke datapunten in time-series databanken of rijen in SQL tabellen. Het is ook een gebruikelijk concept in BMS-servers, waarin het bijvoorbeeld sensor-observaties, output van actuatoren of een andere scalaire waarde vertegenwoordigt. @nl
example: The data point can be used in various types of databases. It corresponds to single data records in time-series databases, or rows in SQL database tables. It is also a common concept in BMS servers, representing for example a sensor reading, output value of an actuator or any other scalar value.

Database
type: Class
comment: A collection of data. The database class is used to describe an external database, storing results of executions, such as a time-series database.
comment: Een collectie van data. De databank klasse wordt gebruikt om externe databanken te beschrijven. Deze kunnen resultaten van uitvoeringen bevatten. @nl
label: Databank @nl

Execution
type: Class
comment: An act of carrying out a procedure by an executor on a property
comment: Het doen of uitvoeren van iets. Een uitvoering kan worden uitgevoerd door een uitvoerder, eventueel op basis van een procedure. @nl
label: Uitvoering @nl

Executor
type: Class
subclass of: Restriction
  on property: is hosted by
  max qualified cardinality: 1
  on class: Platform
comment: An agent that can implement a procedure to perform an execution.
comment: Iets wat een taak kan uitvoeren op basis van een procedure. @nl
label: Uitvoerder @nl

Feature of interest
type: Class
subclass of: Restriction
  on property: has property
  min qualified cardinality: 1
  on class: Property
comment: An abstraction of a real-world phenomenon which could be described in terms of its properties.
comment: Een abstractie van een fenomeen uit de echte wereld (object, onderdeel, zone, evenement, etc). @nl
label: Kenmerk van belang @nl
example: An object, part, zone, event etc.
example: Een object, deel, zone, evenement, etc. @nl

Input
type: Class
subclass of: Data point
comment: An input data point in a BMS system.
comment: Een invoerdatapunt in een BMS systeem. @nl
label: Invoer @nl
example: Inputs in BMS are often the results of an observation, such as sensor readings. They are read by a system.
example: Invoerdatapunten in BMS-systemen zijn vaak het resultaat van een waarneming, zoals sensor-observaties. Ze worden gelezen door een systeem. @nl

Observation
type: Class
subclass of: Execution
comment: An act of carrying out an observation procedure by a sensor to observe the state of a property.
comment: Het observeren van iets. Een observatie kan worden geobserveerd door een sensor, eventueel op basis van een procedure. @nl
label: Observatie @nl

Output
type: Class
subclass of: Data point
comment: An output data point in a BMS system.
comment: Een uitvoerdatapunt in een BMS systeem. @nl
label: Uitvoer @nl
example: Outputs in BMS are often the values sent to actuators, such as turning on a light. They are written by a system.
example: Uitvoerdatapunten in BMS systemen zijn vaak de waarden die naar actuatoren worden gestuurd, zoals het inschakelen van een lamp. Ze worden geschreven door een systeem. @nl

Platform
type: Class
subclass of: Restriction
  on property: hosts
  min qualified cardinality: 1
  on class: Executor
comment: An entity that hosts an executor.
comment: Een entitiet die een uitvoerder herbergt. @nl

Procedure
type: Class
comment: A workflow, protocol, plan, algorithm, or computational method specifying how to perform an execution.
comment: Een workflow, protocol, plan, algoritme of rekenmethode die specificeert hoe een uitvoering moet worden uitgevoerd. @nl

Property
type: Class
subclass of: Restriction
  on property: is property of
  min qualified cardinality: 1
  on class: Feature of interest
comment: A measurable and intrinsic characteristic of a feature of interest.
comment: Een eigenschap van een kenmerk van belang. De eigenschap is intrinsiek aan en kan niet bestaan zonder het kenmerk van belang. @nl
label: Eigenschap @nl

Property set
type: Class
comment: A collection of properties. The collection could also be a singleton or a null set.
comment: Een collectie van eigenschappen. De collectie kan ook een eenpuntsverzameling of een lege verzameling zijn. @nl
label: Verzameling van eigenschappen @nl

Result
type: Class
comment: De uitkomst van een uitvoering. @nl
comment: The outcome of an execution.
label: Resultaat @nl
example: Het resultaat kan bijvoorbeeld bestaan uit een waarde, een eenheid en andere herkomstgegevens. @nl
example: The result may hold, for example, a value, a unit, a result time and other provenance data.

Sensor
type: Class
subclass of: Executor
comment: An agent that can implement an observation procedure to measure the state of a property.
comment: Iets wat een observatie kan uitvoeren op basis van een procedure om de status van een eigenschap te meten. @nl

Unit
type: Class
comment: A particular quantity value that has been chosen as a scale for measuring other quantities of the same kind.
comment: Een specifieke waarde van een natuurkundige grootheid die is gekozen als een schaal voor het meten van andere hoeveelheden van diezelfde grootheid. @nl
label: Eenheid @nl

User defined
type: Class
subclass of: Data point
comment: A user defined data point in a BMS system.
comment: Een door de gebruiker gedefinieerd datapunt in een BMS systeem. @nl
label: Door de gebruiker gedefinieerd @nl
example: Door de gebruiker gedefinieerde datapunten in een BMS systeem zijn vaak parameters die zijn ingesteld door mensen of wettelijke voorschriften. Ze worden gebruikt om de staat van eigenschappen de beïnvloeden, zoals temperatuurinstelpunten. @nl
example: User defined data points in BMS are often parameters set by humans or regulations which are used to control the state of properties, such temperature set points.

Alex Donkers
type: NamedIndividual
type: Person
weblog: https://linktr.ee/AlexDonkers