Differences between revisions 1 and 7 (spanning 6 versions)
Revision 1 as of 2008-09-29 07:31:50
Size: 913
Editor: abr
Comment:
Revision 7 as of 2008-10-03 12:55:17
Size: 2637
Editor: abr
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Line 4: Line 3:
The DOMS system will be a system that models several collections of digital objects. Each object belongs to one or more collections. This is represented by having one or more "isPartOfCollection" relations to the parent collections. This goes for a collection object as well - it belongs to another collection. One collection has special status though: the "doms:Root_Collection" does not belong to any other collection, and is thus the bottom element for the "isPartOfCollection" relation. Every other collection has a "isPartOfCollection" relation to "doms:Root_Collection". Those trained by the academic tradition of the western world like to think in terms of categories and collections. Categories in Fedora are 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.
Line 6: Line 5:
In addition, DOMS contains another special collection - the "doms:DOMS_Base_Collection". This collection provides objects such as content models and licenses that are utilized by (and mandatory for) the other collections in the DOMS. This collection is meant to be ingested as the first collection in the DOMS. There is no inherent semantic meaning attached to collections. They are a way to group objects, pertaining to some criteria.

Content Models are also part of collections, preferably the collections containing objects that use them.

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


== The Collection Hirachy ==
In the doms-relations namespace (see DomsNameSpaces) we define a reserved relation "isPartOfCollection". All objects must have at least one such relation to a Collection object (ie. an object of [:DataModel/ContentModel_Collection: doms: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 [:DataModel/Root_Collection: 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 [:DataModel/Root_Collection: 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 [:DataModel/Root_Collection: doms:Root_Collection]. Infinite levels of collections are possible, and the level of a collection is simply the lowest number of "doms-relations:isPartOfCollection" relations that must be followed to get to [:DataModel/Root_Collection: 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. For all collection objects there must exist a path to "doms:Root_Collection". A collection can only be part of a collection with a lower level, so that a second-level collection cannot be part of a third-level collection. This is to guard against cycles of collections being part of each other.

These rules boil down to following: Each collection has a level n. Each collection can contain collections with level n+1, and must be part of at least one collection with level n-1. No other connections are possible, the cannot just skip a level.

Collections

Those trained by the academic tradition of the western world like to think in terms of categories and collections. Categories in Fedora are 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 is no inherent semantic meaning attached to collections. They are a way to group objects, pertaining to some criteria.

Content Models are also part of collections, preferably the collections containing objects that use them.

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

The Collection Hirachy

In the doms-relations namespace (see DomsNameSpaces) we define a reserved relation "isPartOfCollection". All objects must have at least one such relation to a Collection object (ie. an object of [:DataModel/ContentModel_Collection: doms: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 [:DataModel/Root_Collection: 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 [:DataModel/Root_Collection: 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 [:DataModel/Root_Collection: doms:Root_Collection]. Infinite levels of collections are possible, and the level of a collection is simply the lowest number of "doms-relations:isPartOfCollection" relations that must be followed to get to [:DataModel/Root_Collection: 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. For all collection objects there must exist a path to "doms:Root_Collection". A collection can only be part of a collection with a lower level, so that a second-level collection cannot be part of a third-level collection. This is to guard against cycles of collections being part of each other.

These rules boil down to following: Each collection has a level n. Each collection can contain collections with level n+1, and must be part of at least one collection with level n-1. No other connections are possible, the cannot just skip a level.

DomsCollections (last edited 2010-03-17 13:09:04 by localhost)