gbv / cocoda

A web-based tool for creating mappings between knowledge organization systems.
https://coli-conc.gbv.de/cocoda/
MIT License
40 stars 5 forks source link

Move search links to another data source #565

Open nichtich opened 4 years ago

nichtich commented 4 years ago

Search links can get many and require regular update. These links could better be collected and managed together with the vocabularies (= bartoc.org) instead of being part of the Cocoda configuration. A simple YAML file in a git repository, delivered via JSON would be enough to start with.

nichtich commented 4 years ago

This might be combined with a feature to better support occurrences. The number of data sources that use a vocabulary to index its resources is unlimited so connection of these sources to Cocoda should be manageable as easy as possible. Three levels of support exist:

  1. link to the homepage of a source when a vocabulary is selected (e.g. "the following sources use the vocabulary")
  2. search link into a vocabulary from a concept ("look how this concept is used in that source")
  3. occurrence information about use of a concept in a resource ("X resources available about this concept in that source")
nichtich commented 3 years ago

Deep links should be stored as URL templates in BARTOC.

stefandesu commented 3 years ago

Relevant from #627 (comment by @nichtich):

Looks like WebDewey search links cannot be constructed by simple URL patterns so a more complex mapping function is needed to build URL. Three ideas:

1.) implement the URL building function in Cocoda 2.) add the pre-build URLs to JSKOS data of DDC 3.) create a web service that returns search links

From a theoretical standpoint I'd prefer (3) actually we had a similar websevice to return links related to a given resource but adding just another special case for DDC in Cocoda (2) might be ok as well.

In any case also to prepare #565 it would be best to create a promise function that maps:

  • a JSKOS concept with URI, notation, and inScheme
  • to a list of search links, each with prefLabel and url

So the list of search links could come from a web service (e.g. as part of BARTOC) or based on URL patterns (current config) or custom rules (like WebDewey). The promise function to get search links might fit into jskos-tools.

Supporting webservices which return search links in OpenSearch Suggest Format sounds like a good idea.