dsp-api icon indicating copy to clipboard operation
dsp-api copied to clipboard

Allow a resource to link to a version of another resource

Open benjamingeer opened this issue 6 years ago • 5 comments

Use cases:

  • A resource representing a publication cites a specific version of the data that the publication is based on.
  • Data in one project refers to a specific version of data in another project.

We currently support citing a version of a resource using an ARK ID. One possibility would be to introduce a new base property in knora-base, hasLinkToArkID. The target would be an ARK URL that the client would have to resolve via the ARK resolver. An advantage of this approach would be that if you linked to data in another project, and that project later moved to another repository, the link would still work.

Alternatively (or in addition), we could extend knora-base to support a link to a resource IRI with a version timestamp. For example, we could add the timestamp to knora-base:LinkValue. An advantage of this approach would be that a single Gravsearch query could return both the source resource and the target resource in a single query result.

benjamingeer avatar Mar 04 '19 20:03 benjamingeer

I think that extending knora-base:LinkValue to support a timestamp would be more usable.

The problem with hasLinkToArkID is that the only thing the client can do is show a link which the user can click on, since this link will point to another client. As it is currently implemented, ARK ids are meant for human consumption. I guess we could extend the ARK server to also return the Knora-API address, but doesn’t feel like the way to go. Also, in the future, the ARK server is going to be a central service provided by another organization.

The question remains, what happens to exiting links to resources moved to another server? This can be answered the moment we have defined how we are going to implement linking between resources on different servers.

subotic avatar Mar 05 '19 05:03 subotic

The problem with hasLinkToArkID is that the only thing the client can do is show a link which the user can click on, since this link will point to another client.

Yes, I was thinking about this, too. Just hypothetically, we could extend our ARK URL format to specify what kind of response you want: human-readable or machine-readable. Then I could imagine that when the GUI got a response from Knora containing the machine-readable ARK URL, the GUI could automatically dereference that URL and integrate the additional data into the page, without the user having to click on anything. Or Knora could dereference it before returning the initial response, and return all the data in one response.

To avoid the extra complexity where it’s not needed, we could use ARK links only for links between projects, and use direct links (with the extended LinkValue) for links within a project.

The question remains, what happens to exiting links to resources moved to another server? This can be answered the moment we have defined how we are going to implement linking between resources on different servers.

We could transform the resources that were moved into proxy resources. I guess we will need proxy resources anyway to deal with links to non-Knora resources. So then the question is, how should a proxy resource work when the real resource is in a Knora repository? Keeping in mind that the real resource could still move again someday, to a third repository. Maybe it would help to have some sort of permalink to the real resource, and store the permalink in the proxy resource... 🙂

benjamingeer avatar Mar 05 '19 07:03 benjamingeer

Just a question to @subotic

Also, in the future, the ARK server is going to be a central service provided by another organization.

Can you explain this a little ? What will be this other organization ?

mrivoal avatar Mar 05 '19 08:03 mrivoal

Hi Marion,

It could (!) be that in the future the siwss libraries will build an swiss national ARK-resolver where we could attach the DaSCH. But when and if - nobody knows right now...

Lukas

Sent from my iPad

On 5 Mar 2019, at 09:52, Marion Rivoal <[email protected]mailto:[email protected]> wrote:

Just a question to @subotichttps://github.com/subotic

Also, in the future, the ARK server is going to be a central service provided by another organization.

L build Can you explain this a little ? What will be this other organization ?

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHubhttps://github.com/dhlab-basel/Knora/issues/1245#issuecomment-469594144, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AFN9zKBxOiESKCvbIkfnoSTJ74Wrc_Nqks5vTjA5gaJpZM4bdHJp.

lrosenth avatar Mar 05 '19 09:03 lrosenth

Ok. Thanks, Lukas for the details.

mrivoal avatar Mar 05 '19 09:03 mrivoal