US 12,277,172 B2
Graph creation from multiple databases
Xinyu Chang, Menlo Park, CA (US); Yu Xu, Millbrae, CA (US); Zixuan Zhuang, Redwood City, CA (US); and Mingxi Wu, San Mateo, CA (US)
Assigned to TigerGraph, Inc., Redwood City, CA (US)
Filed by GraphSQL, Inc., Redwood City, CA (US)
Filed on Dec. 18, 2018, as Appl. No. 16/223,328.
Prior Publication US 2020/0192938 A1, Jun. 18, 2020
Int. Cl. G06F 16/901 (2019.01); G06F 16/903 (2019.01)
CPC G06F 16/9024 (2019.01) [G06F 16/90335 (2019.01)] 17 Claims
OG exemplary drawing
 
1. A method comprising:
identifying a request to generate a graph from a plurality of databases, wherein the plurality of databases indicate a plurality of attributes associated with a plurality of entities, and wherein a first database of the plurality of databases indicates a first set of attributes in the plurality of attributes that is different than a second set of attributes in a second database of the plurality of databases;
in response to the request, identifying attribute types of interest in the plurality of databases that correspond to unique identifier types for the plurality of entities;
for each attribute type of interest of the attribute types of interest, generating a vertex in the graph for each unique attribute identified in the plurality of databases for the attribute type of interest, wherein the unique attribute uniquely identifies an entity of the plurality of entities;
for each vertex in the graph:
determining whether the vertex is associated with one or more other vertices of the vertices generated for the unique attributes based on associations of the unique attribute for the vertex with other unique attributes of the unique attributes in the plurality of databases;
in response to determining that the vertex is associated with one or more other vertices, connecting the vertex with the one or more other vertices using an entity vertex representative of an entity of the plurality of entities; and
in response to determining that the vertex is not associated with one or more other vertices, generating an entity vertex representative of an entity of the plurality of entities and connecting the vertex to the entity vertex;
obtaining a query, wherein the query indicates a unique attribute of the unique attributes;
identifying at least one vertex in the graph that shares an entity vertex with the vertex for the unique attribute indicated in the query; and
generating a response to the query based on at least one unique attribute corresponding to the at least one vertex.