1. A method for integrating a plurality of data sources comprising the steps of: obtaining semantic information from each of the plurality of data sources; creating a conceptual model for each of the plurality of data sources using said semantic information; accessing a secondary knowledge source having information that relates the different data sources; creating an integrated semantic model of the plurality of data sources using said conceptual models and said secondary knowledge source; wherein said semantic information comprises characterization of at least one of constraints that hold for subsets of data in the plurality of data sources and relationships that hold between the data; wherein said semantic information further comprises information expressing properties of the data that have not been explicitly encoded in an alphanumeric representation of the data or in a syntactic structure that holds together different data elements.