Need to refactor or redesign the work done in #185.
Based on the MVP's statement about an ID Mapper service, perhaps this will not be the triplestore.
If we want to maintain the current workflow I would dump all the work I did to get the fcrepo-transform to load and instead retrieve the full RDF as JSON-LD, parse out the UUID and store it.
@whikloj you may also want to consider using https://github.com/fcrepo4-exts/fcrepo-camel-toolbox/tree/master/fcrepo-ldpath, which is the replacement for fcrepo-transform.
@acoburn I did think about that, and I will look into it. I had such a fun time getting the original ldpath document to work I thought for what we need out of Fedora, which is just the path and the Islandora UUID and only during transactions. Perhaps I was over thinking it.
Okay so my understanding is that to use the fcrepo-ldpath service I have to make my LDPath web-accessible. So I could add an endpoint to the Crayfish service what just replies to a GET request with this ldpath document. Then I can remove all of this.
Does that sounds like a good idea? Or should I go to simply with requesting the document and parsing it for the UUID.
@whikloj it sounds like a good idea: but my pragmatic side says: "request the document, parse it for the UUID". Once we have all working again, we can make it as elegant as it was with the defunct transform.
request the document, parse it for the UUID
isn't that what fcrepo-ldpath does with the transform here: https://github.com/Islandora-CLAW/Crayfish/blob/master/src/TransactionService/resources/islandora_uuid.txt?
@acoburn it does, but the question is should we built Crayfish to require fcrepo-ldpath to get this information or should I just GET the resource as (say) JSON-LD and parse out the part myself?
I'm torn, the work is already there to use the transformed data, so pivoting from fcrepo-transform to fcrepo-ldpath makes the most sense. Unless we stop using the triplestore as our main F4 path -> UUID key store.
curl http://repo.example.org/rest/path/to/resource -H"Accept: application/ld+json; profile=\"http://www.w3.org/ns/json-ld#compacted\"" is pretty easy too.
Agreed. I could go either way. The only reason not to use fcrepo-ldpath is if we want to avoid the dependency. But we are already relying on fcrepo-camel-indexing-triplestore anyways.
The big win with fcrepo-ldpath is for dereferencing external URIs. Since that's not what you're doing here, I think you'd be better off just parsing the JSON-LD yourself.