Some repositories are designed so that documents deposited must be assigned to a collection; some allow an editor to re-structure records in a repository into collections. Both pose some difficulties when one day the time comes to migrate the data into another repository. Migration may be very slow, batching one collection at a time; or migration might even cause critical metadata and collection relationships to be lost altogether.
Sets, however, can allow for the grouping or harvesting of defined selections of the repository (e.g. a particular subject, author, resource type, etc.) in a way that avoids the problem of Collections.
Sets are an OAI protocol tool and they can work directly from the metadata in each record without any need for Collection creation. The OAI-PMH site offers a Set plug-in tool for repositories. This OAI Set module will convert pre-assigned Dublin Core element fields into Sets. Thus if it was desirable to have a special Set for a certain resource type in the repository, then the OAI plugin can be told that the Dublin Core “type” element is to be used to create Sets.
So if one wanted to create a Set to single out ADT theses, one would set up the metadata so that the dc:type element in the repository, or at least one of the dc:type elements, contained the value “Australasian Digital Thesis”. Then the OAI module would create a special Set just of all those records that have that value. Another repository might prefer to populate the dc:type element with shorthand “ADT” instead. That’s no problem because the ADT harvester is told how to recognize both the long and short form, and harvests the required Sets from both repositories.
At a more technical level, the OAI Sets module converts the Dublin Core data into an RDF relationship which is necessary for Sets creation. There is no need to have complex hierarchical setups in the repository which can possibly invite trouble for preservation purposes anyway.