US 11,687,527 B2
System and method for analysis of graph databases using intelligent reasoning systems
Jason Crabtree, Vienna, VA (US); and Andrew Sellers, Monument, CO (US)
Assigned to QOMPLX, INC., Tysons, VA (US)
Filed by QOMPLX, Inc., Tysons, VA (US)
Filed on Oct. 29, 2020, as Appl. No. 17/84,263.
Application 17/084,263 is a continuation in part of application No. 16/864,133, filed on Apr. 30, 2020, granted, now 11,494,665.
Application 16/864,133 is a continuation in part of application No. 15/847,443, filed on Dec. 19, 2017, abandoned.
Application 15/847,443 is a continuation in part of application No. 15/790,457, filed on Oct. 23, 2017, granted, now 10,884,999.
Application 15/790,457 is a continuation in part of application No. 15/790,327, filed on Oct. 23, 2017, granted, now 10,860,951.
Application 15/790,327 is a continuation in part of application No. 15/616,427, filed on Jun. 7, 2017, abandoned.
Application 15/616,427 is a continuation in part of application No. 15/141,752, filed on Apr. 28, 2016, granted, now 10,860,962.
Application 15/141,752 is a continuation in part of application No. 15/091,563, filed on Apr. 5, 2016, granted, now 10,204,147, issued on Feb. 12, 2019.
Application 15/091,563 is a continuation in part of application No. 14/986,536, filed on Dec. 31, 2015, granted, now 10,210,255, issued on Feb. 19, 2019.
Application 14/986,536 is a continuation in part of application No. 14/925,974, filed on Oct. 28, 2015, abandoned.
Application 14/925,974 is a continuation in part of application No. 16/864,133, filed on Apr. 30, 2020, granted, now 11,494,665.
Application 16/864,133 is a continuation in part of application No. 15/847,443, filed on Dec. 19, 2017, abandoned.
Application 15/847,443 is a continuation in part of application No. 15/616,427, filed on Jun. 7, 2017, abandoned.
Application 15/616,427 is a continuation in part of application No. 14/925,974, filed on Oct. 28, 2015, abandoned.
Application 14/925,974 is a continuation in part of application No. 16/864,133, filed on Apr. 30, 2020, granted, now 11,494,665.
Application 16/864,133 is a continuation in part of application No. 15/847,443, filed on Dec. 19, 2017, abandoned.
Application 15/847,443 is a continuation in part of application No. 15/489,716, filed on Apr. 17, 2017, abandoned.
Application 15/489,716 is a continuation in part of application No. 15/409,510, filed on Jan. 18, 2017, abandoned.
Application 15/409,510 is a continuation in part of application No. 15/379,899, filed on Dec. 15, 2016, abandoned.
Application 15/379,899 is a continuation in part of application No. 15/376,657, filed on Dec. 13, 2016, granted, now 10,402,906, issued on Sep. 3, 2019.
Application 15/376,657 is a continuation in part of application No. 15/237,625, filed on Aug. 15, 2016, granted, now 10,248,910, issued on Apr. 2, 2019.
Application 15/237,625 is a continuation in part of application No. 15/206,195, filed on Jul. 8, 2016, abandoned.
Application 15/206,195 is a continuation in part of application No. 15/186,453, filed on Jun. 18, 2016, abandoned.
Application 15/186,453 is a continuation in part of application No. 15/166,158, filed on May 26, 2016, abandoned.
Application 15/166,158 is a continuation in part of application No. 15/141,752, filed on Apr. 28, 2016, granted, now 10,860,962.
Claims priority of provisional application 62/568,298, filed on Oct. 4, 2017.
Claims priority of provisional application 62/568,291, filed on Oct. 4, 2017.
Prior Publication US 2021/0173831 A1, Jun. 10, 2021
Int. Cl. G06F 16/245 (2019.01); G06F 16/248 (2019.01); G06F 40/30 (2020.01); G06N 5/04 (2023.01); G06F 16/901 (2019.01)
CPC G06F 16/245 (2019.01) [G06F 16/248 (2019.01); G06F 16/9024 (2019.01); G06F 40/30 (2020.01); G06N 5/04 (2013.01)] 14 Claims
OG exemplary drawing
 
1. A system for analyzing graph databases using intelligent reasoning systems including scalable collection of, and transformation of, graph data into facts for use with programming logic languages for deductive reasoning, comprising:
a computing device comprising a memory, a processor, and a non-volatile data storage device;
a stream processing engine comprising a first plurality of programming instructions stored in the memory of, and operating on the processor of, the computing device, wherein the first plurality of programming instructions, when operating on the processor, cause the computing device to:
receive an ontology-mediated query, wherein the ontology-mediated query is constructed by a programming logic language;
ingest one or more graph-based databases related to the ontology-mediated query;
determine a conversion configuration for each graph-based database, the conversion configuration comprising a storage technology and data model of that graph-based database and a storage format and model format for a fact table into which the graph-based database is to be converted; and
send the conversion configuration of each graph-based database to a translation service;
a translation service comprising a second plurality of programming instructions stored in the memory of, and operating on the processor of, the computing device, wherein the second plurality of programming instructions, when operating on the processor, cause the computing device to:
convert each graph-based database to facts suitable for use with programming logic languages for deductive reasoning, wherein the conversion is based on the identified storage technology and data model; and
send the facts suitable for use with programming logic languages for deductive reasoning to a sharding service;
a sharding service comprising a third plurality of programming instructions stored in the memory of, and operating on the processor of, the computing device, wherein the third plurality of programming instructions, when operating on the processor, cause the computing device to:
combine the facts suitable for use with programming logic languages for deductive reasoning from the graph-based databases into the fact table; and
a semantic reasoner comprising a fourth plurality of programming instructions stored in the memory of, and operating on the processor of, the computing device, wherein the fourth plurality of programming instructions, when operating on the processor, cause the computing device to:
satisfy the ontology-mediated query by analyzing the fact table; and
output the ontology-mediated query results.