Related Objects - low level implementation


Table of Contents


References

 


Summary

Background:

Groups of things in a Collection are...

  • Collection pcdm:hasMember Collection
  • Collection pcdm:hasMember Object
  • Collection ore:aggregates Object (related object)

Groups of things in an Object are...

  • Object pcdm:hasMember Object
  • Object ore:aggregates Object (related object)
  • Object pcdm:hasFile File
  • Object pcdm:hasRelatedFile File (related file)

NOTE: hasFile and hasRelatedFile are not aggregations and therefore are not covered under the Proposed Solution. See #19

Proposed Solution:

Collections and Objects

Collections and objects will be in a single aggregation with predicate pcdm:hasMember. This is consistent with the current implementation.

Defined by:

aggregates :members, :predicate => RDFVocabularies::PCDMTerms.hasMember, :class_name => "ActiveFedora::Base"

 

NOTE: The same approach will be used for Object pcdm:hasMember Object

Related Objects

The Collection object will have a property with predicate pcdm:hasRelatedObjects which will point to a pcdm:Object that serves as an ORE:aggregation of the related objects.

Defined by:

property :relatedObjects, predicate: RDFVocabularies::PCDMTerms.hasRelatedObjects

 

NOTE: The predicate is plural because it is a container for the related objects, not the related object itself.

NOTE: The same approach will be used for Object's related objects.

 


Issues