Differences between revisions 4 and 5
Revision 4 as of 2008-09-30 08:16:07
Size: 2010
Editor: abr
Comment:
Revision 5 as of 2008-09-30 09:20:56
Size: 2469
Editor: abr
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
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. 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 5: Line 5:
There are no inherent semantic meaning attached to collections. They are a way to group objects, pertaining to some criteria. There is no inherent semantic meaning attached to collections. They are a way to group objects, pertaining to some criteria.
Line 7: Line 7:
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, see DataModel). 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.
Content Models are also part of collections, preferably the collections containing objects that use them.
Line 14: Line 10:


== 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 !ContentModel_Collection, see DataModel). 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 lowest 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. 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 "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 ContentModel_Collection, see DataModel). 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 lowest 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. 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)