Building data platform with schema extensibility for states of a digital twin
A building system includes one or more memory devices comprising instructions thereon that, when executed by one or more processors, cause the one or more processors to perform one or more first operations based on a digital twin of a building. The instructions cause the one or more processors to update a schema of the digital twin by adding a property or tag to an entity class of the schema, add, based on the schema, one or more data elements representing the property or tag to the digital twin, the one or more data elements related to an entity of the entity class, and perform one or more second operations based on the one or more data elements representing the property or tag.
1 . A building system, comprising:
one or more memory devices comprising instructions thereon that, when executed by one or more processors, cause the one or more processors to:
deploy a digital twin of a building based on a schema definition, the digital twin comprising representations of a plurality of entities of the building and relationships between the plurality of entities;
perform one or more operations based on states of the digital twin of the building defined by the schema definition to derive a new state of a new state type for an entity of the digital twin;
compare the new state type to a plurality of predefined state types stored in the schema definition for an entity class of the entity to determine if the schema definition defines the new state type, the schema definition defining the plurality of predefined state types available for instantiation in the digital twin and at least one different digital twin of another building; and
extend the schema definition by adding the new state type of the new state to the entity class of the schema definition in response to a determination that the schema definition does not define the new state type and deploy at least one additional digital twin of a new building using the extended schema definition.
2 . The building system of claim 1 , wherein the instructions cause the one or more processors to:
store the schema definition on the one or more memory devices separate from the digital twin, wherein the schema definition defines the plurality of predefined state types available for instantiation in the digital twin and the at least one different digital twin of the another building.
3 . The building system of claim 1 , wherein the instructions cause the one or more processors to:
extend the schema definition while the digital twin is deployed.
4 . The building system of claim 1 , wherein the instructions cause the one or more processors to:
add, based on the schema definition, one or more data elements representing the new state to the digital twin, the one or more data elements related to the entity of the entity class by one or more relationships; and
perform one or more second operations based on the one or more data elements representing the new state.
5 . The building system of claim 1 , wherein:
the plurality of entities include at least one of a person, point, location, or event; and
the schema definition defines entity classes for entity types of the plurality of entities.
6 . The building system of claim 1 , wherein:
the plurality of entities are instances of entity classes defined by the schema definition.
7 . The building system of claim 1 , wherein the instructions cause the one or more processors to:
extend the schema definition of the digital twin while the digital twin is deployed without requiring the digital twin to be redeployed.
8 . The building system of claim 1 , wherein:
the schema definition defines a plurality of entity classes; and
the plurality of entity classes include at least one property class, at least one tag class, and at least one state class for the plurality of entity classes.
9 . The building system of claim 1 , wherein the instructions cause the one or more processors to:
perform the one or more operations based on the digital twin of the building and external data collected from an external system, wherein the new state is derived from the external data for the entity of the digital twin.
10 . The building system of claim 1 , wherein the instructions cause the one or more processors to:
execute an application, wherein the application begins operating to perform the one or more operations based on the states of the digital twin of the building to derive the new state for the entity after the digital twin is deployed and before the schema definition of the digital twin is extended.
11 . The building system of claim 1 , wherein the instructions cause the one or more processors to:
receive an output from an application resulting from the one or more operations, the output indicating the new state;
search the schema definition of the digital twin to determine whether the schema definition includes the new state type indicated by the output of the one or more operations; and
update the schema definition of the digital twin by adding the new state type of the new state to the entity class of the schema definition responsive to identifying that the schema definition does not include the new state type.
12 . The building system of claim 1 , wherein the new state defines a condition associated with the entity.
13 . The building system of claim 1 , wherein the new state is at least one of a fault state of a piece of equipment of the building or an occupancy level of a space of the building.
14 . The building system of claim 1 , wherein the digital twin includes a plurality of nodes and a plurality of edges between the plurality of nodes, the plurality of nodes representing the plurality of entities of the building and the plurality of edges indicating the relationships between the plurality of entities;
wherein the instructions cause the one or more processors to add, based on the schema definition, one or more nodes representing the new state to the digital twin, the one or more nodes related to the entity of the entity class by one or more relationships.
15 . The building system of claim 1 , wherein the instructions cause the one or more processors to:
receive an indication to add the new state to the entity;
identify the entity class of the entity based on the schema definition; and
update the schema definition of the digital twin by adding the new state type to the entity class of the schema definition responsive to identifying that a class of the entity is the entity class.
16 . A method, comprising:
deploying, by one or more processing circuits, a digital twin of a building based on a schema definition, the digital twin comprising representations of a plurality of entities of the building and relationships between the plurality of entities;
performing, by the one or more processing circuits, one or more operations based on states of the digital twin of the building defined by the schema definition to derive a new state of a new state type for an entity of the digital twin;
comparing, by the one or more processing circuits, the new state type to a plurality of predefined state types stored in the schema definition for an entity class of the entity to determine if the schema definition defines the new state type, the schema definition defining the plurality of predefined state types available for instantiation in the digital twin and at least one different digital twin of another building;
extending, by the one or more processing circuits, the schema definition by adding the new state type of the new state to the entity class of the schema definition in response to a determination that the schema definition does not define the new state type; and
deploying, by the one or more processing circuits, at least one additional digital twin of a new building using the extended schema definition.
17 . The method of claim 16 , comprising:
storing, by the one or more processing circuits, the schema definition on one or more storage media separate from the digital twin, wherein the schema definition defines the plurality of predefined state types available for instantiation in the digital twin.
18 . The method of claim 16 , comprising:
adding, by the one or more processing circuits, based on the schema definition, one or more data elements representing the new state to the digital twin, the one or more data elements related to the entity of the entity class by one or more relationships; and
performing, by the one or more processing circuits, one or more second operations based on the one or more data elements representing the new state.
19 . The method of claim 16 , comprising:
extending, by the one or more processing circuits, the schema definition of the digital twin while the digital twin is deployed without requiring the digital twin to be redeployed.
20 . One or more non-transitory storage media storing instructions thereon that, when executed by one or more processors, cause the one or more processors to:
deploy a digital twin of a building based on a schema definition, the digital twin comprising representations of a plurality of entities of the building and relationships between the plurality of entities;
perform one or more operations based on states of the digital twin of the building defined by the schema definition to derive a new state of a new state type for an entity of the digital twin;
compare the new state type to a plurality of predefined state types stored in the schema definition for an entity class of the entity to determine if the schema definition defines the new state type, the schema definition defining the plurality of predefined state types available for instantiation in the digital twin and at least one different digital twin of another building; and
extend the schema definition by adding the new state type of the new state to the entity class of the schema definition in response to a determination that the schema definition does not define the new state type and deploy at least one additional digital twin of a new building using the extended schema definition.