gbv / cocoda-sdk

SDK for Cocoda and coli-conc services
https://gbv.github.io/cocoda-sdk/
MIT License
5 stars 1 forks source link

Add Network of Terms provider #63

Open nichtich opened 1 year ago

nichtich commented 1 year ago

Network of Terms is a terminology service that wraps SPARQL queries to selected terminologies. The query API is based on GraphQL. The service also offers Reconciliation API for each terminology. See https://termennetwerk-api.netwerkdigitaalerfgoed.nl/graphiql# to try out queries for search by label, lookup by URI and listing all terminologies.

Requires https://github.com/netwerk-digitaal-erfgoed/network-of-terms/issues/1105 to get the correct language of labels (we can use language tag und as fallback).

Terminology URIs are mostly SPARQL endpoint URIs, so these need to be added as alternative identifiers in BARTOC as well (or extend Network of Terms to support additional identifiers).

nichtich commented 1 year ago

Test case in BARTOC with new API type http://bartoc.org/api-type/noterms : https://bartoc.org/en/node/1761 (Homosaurus). Note that Network of Terms uses SPARQL endpoint as vocabulary URI (in this case: https://data.ihlia.nl/PoolParty/sparql/homosaurus), so the Vocabulary has two APIs to build provider instance from:

[
  {
    "type": "http://bartoc.org/api-type/noterms",
    "url": "https://termennetwerk-api.netwerkdigitaalerfgoed.nl/graphiql"
  },
  {
    "type": "http://bartoc.org/api-type/sparql",
    "url": "https://data.ihlia.nl/PoolParty/sparql/homosaurus"
  }
]