Searching relational and graph databases
US-2017212931-A1 · Jul 27, 2017 · US
US2020226156A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2020226156-A1 |
| Application number | US-201916247468-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jan 14, 2019 |
| Priority date | Jan 14, 2019 |
| Publication date | Jul 16, 2020 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Embodiments of the invention identify entities stored within or across a number of data stores and identify relationships between the entities. A relationships graph is generated that represents the entities and the identified relationships between entities, the relationships graph comprising nodes in the relationships graph to represent one or more entities and edges between any two nodes in the relationships graph to represent the identified relationships between the one or more entities represented by each of the two nodes. The relationships graph is stored in a graph store. A graph query is received against selected nodes and edges in the graph store. One or more data store queries are generated therefrom, to be executed against respective selected ones of the one or more entities and their respective identified relationships based on the graph query and the graph store. The one or more data store queries are applied to selected one or more of the number of data stores. The results of the execution of the one or more data store queries are received and a response is composed to the graph query for the selected ones of the one or more entities and their identified relationships based on the results of the execution of the one or more data store queries.
Opening claim text (preview).
What is claimed is: 1 . A method, comprising: identifying entities stored within or across a plurality of data stores and identifying relationships between the entities; generating a relationships graph that represents the entities and the identified relationships between entities, the relationships graph comprising nodes in the relationships graph to represent one or more entities and edges between any two nodes in the relationships graph to represent the identified relationships between the one or more entities represented by each of the two nodes; storing the relationships graph in a graph store; receiving a graph query against selected nodes and edges in the graph store; generating one or more data store queries to be executed against respective selected ones of the one or more entities and their respective identified relationships based on the graph query and the graph store; executing the one or more data store queries against the selected one or more of the plurality of data stores; receiving results of the execution of the one or more data store queries; and composing a response to the graph query for the selected ones of the one or more entities and their identified relationships based on the results of the execution of the one or more data store queries. 2 . The method of claim 1 , wherein identifying entities stored within or across the plurality of data stores and identifying relationships between the entities comprises identifying entities stored within or across one or more of: a relational database, an SQL database, a non-relational database, a non-SQL database, an unstructured database, and unstructured data. 3 . The method of claim 1 , wherein identifying the entities and the relationships between the entities comprises one or more of: receiving user input identifying the relationships between entities; and receiving meta-data regarding the entities and the plurality of data stores and automatically identifying relationships between the entities stored within or across the plurality of data stores based on the meta-data. 4 . The method of claim 3 , wherein receiving meta-data regarding the entities and the plurality of data stores and automatically identifying relationships between the entities stored within or across the plurality of data stores based on the meta-data comprises one or more of: receiving user or machine learning input identifying one or both of a similarity and frequency of an attribute-value expression for instances of an entity stored within or across the plurality of data stores; receiving a plurality of workflows applied to the entities stored within or across the plurality of data stores, and identifying relationships between the entities stored within or across the plurality of data stores based on an analysis of the plurality of work flows applied to the entities; receiving a respective data definition language (DDL) of a schema for each of a plurality of relational databases, and identifying relationships between the entities stored within or across the plurality of relational databases based on an analysis of the DDLs of the schemas; receiving user input identifying instances of entities within or across the plurality of data stores that are the same, and identifying relationships between the same instances of entities stored within or across the plurality of data stores; and receiving one or more of query logs and usage logs of the plurality of data stores, and identifying relationships between the entities stored within or across the plurality of data stores based on an analysis of the query logs and usage logs. 5 . The method of claim 1 , wherein the nodes in the relationships graph that represent the one or more entities each comprise an identity for or pointer to each of the plurality of data stores and the one or more entities respectively stored therein from which the node was generated. 6 . The method of claim 1 , wherein the nodes in the relationships graph that represent the one or more entities comprise nodes in the relationships graph that represent multiple instances of an entity stored within or across the plurality of data stores where the similarity and frequency of the attribute-value expression for the instances of the entity stored within or across the plurality of data stores exceeds a threshold. 7 . The method of claim 1 , wherein generating one or more data store queries to be executed against respective selected ones of the one or more entities and their respective identified relationships based on the graph query and the graph store comprises selecting the one or more of the plurality of data stores and selecting the ones of the one or more entities stored therein based on the identity for or pointer to each of the one or more data stores and the one or more entities respectively stored for or within each node in the relationships graph. 8 . The method of claim 1 , wherein composing the response to the graph query for the selected ones of the one or more entities and their identified relationships based on the results of the execution of the one or more data store queries further comprises composing the response to the graph query based on instructions set forth in the graph query itself for manipulating the selected ones of the one or more entities. 9 . A non-transitory computer readable storage media having instructions stored therein that, when executed by a system of a host organization operated by a cloud computing services provider, the system having at least a processor and a memory therein, the instructions cause the system to perform the following operations: identifying entities stored within or across a plurality of data stores and identifying relationships between the entities; generating a relationships graph that represents the entities and the identified relationships between entities, the relationships graph comprising nodes in the relationships graph to represent one or more entities and edges between any two nodes in the relationships graph to represent the identified relationships between the one or more entities represented by each of the two nodes; storing the relationships graph in a graph store; receiving a graph query against selected nodes and edges in the graph store; generating one or more data store queries to be executed against respective selected ones of the one or more entities and their respective identified relationships based on the graph query and the graph store; executing the one or more data store queries against the selected one or more of the plurality of data stores; receiving results of the execution of the one or more data store queries; and composing a response to the graph query for the selected ones of the one or more entities and their identified relationships based on the results of the execution of the one or more data store queries. 10 . The non-transitory computer readable storage media of claim 9 , wherein the instructions that cause the system to perform the operation of identifying entities stored within or across the plurality of data stores and identifying relationships between the entities comprise instructions that cause the system to perform the operation of identifying entities stored within or across one or more of: a relational database, an SQL database, a non-relational database, a non-SQL database, an unstructured database, and unstructured data. 11 . The non-transitory computer readable storage media of claim 9 , wherein the instructions that cause the system to perform the operation of identifying the entities and the relationships between the entities comprise instructions that cause the system to perform one or more of the op
Graphs; Linked lists (G06F16/9027 takes precedence) · CPC title
Entity relationship models · CPC title
with details for data modelling support · CPC title
Query processing · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.