IP Library Granted Patent US 12699732
Granted Patent B2
US 12699732 · App. 16/663,623 · Granted Aug 4, 2026

Systems and methods for mapping a building schema into a graph data schema

Inventors: Vish Ramamurti (San Leandro, CA); Zhongyi Jin (Santa Clara, CA); Young M. Lee (Old Westbury, NY); Youngchoon Park (Brookfield, WI); Sudhi R. Sinha (Milwaukee, WI); Jason B. Koh (Milwaukee, WI); Simin Zhou (Santa Clara, CA)
Assignee: TYCO FIRE & SECURITY GMBH
G06F16/9024G06F9/451G06F16/212
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12699732
App. No.
16/663,623
Granted
Aug 4, 2026
Kind
B2
Abstract

A building schema mapping system, the system including one or more memory devices configured to store instructions, that, when executed by one or more processors, cause the one or more processors to receive strings in a first schema, each string representing at least one of a point, building equipment, or a building space, extract relationships from the strings, each relationship of the relationships indicating a particular relationship between a first string of the strings and a second string of the strings, label each of the strings based on characters of each of the strings, and generate a graph data structure of a second schema based on the relationships and the label of each of the strings.

Claims (73)

1 . A building schema mapping system, the building schema mapping system comprising one or more memory devices configured to store instructions, that, when executed by one or more processors, cause the one or more processors to:

receive a plurality of strings in a first schema, each string representing at least one of a point, building equipment, or a building space;

extract a plurality of relationships from the plurality of strings by applying a plurality of extraction rules that define the plurality of relationships to the plurality of strings, each relationship of the plurality of relationships indicating a particular relationship between a first string of the plurality of strings and a second string of the plurality of strings;

generate, based on the plurality of strings, a tree structure comprising a plurality of levels representing a plurality of sub-strings of the plurality of strings, a plurality of top levels of the plurality of levels representing common sub-strings across two or more of the plurality of strings, one or more bottom levels of the plurality of levels representing one or more unique sub-strings of the plurality of strings, wherein a common sub-string of the common sub-strings is represented in the tree structure by a single top level of the plurality of top levels;

label the plurality of sub-strings of the plurality of levels of the tree structure by assigning a tag-set to a sub-string of the plurality of sub-strings based on tags identified for the sub-string, the tag-set comprising a group of tags describing an entity indicated by the sub-string; and

generate a graph data structure of a second schema based on the plurality of relationships and a label of each of the plurality of strings, wherein one label is based on the tag-set of the sub-string.

2 . The building schema mapping system of claim 1 , wherein the instructions cause the one or more processors to:

receive a naming convention from an external system, the naming convention indicating a mapping between a particular character or a particular character group and a tag of a predefined set of tags;

generate or update a dictionary, the dictionary comprising the mapping between the particular character or the particular character group and the tag of the predefined set of tags; and

label each of the plurality of strings based on characters of each of the plurality of strings with the dictionary by matching the characters of each of the plurality of strings to dictionary characters of the predefined set of tags.

3 . The building schema mapping system of claim 1 , wherein the instructions cause the one or more processors to:

assign an index value to each character of each of the plurality of strings;

determine a beginning index values, one or more middle index values, and an ending index value for one or more groups of characters of each of the plurality of strings, the one or more groups of characters associated with a tag of a set of predefined tags; and

assign a particular beginning index value and one or more particular middle index values to the tag.

4 . The building schema mapping system of claim 1 , wherein the plurality of strings are at least one of sub-string sections of a single string or are each a separate string.

5 . The building schema mapping system of claim 1 , wherein the instructions cause the one or more processors to label each of the plurality of strings based on characters of each of the plurality of strings by:

assigning groups of characters of each of the plurality of strings a particular tag of a predefined set of tags; and

assigning each of the plurality of strings a particular tag-set of a predefined set of tag-sets based on the particular tag assigned to the groups of characters of each of the plurality of strings.

6 . The building schema mapping system of claim 5 , wherein the instructions cause the one or more processors to:

generate a type relationship for each of the plurality of strings, the type relationship relating each of the plurality of strings to the tag-set assigned to each of the plurality of strings; and

generate the graph data structure further based on the type relationship of each of the plurality of strings and the tag-set assigned to each of the plurality of strings.

7 . The building schema mapping system of claim 1 , wherein the instructions cause the one or more processors to generate the tree structure by:

identifying a root sub-string common across all of the plurality of strings and one or more first leaf sub-strings common across two or more of the plurality of strings, and one or more second leaf sub-strings unique to each of the plurality of strings; and

generating the tree structure with the root sub-string, the one or more first leaf sub-strings, and the one or more second leaf sub-strings, wherein the tree structure comprises a plurality of branches across the root sub-string, the one or more first leaf sub-strings, and the one or more second leaf sub-strings, wherein each branch of the plurality of branches represents one string of the plurality of strings.

8 . The building schema mapping system of claim 7 , wherein the instructions cause the one or more processors to label each of the plurality of strings based on the tree structure by labeling leaf characters of the root sub-string, the one or more first leaf sub-strings, and the one or more second leaf sub-strings by labeling from the root sub-string to the one or more second leaf sub-strings according to a hierarchy of the tree structure.

9 . The building schema mapping system of claim 1 , wherein the instructions cause the one or more processors to:

assign, for one string of the plurality of strings, each of a plurality of character groups a tag;

identify one or more unknown character groups of the one string;

generate a user interface and cause the user interface to include an indication of the one or more unknown character groups; and

receive an input from a user via the user interface, the input indicating a manually assigned tag to each of the one or more unknown character groups.

10 . The building schema mapping system of claim 9 , wherein the instructions cause the user interface to include one or more suggested tags, wherein the input received from the user is a selection of one of the one or more suggested tags or is a manually defined tag.

11 . The building schema mapping system of claim 1 , wherein the instructions cause the one or more processors to:

assign, for one string of the plurality of strings, a plurality of tags, wherein each of a plurality of character groups is assigned one tag;

generate a user interface and cause the user interface to include an indication of the plurality of tags; and

receive an input from a user via the user interface, the input indicating an assigned tag-set to the one string.

12 . The building schema mapping system of claim 11 , wherein the instructions cause the user interface to include one or more suggested tag-sets, wherein the input received from the user is a selection of one of the one or more suggested tag-sets or is a manually defined tag-set.

13 . The building schema mapping system of claim 1 , wherein the instructions cause the one or more processors to:

label the plurality of strings by identifying an amount of characters of each of the plurality of strings and comparing the amount of characters to a threshold.

14 . The building schema mapping system of claim 1 , wherein the instructions cause the one or more processors to:

label the plurality of strings by assigning a plurality of tags to the string based on characters of the string; and

assign the tag-set to the string based on the plurality of tags.

15 . A method of building schema mapping, the method comprising:

receiving, by a processing circuit, a plurality of strings in a first schema, each string representing at least one of a point, building equipment, or a building space;

extracting, by the processing circuit, a plurality of relationships from the plurality of strings by applying a plurality of extraction rules that define the plurality of relationships to the plurality of strings, each relationship of the plurality of relationships indicating a particular relationship between a first string of the plurality of strings and a second string of the plurality of strings;

generating, by the processing circuit based on the plurality of strings, a tree structure comprising a plurality of levels representing a plurality of sub-strings of the plurality of strings, a plurality of top levels of the plurality of levels representing common sub-strings across two or more of the plurality of strings, one or more bottom levels of the plurality of levels representing one or more unique sub-strings of the plurality of strings, wherein a common sub-string of the common sub-strings is represented in the tree structure by a single top level of the plurality of top levels;

labeling, by the processing circuit, the plurality of sub-strings of the plurality of strings according to the plurality of levels of the tree structure by assigning a tag-set to a sub-string of the plurality of sub-strings based on tags identified for the sub-string, the tag-set comprising a group of tags describing an entity indicated by the sub-string; and

generating, by the processing circuit, a graph data structure of a second schema based on the plurality of relationships and a label of each of the plurality of strings, wherein one label is based on the tag-set of the sub-string.

16 . The method of claim 15 , further comprising:

receiving, by the processing circuit, a naming convention from an external system, the naming convention indicating a mapping between a particular character or a particular character group and a tag of a predefined set of tags;

generating or updating, by the processing circuit, a dictionary, the dictionary comprising the mapping between the particular character or the particular character group and the tag of the predefined set of tags; and

labeling, by the processing circuit, each of the plurality of strings based on characters of each of the plurality of strings with the dictionary by matching the characters of each of the plurality of strings to dictionary characters of the predefined set of tags.

17 . The method of claim 15 , further comprising:

assigning, by the processing circuit, an index value to each character of each of the plurality of strings;

determining, by the processing circuit, a beginning index values, one or more middle index values, and an ending index value for one or more groups of characters of each of the plurality of strings, the one or more groups of characters associated with a tag of a set of predefined tags; and

assigning, by the processing circuit, a particular beginning index value and one or more particular middle index values the tag.

18 . The method of claim 15 , wherein the plurality of strings are at least one of sub-string sections of a single string or are each a separate string.

19 . The method of claim 15 , wherein labeling, by the processing circuit, each of the plurality of strings based on characters of each of the plurality of strings comprises:

assigning groups of characters of each of the plurality of strings a particular tag of a predefined set of tags; and

assigning each of the plurality of strings a particular tag-set of a predefined set of tag-sets based on the particular tag assigned to the groups of characters of each of the plurality of strings.

20 . The method of claim 19 , further comprising:

generating, by the processing circuit, a type relationship for each of the plurality of strings, the type relationship relating each of the plurality of strings to the tag-set assigned to each of the plurality of strings; and

generating, by the processing circuit, the graph data structure further based on the type relationship of each of the plurality of strings and the tag-set assigned to each of the plurality of strings.

21 . A building system, the building system comprising:

a building management system, the building management system comprising one or more memory devices configured to store instructions, that, when executed by one or more processors, cause the one or more processors to operate one or more pieces of building equipment based on a plurality of strings of a first schema; and

a building schema mapping system comprising one or more memory devices and one or more processors, the building schema mapping system configured to:

receive the plurality of strings from the building management system, each string representing at least one of a point, building equipment, or a building space;

extract a plurality of relationships from the plurality of strings by applying a plurality of extraction rules that define the plurality of relationships to the plurality of strings, each relationship of the plurality of relationships indicating a particular relationship between a first string of the plurality of strings and a second string of the plurality of strings;

generate, based on the plurality of strings, a tree structure comprising a plurality of levels representing a plurality of sub-strings of the plurality of strings, a plurality of top levels of the plurality of levels representing common sub-strings across two or more of the plurality of strings, one or more bottom levels of the plurality of levels representing one or more unique sub-strings of the plurality of strings, where a common sub-string of the common sub-strings is represented in the tree structure by a single top level of the plurality of top levels;

label the plurality of sub-strings of the plurality of levels of the tree structure by assigning a tag-set to a sub-string of the plurality of sub-strings based on tags identified for the sub-string, the tag-set comprising a group of tags describing an entity indicated by the sub-string; and

generate a graph data structure of a second schema based on the plurality of relationships and a label of each of the plurality of strings, wherein one label is based on the tag-set of the sub-string.

22 . The building system of claim 21 , wherein the building schema mapping system is configured to label each of the plurality of strings based on characters of each of the plurality of strings by:

assigning groups of characters of each of the plurality of strings a particular tag of a predefined set of tags; and

assigning each of the plurality of strings a particular tag-set of a predefined set of tag-sets based on the particular tag assigned to the groups of characters of each of the plurality of strings.