Backend for mapping suggestions using Typesense, to be used in Cocoda Mapping Tool.
Currently not yet stable.
- Node.js 20 or later
- A running Typesense server (v27)
- Access details need to be configured in
config/config.json
- Access details need to be configured in
# Install dependencies
npm ci
# Copy and adjust default config
cp config/config.default.json config/config.json
editor config/config.json
# Run setup (always use BARTOC URIs)
# Note: The first run will take a long time as a lot of data will have to be loaded from APIs. However, most data is cached, so subsequent runs will be much faster.
# Option 1: Setup each vocabulary separately
# BK
npm run setup "http://bartoc.org/en/node/18785"
# RVK
npm run setup "http://bartoc.org/en/node/533"
# DDC
npm run setup "http://bartoc.org/en/node/241"
# Option 2: Provide multiple BARTOC URIs in the `schemes` field in `config/config.json` and run setup without parameters:
npm run setup
# Start the server (default port is 3021)
npm run start
The service offers a jskos-server compatible /search
endpoint. Currently supported query parameters: voc
(vocabulary URI, required), search
(search string, required), limit
(optional), offset
(optional)
In Cocoda, it can be included as a suggestion registry like this (example for RVK and BK in a local instance):
{
"provider": "LabelSearchSuggestion",
"uri": "http://coli-conc.gbv.de/registry/coli-conc-recommendations-experimental-local",
"schemes": [
{
"uri": "http://bartoc.org/en/node/533"
},
{
"uri": "http://bartoc.org/en/node/18785"
}
],
"overrides": [
{
"uri": "http://bartoc.org/en/node/533",
"identifier": [
"http://uri.gbv.de/terminology/rvk/"
],
"search": "http://localhost:3021/search"
},
{
"uri": "http://bartoc.org/en/node/18785",
"identifier": [
"http://uri.gbv.de/terminology/bk/"
],
"search": "http://localhost:3021/search"
}
],
"notation": [
"CRe"
],
"prefLabel": {
"en": "coli-conc Suggestions (experimental, local)",
"de": "coli-conc Vorschläge (experimentell, lokal)"
}
}
Wikidata mappings could be included, but we need to implement the download
parameter in wikidata-jskos (#75) before we can integrate it here. As soon as that is implemented, all this to the config's mappingRegistries
:
{
"provider": "MappingsApi",
"uri": "http://coli-conc.gbv.de/registry/wikidata-mappings",
"status": "https://coli-conc.gbv.de/services/wikidata/status"
}
MIT © 2024 Verbundzentrale des GBV (VZG)