1. A method comprising: maintaining, by a computer system comprising at least one server computer, a plurality of data and at least one classification for each of the plurality of data; wherein each data of the plurality of data is aggregated from a plurality data sources and is abstracted into one or more of a plurality of standardized formats based on a type of the data; wherein the computer system has executing thereon a plurality of distinct classification engines, the plurality of distinct classification engines comprising: an a priori classification engine that is configured to classify data based on a set of user-specified classification rules; an a posteriori classification engine that is configured to classify data based on one or more probabilistic algorithm, wherein the one or more probabilistic algorithm is based on statistical analysis of collected data and multiple attributes associated with the collected data; wherein the posteriori classification engine is further configured to reclassify the previously classified data in response to a determination that the previously classified data was not correctly classified; and a heuristics engine that is configured to determine whether a plurality of characteristics are associated with the data and response to a positive determination, classify data based on metadata associated with the data; wherein each said at least one classification is performed by one of the plurality of distinct classification engines at a time of data collection and prior to storing the data in a database; receiving, by the computer system, query input from a user in accordance with at least one standardized format of the plurality of standardized formats; and querying, by the computer system, at least a portion of the plurality of data responsive to the query input.