-
Notifications
You must be signed in to change notification settings - Fork 11
Related Files
Question: When there is technical metadata about a pcdm:File in XML format (e.g., FITS XML), should there be a relationship between the parent pcdm:Object and the technical metadata file? The current model includes using pcdm:hasRelatedFile for this purpose.
An alternative would be to omit the relationship. This has been discussed previously, but rejected because most implementors plan to use Fedora 4, which doesn't allow Files to be nested inside the descriptions of other Files. However, with the emerging LDP implementation pattern, we could use different kinds of LDP container for related files to keep or omit the relationship between the parent object and the related files.
The related files are in an LDP DirectContainer with predicates that specify a relationship between the parent object and the related files:
</object1> a pcdm:File;
ldp:contains </object1/files>, </object1/relatedFiles>;
pcdm:hasFile </object1/files/file1>;
pcdm:hasRelatedFile </object1/relatedFiles/related1> .
</object1/files> a ldp:DirectContainer;
ldp:hasMemberRelation pcdm:hasFile;
ldp:membershipResource </object1>;
ldp:contains </object1/files/files1> .
</object1/relatedFiles> a ldp:DirectContainer;
ldp:hasMemberRelation pcdm:hasRelatedFile;
ldp:membershipResource </object1>
ldp:contains </object1/relatedFiles/related1> .
</object1/files/file1> a pcdm:File;
iana:describedby </object1/files/file1/fcr:metadata>,
</object1/relatedFiles/related1> .
</object1/relatedFiles/related1> a pcdm:File;
iana:describedby </object1/relatedFiles/related1/fcr:metadata>;
iana:describes </object1/files/file1> .
The related files are in an LDP BasicContainer without any predicates specifying a relationship between the parent object and the related files:
</object1> a pcdm:File;
ldp:contains </object1/files>, </object1/relatedFiles>;
pcdm:hasFile </object1/files/file1> .
</object1/files> a ldp:DirectContainer;
ldp:hasMemberRelation pcdm:hasFile;
ldp:membershipResource </object1>
ldp:contains </object1/files/file1> .
</object1/relatedFiles> a ldp:BasicContainer;
ldp:contains </object1/relatedFiles/related1> .
</object1/files/file1> a pcdm:File;
iana:describedby </object1/files/file1/fcr:metadata>,
</object1/relatedFiles/related1> .
</object1/relatedFiles/related1> a pcdm:File;
iana:describedby </object1/relatedFiles/related1/fcr:metadata>;
iana:describes </object1/files/file1> .
Alternate LDP Projection: DirectContainer per File
Instead of manually creating the describes relationship, a DirectContainer could also be used to manage the relationship. This would mean more containers, but fewer interactions:
</object1/files/file1> a pcdm:File;
iana:describedby </object1/files/file1/fcr:metadata>,
</object1/relatedFiles/related1> ;
pcdm:hasRelatedFilesContainer </object1/relatedFiles1/> .
</object1/relatedFiles1> a ldp:DirectContainer ;
ldp:membershipResource </object1/files/file1> ;
ldp:hasMemberRelation iana:describedby ;
ldp:contains </object1/relatedFiles1/related1> .
</object1/relatedFiles1/related1> a pcdm:File;
iana:describedby </object1/relatedFiles1/related1/fcr:metadata>;
iana:describes </object1/files/file1> .
The first describedby link for file1 is added by Fedora4 (or other LDP system), and the second is managed by the DirectContainer. It would need the hasRelatedFilesContainer link to discover which DirectContainer was associated with which File, as the container can't be below the File itself.
- PCDM Google Group
- PCDM Wiki Homepage
- IRC: #pcdm on irc.freenode.net
- Published ontologies
- PCDM Committers
- PCDM Committers Process
- PCDM Contributors
- PCDM Community Meetings
- Community Resources