Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding communities and collection metadata to AIPs #255

Closed
pgwillia opened this issue Aug 9, 2022 · 8 comments
Closed

Adding communities and collection metadata to AIPs #255

pgwillia opened this issue Aug 9, 2022 · 8 comments
Assignees

Comments

@pgwillia
Copy link
Member

pgwillia commented Aug 9, 2022

Currently AIPs are not being created for collections. There is important information about collections that we should be capturing in the preservation metadata in one way or another. This discussion can pick up again following on conversations about our preservation path going forward.

Reviewed details on what is currently being collected in the database for communities and collections (database schema: https://github.com/ualbertalib/jupiter/blob/b6961f5a3b9fd20fd552469d5872eca425f7d6bf/db/schema.rb#L91-L123

samples: https://gist.github.com/pgwillia/eed7dd858e17a9a67f9d90cb1d703adb#file-atmire_collection_data-csv and https://gist.github.com/pgwillia/eed7dd858e17a9a67f9d90cb1d703adb#file-atmire_community_data-csv).

Properties for inclusion in AIPs for collections:

rdf:type (i.e., is a pcdm:Collection)
pcdm:memberOf (uuid for community)
dc:title
dc:description
dc:accessRights
ual:restrictedCollection
info:createdDate
ual:recordCreatedInJupiter

Properties for inclusion in AIPs for communities:

rdf:type (is a pcdm:Object, is a ual:Community)
dc:title
dc:description
dc:accessRights
info:createdDate
ual:recordCreatedInJupiter

Originally posted by @sfarnel in #196 (comment)

@pgwillia
Copy link
Member Author

pgwillia commented Aug 9, 2022

We discussed a couple ways to do this

  1. preserving collections and communities separately
  2. adding collection and community metadata to the AIPs we preserve

We were leaning towards the second option but would have to enqueue all items in a community/collection any time it changed.

@lagoan
Copy link
Contributor

lagoan commented Dec 2, 2022

I am trying to figure out the best place to store that metadata for the communities and collections.

Looking at the Item model I see and item can belong to multiple community/collection pairs. Going with option 2 would mean that the information for all community/collection pairs would reside in the AIP.

Would the best place for that metadata be in the object_metadata.n3 file? Here is an example of the current contents of that file.

The object_metadata.n3 has the predicate http://pcdm.org/models#memberOf which contains the collections to which the entity belongs. Would we change and add a container for each community/collection parent pair? If so, what would it look like?

Alternatively, we could place the community/collection information on a separate file inside the AIP. That file could contain just a list of community/collection pairs. Which predicates could be used to describe these pairs?

Lastly, we could just add a list of the information of both communities and collections to which the item belongs. Each collection could have its information, including the parent's community UUID.

What are your thoughts on this?

@lagoan
Copy link
Contributor

lagoan commented Dec 2, 2022

Now pinging members of the metadata team (@sfarnel @anayram @lucfagnan).

@anayram
Copy link
Member

anayram commented Dec 6, 2022

Thank you, @pgwillia @lagoan

Short answer:
As far as I know we don't need to include communities/collections metadata (other than membership information) in Items and Theses .n3 files. I think what is required is simpler (option 1 here) but I would like to get @sfarnel 's ok.

Longer answer:
For clarity I'd like to distinguish between communities/collections descriptions and relationships.

We need to create separate .n3 files for Communities and Collections with the properties identified here, which include descriptive and relationship (pcdm:memberOf) metadata.

Relationships to non-aggregating resources (Items and Theses) are already captured in object_metadata.n3 also with the property pcdm:memberOf and we don't need additional community/collection metadata there.

@sfarnel
Copy link
Member

sfarnel commented Dec 6, 2022

Thank you @pgwillia @lagoan Yes, @anayram that is absolutely right; option #1 is what is required

@ConnorSheremeta
Copy link
Contributor

Below are two .n3 files for both a collection and a community:

Collection:

@prefix dc: <http://purl.org/dc/terms/> .
@prefix pcdm: <http://pcdm.org/models#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<http://era.ualberta.localhost/aip/v1/collections/a93cbb63-4bb2-4deb-a952-c96c4c851c8c> a pcdm:Collection;
    dc:title "AIP Collection";
    dc:description "Collection description";
    pcdm:memberOf "b644bf7f-d950-56bb-ba68-c4271a175491";
    dc:accessRights "http://terms.library.ualberta.ca/public";
    dc:created "2015-12-12T00:00:00Z"^^xsd:dateTime;
    <http://terms.library.ualberta.ca/recordCreatedInJupiter> "2015-12-12T00:00:00Z"^^xsd:dateTime;
    <http://terms.library.ualberta.ca/restrictedCollection> false .

Community:

@prefix dc: <http://purl.org/dc/terms/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<http://era.ualberta.localhost/aip/v1/communities/2614825c-aafa-47ca-a84b-8d81c30147c5> a <http://terms.library.ualberta.ca/Community>;
    dc:title "AIP Community";
    dc:description "Community description";
    dc:accessRights "http://terms.library.ualberta.ca/public";
    dc:created "2015-12-12T00:00:00Z"^^xsd:dateTime;
    <http://terms.library.ualberta.ca/recordCreatedInJupiter> "2015-12-12T00:00:00Z"^^xsd:dateTime .

Checking in with the metadata team to confirm that everything looks as expected @sfarnel @anayram @lucfagnan

@sfarnel
Copy link
Member

sfarnel commented Jan 16, 2023

Thanks very much @ConnorSheremeta this looks good to me. @anayram @lucfagnan do you have any concerns?

@anayram
Copy link
Member

anayram commented Jan 18, 2023

@ConnorSheremeta @sfarnel @lucfagnan all looks good to me (all properties are included). Thanks so much @ConnorSheremeta !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants