1. A computer readable storage medium, comprising executable instructions to: receive a query based on a semantic abstraction that describes at least one underlying data source, wherein the semantic abstraction includes at least one nested semantic abstraction; analyze the query to produce data source specific queries; execute the data source specific queries to produce results; and return results.