1. A computer-based method of facilitating a response to a user query, the method comprising: a) receiving an arbitrarily complex user query; b) translating the user query into an operator graph based on a data model; c) generating a logical operator graph from the operator graph, the operator graph representing a composable SQL query that includes a plurality of sub-queries; d) generating one or more SQL queries from the logical operator graph, each SQL query directed to a corresponding data source, each data source having exactly one corresponding SQL query; e) sending each of the one or more SQL queries to its corresponding data source; f) receiving, from each data source, a corresponding result set; g) if more than one result set is received, combining the result sets to produce a user response.