Skip to content
mjgiarlo edited this page Sep 19, 2012 · 2 revisions

Back to Sample Models page.

Generic File (Penn State)

Model | Test | Fixtures

Description

We use this model for all deposits to ScholarSphere, a research repository service at Penn State. A GenericFile is a "Simple" object, and consists of the following components:

  1. Noid-style pid (ActiveFedora override here)
  2. 'content' datastream that contains the blob deposited by a user
  3. 'thumbnail' datastream, a derivative of the Content datastream (if appropriate to the file format)
  4. 'descMetadata' datastream, with descriptive metadata about the object, either entered by the user or extracted from the file, expressed in RDF and serialized in ntriples format
  5. 'rightsMetadata' datastream, for authorizing access to the object
  6. 'characterization' datastream, including the output of FITS, which we use to characterize every file that is deposited
  7. 'properties' datastream, which we use for random bits of metadata such as the depositor (for use with apply_depositor_metadata method) and the relative_path of a file within a folder-style batch

GenericFiles that are uploaded together are associated via the isPartOf relationship in RELS-EXT. The object of this relationship is a new Batch object, which is little more than an identifier to hold that relationship together. We may exploit this functionality further in a subsequent release.

Notes

The GenericFile model uses ActiveFedora's RDFDatastream model for its descriptive metadata (view the terminology).

The 'characterization' datastream is an OM (Opinionated Metadata) terminology built to parse the output of FITS (File Information Tool Set), a tool that characterizes files (extracts descriptive metadata and generates technical metadata) (view the terminology).

ScholarSphere uses the ParanoidRightsDatastream class for rights metadata. ParanoidRightsDatastream builds on the Hydra commonMetadata mix-in and adds a lightweight way to validate rights assertions attached to objects (view the class).

Clone this wiki locally