1. A machine-implemented method of information retrieval, comprising: receiving, at a processing device, object-oriented data from multiple data sources; receiving, at the processing device, a query from a query application that formulates the query and supplies the query to an information retrieval system, wherein the query application is not part of the information retrieval system, the query comprising an ordered set of clause definitions each comprising a clause pipeline and a time constraint, wherein the clause pipeline comprises an ordered set of clause specifications that comprises: an expansion operation and/or a filter operation, wherein a first clause specification in the clause pipeline operates on an initial set of objects of the object-oriented data, and each subsequent clause specification in the clause pipeline operates on one or more objects that is produced from a respective previous clause specification that is executed directly before the subsequent clause specification within the ordered set of clause specifications, parsing, at the processing device, the query into a graph of data nodes; processing, at the processing device, the data nodes in the graph on the object-oriented data to generate a current object set, wherein each data node is processed using a data model generated by a model builder component, the model builder component obtaining data for the data model from a given data source of the multiple data sources; and returning, at the processing device, the current object set to the query application in response to the query.
6. The method as described in claim 1 wherein the given data source comprises: a relational database, an application programming interface, or any data source that produces objects; or any combination thereof.