| CPC G06N 5/022 (2013.01) [G06F 9/3891 (2013.01); G06F 16/9024 (2019.01); G06F 16/9035 (2019.01); G06F 16/9038 (2019.01); G06F 18/2323 (2023.01)] | 22 Claims |

|
1. A method, comprising:
determining, by a data orchestrator, query workload information corresponding to a domain, the query workload information comprising ontological queries specifying respective concepts in an ontology associated with the domain and respective operations performed by the ontological queries, the ontological queries comprising a first group with corresponding matching concepts that are accessed, the first group performing an aggregate set of operations;
modeling the query workload information as a hypergraph, wherein the hypergraph includes a plurality of vertices and a plurality of hyperedges, wherein each respective vertex in the plurality of vertices corresponds to a respective concept in the ontology and each respective hyperedge in the plurality of hyperedges indicates a respective set of operations applied to concepts associated with the respective hyperedge, wherein a first hyperedge of the plurality of hyperedges is labelled with the aggregate set of operations and connects first vertices representing the matching concepts;
generating mappings between concepts in the ontology and a plurality of data stores based on the hypergraph, wherein:
the plurality of data stores are distributed over multiple data sites and communicate with each other via data transmissions sent over a network, and
the mappings indicate, for each respective concept in the ontology, a respective subset of the plurality of data stores on which the respective concept is to be stored; and
establishing a distributed knowledge base based on the generated mappings, comprising:
storing data associated with concepts of the ontology among the plurality of data stores based on the generated mappings;
storing data associated with a first concept on a first data store of the plurality of data stores; and
storing data associated with a second concept in the ontology on a second data store of the plurality of data stores, wherein the first data store does not store the data associated with the second concept and the second data store does not store the data associated with the first concept.
|