Patent ID: 8862614

Claim:
A machine-readable storage medium containing machine-executable instructions for performing a method of answering a dynamic query having an answer that requires the fusing of data from among multiple heterogeneous data sources, said machine-executable instructions comprising: a first set of machine-executable instructions for receiving the dynamic query; a second set of machine-executable instructions for automatedly evaluating the dynamic query to determine data items and levels of detail needed to provide the answer; a third set of machine-executable instructions for automatedly developing a data-fusing plan based on an ontology of the multiple heterogeneous data sources as a function of the data items and levels of detail, wherein the data-fusion plan includes one or more steps for creating fused data; a fourth set of machine-executable instructions for automatedly executing the one or more steps to create the fused data based on the data items; and a fifth set of machine-executable instructions for automatedly generating the answer based on the fused data; wherein: said third set of machine-executable instructions includes machine-executable instructions for implementing a graph theoretic approach to determine which ones of the multiple heterogeneous data sources are needed to generate the answer; said machine-executable instructions for implementing the graph theoretic approach includes machine-executable instructions for constructing a graph of the multiple heterogeneous data sources; said machine-executable instructions for implementing the graph theoretic further includes machine-executable instructions for traversing the graph so as to determine a set needed data sources needed data to create the fused data; and said machine-executable instructions for traversing the graph includes machine-executable instructions for: starting with a needed data source: next selecting an adjacent connected needed data source, if available; and if none of the adjacent data sources is a needed data source, next selecting a more highly connected adjacent data source over a less highly connected adjacent data source.