Collections

Those trained by the academic tradition of the western like to think in terms of categories and collections. Categories in Fedora is modelled by the Content Models, but there is no system in place for Collections. But Fedora allows for RDF relations between objects, and with that we can easily model collections.

There are no inherent semantic meaning attached to collections. They are a way to group objects, pertaining to some criteria.

In the doms-relations namespace (see DomsNameSpaces) we define a reserved relation "isPartOfCollection". All objects must have at least one such relation to at Collection object (ie. an object of ContentModel_Collection). This includes the collection objects themselves, and as such there is a hirachy of collections.

At the top, we have defined a special collection object, called "doms:Root_Collection". This collection contains itself, and all the first-level collections in DOMS. First-level collections are those that are directly part of "doms:Root_Collection". First-level collections can contain second-level collections, which for all purposes are identical to first-level collections, except that they are not part of "doms:Root_Collection". Infinite levels of collections are possible, and the level of a collection is simply the number of "doms-relations:isPartOfCollection" relations that must be followed to get to "doms:Root_Collection".

Only "doms:Root_Collection" is allowed to contain itself, all other collections must be part of another collection. An object can be part of several collections. A collection could thus be both a second level collection and a third level collection. This is perfectly allowed, and raise no problems. Content Models are also part of collections, preferably the collections containing objects that use them.

A special collection "doms:DOMS_Base_Collection" contain the base objects of the DOMS system, described in DataModel. This collection will always be present.