Skip to content
Esmé Cowles edited this page Aug 5, 2015 · 13 revisions

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 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 a different kind of LDP container for related files to keep or omit the relationship between the parent object and the related files.

Current Model: pcdm:hasRelatedFile

hasRelatedFile1

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> .

</object1/relatedFiles> a ldp:DirectContainer;
  ldp:hasMemberRelation pcdm:hasRelatedFile;
  ldp:membershipResource </object1> .

</object1/files/file1> a pcdm:File;
  iana:describedby </object1/relatedFiles/related1> .

</object1/relatedFiles/related1> a pcdm:File;
  iana:describes </object1/files/file1> .

Alternative Model: no relationship

hasRelatedFile2

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> .

</object1/relatedFiles> a ldp:BasicContainer .

</object1/files/file1> a pcdm:File;
  iana:describedby </object1/relatedFiles/related1> .

</object1/relatedFiles/related1> a pcdm:File;
  iana:describes </object1/files/file1> .