1. A data processing system for searching datasets by examples, the system comprising: a processor; and a memory coupled to the processor, the memory configured to store program instructions executable by the processor to cause the data processing system to: receive a collection of values from a user, each value in the collection of values having a data type which is to serve as a basis for searching a pool of data resources for corresponding groups of datasets, the pool of data resources being distinct from the received collection of values; identify a data type for each of the values; identify datasets that correspond to the data types, each identified dataset comprising one or more of the data types identified in the collection of values; identify relationships among the datasets, the relationships corresponding to links between similar data types in different datasets; and provide a list of proposed groups of datasets, wherein the datasets within each proposed group are linked to each other through one or more relationships.