Islandora / documentation

Contains islandora's documentation and main issue queue.
MIT License
104 stars 71 forks source link

Use Fedora URIs in Fedora for linked resources #800

Closed whikloj closed 5 years ago

whikloj commented 6 years ago

Coming off this discussion (https://groups.google.com/d/topic/islandora-dev/WqgmbkLlUUY/discussion) and some others.

This ticket is to create a service to map the Drupal URIs that are passed to Fedora back to Fedora URIs.

So currently NonRDFSource resources in Fedora will pcdm:hasFile http://localhost:8000/media/2?_format=jsonld instead of having a link to that object in Fedora.

 <http://localhost:8080/fcrepo/rest/4d/b4/f7/c3/4db4f7c3-9167-4a2d-9fd7-cf52a26c8e60>
        pcdm:hasFile           <http://localhost:8000/media/2?_format=jsonld> ;
        pcdm:hasFile           <http://localhost:8000/media/1?_format=jsonld> ;
        ...

This API-X service will take a ldp:RDFSource object and return the RDF with either

  1. New triples added to mirror the Drupal ones but with Fedora ones. ie.

     <http://localhost:8080/fcrepo/rest/4d/b4/f7/c3/4db4f7c3-9167-4a2d-9fd7-cf52a26c8e60>
        pcdm:hasFile           <http://localhost:8000/media/2?_format=jsonld> ;
        pcdm:hasFile           <http://localhost:8080/fcrepo/rest/96/ea/3c/35/96ea3c35-d08e-4812-8c9e-cd0d6d1bd839> ;
        pcdm:hasFile           <http://localhost:8000/media/1?_format=jsonld> ;
        pcdm:hasFile           <http://localhost:8080/fcrepo/rest/92/c5/ca/63/92c5ca63-0e53-4c56-a8e8-f786c75c3da5> ;
       ....
  2. The Drupal triples are replaced.
     <http://localhost:8080/fcrepo/rest/4d/b4/f7/c3/4db4f7c3-9167-4a2d-9fd7-cf52a26c8e60>
        pcdm:hasFile           <http://localhost:8080/fcrepo/rest/96/ea/3c/35/96ea3c35-d08e-4812-8c9e-cd0d6d1bd839> ;
        pcdm:hasFile           <http://localhost:8080/fcrepo/rest/92/c5/ca/63/92c5ca63-0e53-4c56-a8e8-f786c75c3da5> ;
       ....

Or maybe this could be an option passed to the service at request time.

dannylamb commented 6 years ago

Third option: Replaced if the mapping exists, otherwise leave the url unchanged.

dannylamb commented 6 years ago

We'll also want to consider the effects of doing something like owl:sameAs with #768, as your first option could actually be gotten for free from the triplestore if we used inferencing.

kanasznagyzoltan commented 6 years ago

Danny, when Could This fix be ready? Thank you!

kanasznagyzoltan commented 6 years ago

Thank you Jared, i read in the recast service task you created a service which can resolve the drupal node link into a fedora resource link.

kanasznagyzoltan commented 6 years ago

This could be a really really good feature of Fedora indexing. Could i ask when could this feature be the part of the Fedora indexing? Thank you for the info!

dannylamb commented 6 years ago

@kanasznagyzoltan It will be available via https://github.com/Islandora-Devops/claw-playbook as soon as https://github.com/Islandora-CLAW/Crayfish-Commons/pull/16 and https://github.com/Islandora-CLAW/Crayfish/pull/44 are merged

kanasznagyzoltan commented 6 years ago

Danny, thank you for the info! We will try it out when it is ready :)

kanasznagyzoltan commented 6 years ago

Hello Danny and Jared!

When could be this feature ready for testing under the whole Islandora CLAW system? Thank you!

Zoli.

kanasznagyzoltan commented 5 years ago

When could it be the part of the claw?

dannylamb commented 5 years ago

@kanasznagyzoltan The recast service is included in installs and is available for you to use / evaluate. Thanks for hanging in there!