-
Notifications
You must be signed in to change notification settings - Fork 10
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
Objects can have related objects. #14
Comments
What predicate should be used for this? |
Should this be a container or just an association? |
It should be a container called "related" and use the predicate ore:aggregates. |
@escowles I'm not sure that's possible. The object IS and aggregation. It would have to aggregate related, and members all together. |
There was a discussion about a potential implementation of this at a lower level activefedora-aggregations - issue #11, but it was decided that it would be implemented at the PCDM level. SummaryBackground:Groups of things in a Collection are...
Groups of things in an Object are...
NOTE: hasFile and hasRelatedFile are not aggregations and therefore are not covered under the Proposed Solution. See #19 Proposed Solution:Collections and ObjectsCollections and objects will be in a single aggregation with predicate pcdm:hasMember. This is consistent with the current implementation. Defined by:
NOTE: The same approach will be used for Object pcdm:hasMember Object Related ObjectsThe Collection object will have a property with predicate pcdm:hasRelatedObjects which will point to a pcdm:Object that serves as an ORE:aggregation of the related objects. Defined by:
NOTE: The predicate is plural because it is a container for the related objects, not the related object itself. NOTE: The same approach will be used for Object's related objects. |
property :relatedObjects, predicate: RDFVocabularies::PCDMTerms.hasRelatedObjects, class_name: 'ActiveFedora::Base' should work and do what you expect. I think the objects pointed to by relatedObjects can just be a Hydra::Work too, which makes me happy. |
@terrellt that doesn't seem like a solution, because it will not have order. |
class_name 'PCDM::Work' or whatever the class is would be more correct. |
The proposed solution is exactly what the model currently says, so 👍 to the proposed solution :D |
@jcoyne My understanding was that the benefits of having a separate object aggregate the relatedObjects was...
Hydra::Works::GenericWork and GenericFile are both PCDM::Object so unless the code for Hydra::Works::GenericWork and/or GenericFile limits the aiblity of one or both of these to be used as related objects, then they would be able to serve as related objects. That said, it doesn't mean that Sufia will surface this ability through its UI. |
@azaroth42 Do we need to mint a new predicate for "hasRelatedObjects" (the plural) within PCDM? |
I thought the model said each pcdm:Object should have a container (not a pcdm:Object) that contained proxies for related objects, called {object}/related/, and that the property used to link to the related objects would be ore:aggregates. |
BTW, I'm working from this Google doc: https://docs.google.com/document/d/1RI8aX8XQEk-30-Ht-DaPF5nz_VtI1-eqxUuDvF3nhv0/edit# Is this still the latest LDP-implementation-of-PCDM spec? |
@escowles That works except in the case that you want to order related objects separately from member objects. |
Use case for ordered related objects? Use cases to date have not required
|
@azaroth42 I can make some up, but who knows if they'd be used (Collection Documents Page 1). Right now it's more of an implementation detail - if we use ore:aggregates then there's no reason those documents shouldn't be able to be ordered, but right now there's a tight couple between member updating and ordering. |
Is the issue that there can only be one iana:first/iana:last on a pcdm:Object, so we can only have one ordered set? Do we need to make the files/, members/, and related/ containers ore:Aggregations? Then each could have its own ordering? |
@escowles Files aren't aggregated, but yes - that's the issue. We could make members/ and related/ ore:aggregations, but that's counter-PCDM and we'd have to figure out the relations |
Until someone has a valid use case that is shared by two or more
|
@azaroth42, that's fine with me. So for now we can say that the members/ container is ordered, and all of the others are unordered. |
+1. Is able to be ordered.
|
Yes, important correction: members/ is able to be ordered, the others are unordered. |
I think this ticket is actually invalid. hasRelatedObject is not part of PCDM. |
I agree that the document currently does not describe the proposed solution. If the proposed solution is acceptable, then the application profile should be updated to reflect this. |
The examples do include a related file: The mods.xml file is a related file, linked to with ore:aggregates. |
So proposals:
|
@jcoyne I've updated the diagram to have a related object (donor agreement) linked with ore:aggregates: https://wiki.duraspace.org/display/FF/PCDM+Examples#PCDMExamples-Multi-PageTextshowingcontainedandrelatedfiles,memberandaggregatedobjects |
No description provided.
The text was updated successfully, but these errors were encountered: