1. A computing device comprising: a processor; and memory, coupled to the processor, storing instructions that, when executed, cause the computing device to: receive, from a client application, a query object indicative of a query; in response to receiving the query object, identify a data source associated with the client application, the query object being defined according to an object model that is: expressed in an object-oriented programming language, and independent of a data model implemented by the data source; parse the query object to generate an intermediate description of the query; translate the intermediate description of the query into a query string in a target query language that corresponds to the data model implemented by the data source; and transmit the query string in the target query language to the data source for execution of the query.