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

Add contains files to Hydra::PCDM::Interfaces::Object #5

Closed
carolyncole opened this issue Mar 26, 2015 · 9 comments
Closed

Add contains files to Hydra::PCDM::Interfaces::Object #5

carolyncole opened this issue Mar 26, 2015 · 9 comments
Assignees
Labels

Comments

@carolyncole
Copy link
Contributor

Hydra::PCDM::Interfaces::Object (this is a module)
Should be able to contains pcdm:File using the pcdm:hasFile (eg Hydra::PCDM::GenericFile)

  • The files should live at a sub uri of the pcdm:Object (This is AF::Base contains)
  • There should be a pcdm:has_file assertion on the object that points at the file (This is AF::Base:has_and_belongs_to_many)
  • This task should figure out how to combine the behaviors above
  • There can be zero to many files
  • the path to the file subnode can be auto generated
@awead
Copy link
Contributor

awead commented May 4, 2015

I don't know if has_and_belongs_to_many implements LDP direct containment.

@jcoyne jcoyne self-assigned this May 5, 2015
@flyingzumwalt
Copy link
Member

Is this a repetition of #23?

@awead
Copy link
Contributor

awead commented May 5, 2015

@flyingzumwalt it's tangentally related, but probably pertains more to what @elrayle is doing with the finishing the modeling.

@jcoyne
Copy link
Member

jcoyne commented May 5, 2015

Do we need to have more than?

        contains "content", class_name: 'FileContentDatastream'
        contains "thumbnail"

@awead
Copy link
Contributor

awead commented May 5, 2015

@jcoyne if that does the /files direct container URI to do the containment, then no.

@jcoyne
Copy link
Member

jcoyne commented May 5, 2015

Hmmm, yeah, it also doesn't set hasFile, just ldp:contains.

@awead
Copy link
Contributor

awead commented May 5, 2015

@jcoyne right. can we do something like aggregates :files ? But that creates in indirect container. The examples I'm seeing have /files as a direct container.

@elrayle
Copy link
Contributor

elrayle commented May 5, 2015

My first instinct is to say, avoid aggregates since the model discussions I've been in have not treated files as an aggregation. Issues and questions...

  • Is contains a concept that is already solidly in Fedora? Is there a method that gets called to add files to the contains relationship? (similar to aggregates for hasMembers)
  • Do we ever want order to the list of files? NOTE: order will be tricky because GenericFiles which contains Files already has an ordered aggregation. Since the PCDM::Object can have only one aggregation with a head (IANA.first), we can't have two separate ordered aggregations for the same subject (the PCDM::Object).

@awead
Copy link
Contributor

awead commented May 5, 2015

@elrayle contains translates to a ldp basic container. For files, we need the hasFile predicate, and therefore a ldp direct container. I don't believe the PCDM model allows for ordering at the hasFile level, so we should be safe there.

@jcoyne jcoyne added in progress and removed ready labels May 6, 2015
jcoyne added a commit that referenced this issue May 6, 2015
@jcoyne jcoyne closed this as completed in 059f8b7 May 7, 2015
hectorcorrea added a commit that referenced this issue May 7, 2015
@jcoyne jcoyne removed the in progress label May 7, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants