-
Notifications
You must be signed in to change notification settings - Fork 71
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
Conventions for predictable File URIs #248
Comments
Comment by ksclarke I wonder if there is a tie-in here for persistent IDs (in whatever format you prefer: ARKs, DOIs, PURLs, etc.)? ARKs, for instance, have a way of specifying hierarchical files in the digital object represented by the ARK (using the ARK's Qualifier). And I don't think the UUIDs are required for Fedora 4, but just what it uses out of the box? At one point there was a PID minter. The UUIDPathMinter was one option but you could choose to use another and it was configurable through something like: But, I'm also not sure this wasn't removed in the code cleanup prior to the official release. I know there were issues with the path mapping of these IDs. It looks like it's still in master, but I'm not entirely sure of its status. Persistent IDs have been on my Islandora wishlist for awhile so perhaps I'm lumping this in where it shouldn't be? I always use UNT (not an Islandora site, but still) as the example of doing this right (in my opinion): http://digital.library.unt.edu/ark:/67531/metadc813/metadata/ |
Comment by daniel-dgi Is using a predicate for this type of thing too naive of an approach? I'd rather not mess with something that's gonna severely hurt performance just because we want semantics in the path. |
Comment by DiegoPino @daniel-dgi, if i understand correctly, the path we give a resource is not directly tied to on how F4 stores/fetches internally it's resources(remember reading about a Hierarchy translator, it's in the code, not sure if enabled?). If so, performance should not be a problem. So predicates/props could be a nice way, moreover if defined explicitly in an Islandora Ontology (love this part!) so developers can grab this definitions, classes(object) and subclasses (associated resources - old datastreams) to know where to search for a specific resource. |
Comment by awoods I definitely prefer the property/predicate approach in conjunction with something along the lines of the FCDM: https://wiki.duraspace.org/display/FF/Fedora+Community+Data+Model as opposed to semantically meaningful URLs. |
Comment by mjordan @daniel-dgi and @awoods, what would a typical REST conversation look like if the use case was "give me a copy of the file that has been designated as the thumbnail image for the object?" |
Comment by awoods @mjordan, In conjunction with a structuring along the lines of FCDM:
Ideally, the triples of your repository are indexed in an external triplestore (Fuseki, Sesame, etc). Then you simply make a SPARQL-Query such as:
If, however, a REST interaction is required, here are some possibilities looking for an object's (container's) thumbnail:
Alternatively, if more dynamic relationships are in play, the interaction may be more like:
But from a performance perspective, you probably want to hit Fedora as little as possible and instead take advantage of tooling that is optimized for this sort of thing, such as a proper triplestore. |
Comment by mjordan @awoods Thanks, very helpful. I think the "documented agreement on which predicates/vocabularies are used in your model" is really the root of my original question though. Currently in Islandora there are several conventions (either implicit or explicit) that form this agreement - for example, I can't think of any content models that don't use the DSID 'TN' to identify a thumbnail, or any that don't use 'OCR' for the page-level text transcript of a paged document. If I could rephrase my user story, it would be "As a developer, I will need to be aware of an agreed-upon set of RDF predicates for specific types of files associated with an Object/Container that has a given content model." |
Comment by daniel-dgi @mjordan See https://github.com/Islandora-Labs/islandora/blob/7.x-2.x/docs/technical-documentation/services.md. Let me know what you think. Still WIP (we have a LOT of different datastrems/derivative types that need to be acounted for), but it's a start at fleshing all this out. |
Closing old use cases until after MVP doc is released. |
Issue by mjordan
Thursday Feb 26, 2015 at 18:53 GMT
Originally opened as https://github.com/islandora-interest-groups/Islandora-Fedora4-Interest-Group/issues/18
Examples:
Remarks:
The text was updated successfully, but these errors were encountered: