19. A computer system comprising: a rule repository operable for storing data quality rules; a graphical user interface comprising a display window and capable of receiving a data set, said data set comprising a plurality of records comprising a plurality of attributes and a plurality of values for said attributes, said plurality of attributes comprising attributes having multiple values, an ontology comprising links that indicate which of said attributes are related, and a set of rule generation parameters; a data quality rules discovery engine capable of receiving said data set, said ontology, and said set of rule generation parameters from said user interface, generating said set of data quality rules, and sending said set of data quality rules to said rule repository, wherein data quality rules generated by said data quality rules discovery engine are displayed in said display window; wherein said data quality rules discovery engine formulates a set of candidate conditional functional dependencies based on a set of candidate seeds by using said ontology, said candidate seeds comprising instances of related attributes; and wherein said data quality rules discovery engine refines said set of candidate conditional functional dependencies by: incrementing a first count of records in a first subset of said plurality of records that are consistent with a conditional functional dependency, wherein all values in a pattern tuple of said conditional functional dependency match respective values in a record that is consistent with said conditional functional dependency; incrementing a second count of records in said first subset of said plurality of records that are inconsistent with said conditional functional dependency, wherein all values in a pattern tuple of the antecedent of said conditional functional dependency match respective values, but values in said pattern tuple of the consequent of said conditional functional dependency do not match respective values, in a record that is inconsistent with said conditional functional dependency; incrementing a third count of records in said first subset of said plurality of records that are not consistent with said conditional functional dependency and are not inconsistent with said conditional functional dependency; determining whether a first measure based on said first and third counts satisfies a first threshold value, wherein if said first measure fails to satisfy said first threshold value then a condition is removed from said antecedent of said conditional functional dependency and said refining then continues for a second subset of said plurality of records; and determining whether a second measure based on said second and third counts satisfies a second threshold value, wherein if said second measure fails to satisfy said second threshold value then said first measure is reduced and said refining then continues for said second subset of said plurality of records; wherein said data quality rules discovery engine terminates refining of said set of candidate conditional functional dependencies when said set of conditional functional dependencies reaches a quiescent state and becomes said data quality rules.
19. A computer system comprising: a rule repository operable for storing data quality rules; a graphical user interface comprising a display window and capable of receiving a data set, said data set comprising a plurality of records comprising a plurality of attributes and a plurality of values for said attributes, said plurality of attributes comprising attributes having multiple values, an ontology comprising links that indicate which of said attributes are related, and a set of rule generation parameters; a data quality rules discovery engine capable of receiving said data set, said ontology, and said set of rule generation parameters from said user interface, generating said set of data quality rules, and sending said set of data quality rules to said rule repository, wherein data quality rules generated by said data quality rules discovery engine are displayed in said display window; wherein said data quality rules discovery engine formulates a set of candidate conditional functional dependencies based on a set of candidate seeds by using said ontology, said candidate seeds comprising instances of related attributes; and wherein said data quality rules discovery engine refines said set of candidate conditional functional dependencies by: incrementing a first count of records in a first subset of said plurality of records that are consistent with a conditional functional dependency, wherein all values in a pattern tuple of said conditional functional dependency match respective values in a record that is consistent with said conditional functional dependency; incrementing a second count of records in said first subset of said plurality of records that are inconsistent with said conditional functional dependency, wherein all values in a pattern tuple of the antecedent of said conditional functional dependency match respective values, but values in said pattern tuple of the consequent of said conditional functional dependency do not match respective values, in a record that is inconsistent with said conditional functional dependency; incrementing a third count of records in said first subset of said plurality of records that are not consistent with said conditional functional dependency and are not inconsistent with said conditional functional dependency; determining whether a first measure based on said first and third counts satisfies a first threshold value, wherein if said first measure fails to satisfy said first threshold value then a condition is removed from said antecedent of said conditional functional dependency and said refining then continues for a second subset of said plurality of records; and determining whether a second measure based on said second and third counts satisfies a second threshold value, wherein if said second measure fails to satisfy said second threshold value then said first measure is reduced and said refining then continues for said second subset of said plurality of records; wherein said data quality rules discovery engine terminates refining of said set of candidate conditional functional dependencies when said set of conditional functional dependencies reaches a quiescent state and becomes said data quality rules. 23. The computer system from claim 19 , wherein said data quality rules discovery engine also refines said candidate conditional functional dependencies by identifying and eliminating a high entropy attribute from a subset of said plurality of attributes, said subset comprising multiple attributes and associated with a candidate conditional functional dependency, said high entropy attribute having the most different values relative to any of the other attributes in said subset of said plurality of attributes.