1. A computer-implemented method for producing data quality rules for a data set, comprising: generating a set of candidate conditional functional dependencies based on a set of candidate seeds by using an ontology of said data set, said candidate seeds being comprised of a subset of attributes drawn from a set of the attributes of said data set that have a predetermined degree of separation in said ontology; applying said candidate conditional functional dependencies individually to said data set to obtain a set of corresponding result values for said candidate conditional functional dependencies; refining said candidate conditional functional dependencies individually and repeating said applying if said set of corresponding result values does not have a result signature that meets a predetermined expectation; terminating said applying and refining of said candidate conditional functional dependencies individually when said candidate conditional functional dependencies individually reach a quiescent state; and selecting a relevant set of said candidate conditional functional dependencies to be used as said data quality rules for said data set.