-
Notifications
You must be signed in to change notification settings - Fork 63
GenericFile models
Back to Sample Models page.
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:
- Noid-style pid (ActiveFedora override here)
- 'content' datastream that contains the blob deposited by a user
- 'thumbnail' datastream, a derivative of the Content datastream (if appropriate to the file format)
- '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
- 'rightsMetadata' datastream, for authorizing access to the object
- 'characterization' datastream, including the output of FITS, which we use to characterize every file that is deposited
- '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.
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).