1. Collections

Collections are a means to organize objects in a hierarchical structure - like folders in a file system.

collections

The purpose of collections:

  • define write rules (who may deposit a new object)
  • search constraint
  • structure for browsing

Collection Object:

  • Obj ID (FOXML)
  • title, write permissions
  • aribtrary number of nesting levels are allowed.

Notice that a collection should not be used to store different representations of the same object. In such case, the representations should be stored in a single object in the datastreams DS1...DSn (see 3.5)

1.1. Basic Collection Object

The Basic Collection Object serves as a simple container for other objects or sub-collections. It has a name and defines which aai-identified persons have the right to create new objects or sub-collections in the collection.

1.1.1. Basic Collection Datastreams 

 ID Label Description
Internal FOXML   Object ID (pid)
DC Dublin Core Generated and used internally by Fedora. Don’t touch this!
CHOR_DC SWITCHcollection application profile of Dublin Core
  • Title
  • Access permissions <rights>
RELS-EXT RELS-EXT Relations to collection and content model

 

1.1.2. Datastream CHOR_DC: Mandatory Elements

 Element Description Examples
title The name or title of the collection “DNA from the Beginning”
aaiid AAI ID of the creator of the collection. “3562781242@zhaw.ch”
rights Who may add new items to the collection Private, group, institution, public.
Preliminary simple syntax:
“private” “group=<aai-group-id>” “institution=<aai-home-organization>”
“public”
 

1.1.3. Datastream RELS-EXT

This datastream specifies relations of the collection object to other collections and to the content model. Both RDF elements are mandatory.

Label Description
rel:isMemberOfCollection Reference to the collection object that contains the resource
rel:conformsTo Reference to content model object basic collection
oai:setSpec Colon separated list indicating the path from the root of the set (=collection) hierarchy to the respective node. Examples: “ethz:dagrl:phytopathology”; “subject:science:geology:earthquake”
oai:setName Human-readable string naming the set

 

2.2. Typed Collection Object

The Typed Collection Object is an extension to the Basic Collection Object described above. Its purpose is to specify a collection of 1) a defined type and 2) to add more metadata to a collection object than just a title.

Typed Collection Objects are useful if groups of objects logically belong together and have to be interpreted or treated in a special way. A typical example are collections of video clips that all belong to the same lecture (channel), or lessons or different material that belong to a course.

2.2.1. Typed Collection Datastreams

The Typed Collection Datastreams are exactly the same as for the Basic Collection.

2.2.2. Datastream CHOR_DC: Elements

The DC datastream of a typed collection is mostly the same as for the Basic Object (see 3.3, 3.3.2). These are the differences to the DC datastream of the Basic Object model:

  • The elements title, aaiid, rights have the same meaning as for the Basic Collection Object
  • The elements license are not mandatory

2.2.3. Datastream RELS-EXT

This datastream specifies relations of the collection object to other collections and to the content model. Both RDF elements are mandatory.  

Label Description
rel:isMemberOfCollection Reference to the collection object that contains the resource
rel:conformsTo

Reference to the content model object for the specified collection type.

The following collection types are specified:

  • Video channel: A channel contains a bunch of video clips that all belong to the same lecture or presentation series.
  • Course: A course contains a bunch of different objects (Contents, Tests, Self-tests, assignments etc.) that all belong to the same lecture.
oai:setSpec Colon separated list indicating the path from the root of the set (=collection) hierarchy to the respective node. Examples: “ethz:dagrl:phytopathology”; “subject:science:geology:earthquake”
oai:setName Human-readable string naming the set