Patentable/Patents/US-10740396
US-10740396

Representing enterprise data in a knowledge graph

PublishedAugust 11, 2020
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A knowledge base provides a mechanism for storing an organization's data in a way that represents the semantics of the data being stored. The knowledge base may include a knowledge graph that represents relationships between the different classes of data comprising the organization's data. Data that is loaded into the knowledge graph may be stored in data tables associated with the knowledge graph, and cross referenced with node identifiers that contain the data. Searching the knowledge base includes parsing a search input to identify terms in the search input, and mapping the terms to nodes in the knowledge base using the cross referenced information. The relationships among the identified nodes are used to identify a suitable application for processing the search.

Patent Claims
19 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A computer-implemented method for storing data comprising steps of: storing a graph that represents relationships among enterprise data that comprise one or more databases in the enterprise, the graph comprising: a plurality of first-level nodes, the first-level nodes representative of classes of data among the enterprise data, the first-level nodes having links to each other based on relationships among the first-level nodes; and a plurality of second-level nodes that are children nodes of the first-level nodes, the second-levels nodes having links to each other in the same relation as their respective first-level nodes; receiving data that is not search input data, the received data to be stored in the one or more databases in an enterprise; identifying a first-level node from the plurality of first-level nodes by comparing some of the received data to properties and attributes of the respective classes of data represented by the first-level nodes; using the identified first-level node to identify a database table in the one or more databases in the enterprise; storing some of the received data in the identified database table; and growing the graph, including: creating one or more second-level nodes; storing some of the received data in the one or more created second-level nodes; linking the one or more created second-level nodes as children nodes of the identified first-level node; and linking the one or more created second-level nodes to other second-level nodes in the graph in the same relation as the identified first-level node linked to the respective first-level nodes of the other second-level nodes.

2

2. The computer-implemented method of claim 1 wherein the graph further comprises a data source node that is linked to the identified first-level node and corresponds to the database table, the data source node storing parameters of the database table.

3

3. The computer-implemented method of claim 1 wherein identifying a database table includes creating the database table.

4

4. The computer-implemented method of claim 1 further comprising storing some of the data values that comprise the received data in an index.

5

5. The computer-implemented method of claim 1 wherein the graph further comprises link information representative of the links between the plurality of first-level nodes that comprise the graph.

6

6. The computer-implemented method of claim 1 wherein the second-level nodes represent instances of the classes of data.

7

7. The computer-implemented method of claim 1 wherein the identified first-level node is identified based on data field names associated with data that comprise the received data.

8

8. The computer-implemented method of claim 7 wherein the identified first-level node is identified based further on a sampling of the data that comprise the received data.

9

9. A method for storing data comprising operating a computer system to perform steps of: storing a graph that represents relationships among enterprise data that comprise one or more databases in the enterprise, the graph comprising: a plurality of first-level nodes, the first-level nodes representative of classes of data among the enterprise data, the first-level nodes having links to each other based on relationships among the first-level nodes; and a plurality of second-level nodes that are children nodes of the first-level nodes, the second-levels nodes having links to each other in the same relation as their respective first-level nodes; receiving enterprise data that is not search input data, the enterprise data comprising data collected from one or more business systems in an enterprise, the enterprise data to be stored in one or more databases in the enterprise; identifying a first-level node from the plurality of first-level nodes by comparing some of the received data to properties and attributes of the respective classes of data represented by the first-level node; using the identified first-level node to identify a database table in the one or more databases in the enterprise; storing some of the enterprise data in the database table; and growing the graph, including: creating one or more second-level nodes; storing some of the received data in the one or more created second-level nodes; linking the one or more created second-level nodes as children nodes of the identified first-level node; and linking the one or more created second-level nodes to other second-level nodes in the graph in the same relation as the identified first-level node linked to the respective first-level nodes of the other second-level nodes.

10

10. The method of claim 9 further comprising storing properties of the database table in a node that is linked to the first-level node.

11

11. The method of claim 10 wherein the properties of the database table include a name of the database table and a mapping between column names of the database table and properties of the first-level node.

12

12. The method of claim 9 wherein the enterprise data is organized as rows of data and columns of data, wherein the first-level node is identified based at least on column names associated with the columns of data.

13

13. The method of claim 12 wherein the first-level node is identified based further on a sampling of the columns of data.

14

14. The method of claim 9 wherein the storing further includes indexing some the enterprise data in a search index.

15

15. The method of claim 9 further comprising using the enterprise data to identify at least another first-level node, from among the plurality of nodes comprising the graph, whereby first data from the enterprise data correspond to the first-level node and second data from the enterprise data correspond to the other first-level node.

16

16. A computer system comprising: a data processing sub-system; a data storage sub-system having stored therein program code, which, when executed by the data processing sub-system, causes the data processing sub-system to: store a graph that represents relationships among enterprise data that comprise the one or more databases in the enterprise, the graph comprising: a plurality of first-level nodes, the first-level nodes representative of classes of data among the enterprise data, the first-level nodes having links to each other based on relationships among the first-level nodes; and a plurality of second-level nodes that are children nodes of the first-level nodes, the second-levels nodes having links to each other in the same relation as their respective first-level nodes; receive data that is not search input data, the received data to be stored in one or more databases in an enterprise; identifying a first-level node from the plurality of first-level nodes by comparing some of the received data to properties and attributes of the respective classes of data represented by the first-level nodes; using the identified first-level node to identify a database table in the one or more databases in the enterprise; store some of the received data in the identified database table; and grow the graph, including: creating one or more second-level nodes; storing some of the received data in the second-level nodes one or more created; linking the and second-level nodes as children nodes of the identified first-level node; and linking the one or more created second-level nodes to other second-level nodes in the graph in the same relation as the identified first-level node linked to the respective first-level nodes of the other second-level nodes.

17

17. The computer system of claim 16 wherein the second-level nodes represent instances of the classes of data.

18

18. The computer system of claim 16 wherein the program code, which, when executed by the data processing sub-system, further causes the data processing sub-system to index at least some the enterprise data in a search index.

19

19. The computer system of claim 16 wherein the plurality of data to be stored includes computed data and publicly accessible data.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

May 24, 2013

Publication Date

August 11, 2020

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Representing enterprise data in a knowledge graph” (US-10740396). https://patentable.app/patents/US-10740396

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.