...
This section outlines how the Fedora 3 objects associated with the UNSW repositories are conceptually mapped to Fedora 4 nodes.
Mapping Fedora 3 Object Properties to Fedora 4:
Fedora 3 | Fedora 4 | Example | Note | ||
PID | PID | dc:identifier | someprefixresdatac:1 | Legacy Fedora 3 Legacy PIDidentifier | |
State | state | access:objState | Inactive | Active | Use of fedora:status is preferred but not yet supported. Expected to be addressed by Fedora 4.1.1. |
Label | label | dc:title | Some Record title | ||
Creation Date | createdDateCREATED | premis:hasDateCreatedByApplication | 2014-01-20T04:34:26.331Z | premis:hasDateCreatedByApplication is used because fedora:created is not user-modifiable. | |
Last Modified Date | lastModifiedDate | premis:hasEventDateTime permis:hasEventTypefedora:lastModified | 2014-01-20T05:39:08.601Z migration | premis:hasEventDateTime is used because fedora:created is not user-modifiableDate of migration is to be treated as a “modification”. | |
Owner Identifier | ownerId | premis:hasAgentName premis:hasAgentNote | 2222222 ms21:owner |
z2212222 | The creator of the object |
Mapping Fedora 3 Datastream Properties to Fedora 4:
Fedora 3 | Fedora 4 | Example | Note | |||
DSID | ID | identifier or dc:identifier | MODS | This is the legacy Fedora 3 Legacy DSIDdatastream identifier | ||
State | state | access:objState | Active | Use of fedora:status is preferred but not yet supported. Expected to be addressed by Fedora 4.1.1. | ||
Control Group | Control Group | CONTROL_GROUP | N/A | XThis field will not be used anymore | Migration is deemed unnecessary | |
Versionable | VERSIONABLE | fedora:hasVersions | trueUse Fedora 4 method for creating version, refer to version section | The “VERSIONABLE” property of Fedora 3 is not semantically equivalent to Fedora 4’s hasVersions data property. The mapping proposed is intended to enable migration of Fedora 3 data but will no not be used after migration. | ||
Label | LABEL | dc:title | MODS Metadata | |||
Creation Date | CREATED | premis:hasDateCreatedByApplication | 2014-01-20T04:34:26.331Z | Intended to enable migration of Fedora 3 creation dates. premis:hasDateCreatedByApplication is used because fedora:created is not user-modifiable. | ||
Last Modified Date | N/A | premis:hasEventDateTime permis:hasEventTypefedora:lastModified | 2014-01-20T05:39:08.601Z migration | premis:hasEventDateTime is used because fedora:created is not user-modifiable | Fedora 3 uses “Creation date” for last modified date for datastream. | |
Mime Type | MIMETYPE | fedora:mimeType | text/xml | Automatically added by Fedora 4 | ||
Size | SIZE | premis:hasSize | 50000 | Automatically added Automatically handled by Fedora 4 | ||
Alternate ID | AltIds | premis:hasOriginalName | sample_file.pdf | Automatically added Automatically handled by Fedora 4 On UNSWorks and ResData, AltIds is used to store original uploaded file name | ||
Format Identifier | FORMAT_URI | premis:formatDesignation | WAVE_MPEG_BWF | |||
Checksum Type | checksumType | MD5 | SHA1 | Fedora 4 combines checksum type and checksum in one field on fedora:digest property | ||
Checksum | Checksum Type Checksum | checksumTypechecksum | fedora:digest | Fedora 3 example: b4df41775c142aa18518d6586a8193c8e0b7dc96
Fedora 4 example: urn:sha1:b4df41775c142aa18518d6586a8193c8e0b7dc96
| Automatically added Automatically added by Fedora 4 |
Note: all properties with fedora namespace are not user-modifiable.
...
Format URI | formatURI | N/A | N/A | This field is not used |
Note: all data and object properties under the official Fedora 4 namespace cannot be modified via Fedora 4 REST API.
Fedora 4 Namespaces
Namespace | URL |
fedora | |
dc |
Fedora 4 data model for ResData
...
Note: All classes are derived from existing classes used on Fedora 3 used in RELS-INT and RELS-EXT
Classes
ms21: UNSW_ResearchDataCollection
A ResearchData class individual represents an entity describing about dataset. It has a descriptive metadata and it must have a link to an instance of ResearchActivity and Person. A link can be established to another ResearchData for describing a related ResearchData
Property | Sub-property of | Range | Note |
owl:SameAs | - | - | - |
ms21:relatedDataset |
|
|
|
ms21:principalInvestigator |
| foaf:Person |
|
ms21:contributor |
| foaf:Person |
|
ms21:hasGrant |
|
|
|
ms21:hasAward |
|
|
|
ms21:hasActivity |
|
|
|
ms21:ResearchDataManagementPlan
ResearchDataManagementPlan is a class describing a dataset plan. Similar to ResearchData class, it must have a link to an instance of ResearchActivity and Person.
Property | Sub-property of | Range | Note |
ms21:principalInvestigator |
| foaf:Person |
|
ms21:researchManager |
| foaf:Person |
|
ms21:reader |
| foaf:Person |
|
ms21:contributor |
| foaf:Person |
|
ms21:hasGrant |
|
|
|
ms21:hasAward |
|
|
|
vivo:hasActivity |
|
|
|
vivo:ResearchActivity
...
Figure 1 below presents a top level view of the Fedora 4 data model for ResData.
Figure 1: Fedora 4 data model for ResData
ResData Ontology Classes
The ResData Fedora 4 data model is an adaptation of the PCDM model, integrated with a customised version of ANDS VITRO ontology. The resultant ontology consists mainly of the following classes:
pcdm:Collection (Activities, Datasets, Parties)
Activities, Datasets, and Parties are Fedora 4 container nodes of pcdm:Collection type, mainly intended to enable grouping of the three main ResData resource types, i.e. Activity, Dataset and Party. Fedora 4 URI structures for these pcdm:Collection containers are listed below:
Container name | URL |
Activities | /rest/activities |
Datasets | /rest/datasets |
Parties | /rest/parties |
foaf:Person
Person is a class describing a person.
Descriptive and Administrative Metadata
ResData uses RELS-INT and RELS-EXT to describe additional information on the Fedora 3 object and datastream for storing administrative information and searching purpose. For example status, published date, embargo date, etc.
In Fedora 4, the RELS-INT and RELS-EXT is mapped as resource property of the resource as a administrative metadata.
Below is the RELS-INT and RELS-EXT information that will be ported to Fedora 4 as part of Resource property:
Property | Sub-property of | Range | Note |
ms21:datePublished |
|
|
|
ms21:status |
|
|
|
bibo:doi |
|
|
|
ms21:handle |
| ||
ms21:storageNamespace |
|
| |
ms21:storageStatus |
|
| |
owl:SameAs | Alternate URL |
For descriptive metadata, the format for each of Fedora 4 resource is a Dublin Core metadata format.
Namespace
Namespace | URL |
bibo | |
owl | |
ms21 | http://www.unsworks.unsw.edu.au/ontology/preservation-metadata/ |
VITRO-ANDS | |
core | |
foaf |
(TODO: Range and example)
Sample URL structure on Fedora 4
Based on the model above, each resource can be added on the root using Fedora 4 default ingest using PairTree.
For example:
Type | foaf:Person |
---|---|
URL | http://localhost:8080/fcrepo-webapp-4.1.0/rest/e3/93/78/f1/e39378f1-dc42-40d9-9199-545ff5860308 |
Identifier | e3/93/78/f1/e39378f1-dc42-40d9-9199-545ff5860308 |
UNSWorks Data Model
Note: All classes are derived from existing classes used on Fedora 3 used in RELS-INT and RELS-EXT
Classes
unsworksp:collection
Collection is a class describing a group of records. Aside from descriptive metadata, it contains administrative metadata containing access information to the records belonging to the collection.
...
Property | Sub-property of | Range | Note |
unsworksp:migratedFrom |
|
|
Descriptive and Administrative Metadata
Similar to ResData, UNSWorks also uses RELS-INT and RELS-EXT to describe additional information on the Fedora 3 object and datastream for storing administrative information and searching purpose. For example doi and handle.
...
For descriptive metadata, the format for each of Fedora 4 resource is a Dublin Core metadata format.
Namespace
Namespace | URL |
unsworks | |
unsworksp | http://www.unsworks.unsw.edu.au/ontology/preservation-metadata/ |
owl |
Sample URL structure on Fedora 4
Based on the model above, each resource can be added on the root using Fedora 4 default ingest using PairTree. The binary file of that particular resource will be added with the resource node as the parent using PairTree.
...