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

Use fcr:metadata to assign properties to resources #499

Closed
awead opened this issue Oct 22, 2014 · 7 comments
Closed

Use fcr:metadata to assign properties to resources #499

awead opened this issue Oct 22, 2014 · 7 comments
Assignees
Milestone

Comments

@awead
Copy link
Contributor

awead commented Oct 22, 2014

Whereas fcr:content used to return the content of a resource, now fcr:metadata will allow you to define properties on a resource that also has binary content.

@awead awead added this to the Fedora 4 milestone Oct 22, 2014
@cbeer
Copy link
Member

cbeer commented Oct 22, 2014

And, like with fcr:tombstone, don't just use .../fcr:metadata. Get the path to the description from the describedby Link header on the binary.

@jcoyne
Copy link
Member

jcoyne commented Oct 27, 2014

@awead Did you have a specific use case here, beyond what is already supported in the code (versions)?

@escowles
Copy link
Contributor

Following up on questions raised about datastream properties and versioning:

  • You can assign arbitrary properties to a content node with SPARQL Update. So if you have a content node /rest/obj1/ds1, you can PATCH /rest/obj1/ds1/fcr:metadata with the query "insert data { <http://localhost:8080/rest/obj1/ds1> <http://purl.org/dc/elements/1.1/title> 'test title 1'}".
  • When versioning a content node, the properties in fcr:metadata are versioned too.
  • The main use case for attaching properties to a content node is for technical metadata, such as format name/verison, codecs used, resolution/bitrate/etc., scanner make/model, etc. These are properties of the bitstream itself, not the Work/Component: for example, a Work might have a master content file and derivatives. The technical metadata would describe each individual file and be different for each one.

@awead
Copy link
Contributor Author

awead commented Oct 28, 2014

@jcoyne I was thinking we'd use fcr:metadata to hold all the non-content data about the bitstream, such as original_name, mime_type, and any arbitrary fields that @escowles mentioned. It could also be where you'd put rights metadata if we wanted to be able to control rights access to different datastreams.

@jcoyne
Copy link
Member

jcoyne commented Oct 28, 2014

@awead those properties in particular already have a place in the headers:

  • Content-Type (mime_type)
  • Content-Length (size)
  • Content-Disposition (original_name)

@awead
Copy link
Contributor Author

awead commented Oct 29, 2014

@jcoyne what about rights metadata or the other technical metadata @escowles describes? This would also allow us to enforce restrictions at the datastream, which has always been a need in the community.

@jcoyne jcoyne self-assigned this Oct 30, 2014
jcoyne added a commit that referenced this issue Nov 11, 2014
This writes the properties to ./fcr:metadata relative to the files URI
Fixes #499
jcoyne added a commit that referenced this issue Nov 12, 2014
This writes the properties to ./fcr:metadata relative to the files URI
Fixes #499
jcoyne added a commit that referenced this issue Nov 12, 2014
This writes the properties to ./fcr:metadata relative to the files URI
Fixes #499
@awead
Copy link
Contributor Author

awead commented Nov 12, 2014

Fixed via #582

@awead awead closed this as completed Nov 12, 2014
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

4 participants