gbv / jskos-server

Web service to access JSKOS data
https://coli-conc.gbv.de/api/
MIT License
6 stars 4 forks source link

Differentiate between schemes with and without concepts #49

Closed stefandesu closed 5 years ago

stefandesu commented 5 years ago

Concept schemes returned by the /voc endpoint should indicate whether the server can provide concepts for that scheme or not, for example by setting the concepts property to [].

stefandesu commented 5 years ago

Also add a parameter to only get schemes with concepts from /voc.

nichtich commented 5 years ago

In JSKOS terminology with closed world statements the right way to differentiate concept schemes with and without concepts would be:

Concepts exist and here is the list of them:

"concepts": [{...}, {...}, ...]

Concepts exist and can be accessed via known URL:

"concepts": "http://example.org/"

Concepts exist but we don't know them:

"concepts": [null]

No concepts exist at all (this is unlikely):

"concepts": []

Unknown whether concepts exist (this is the current practice):

"concept": null # or field concept omitted
stefandesu commented 5 years ago

Well, that doesn't really cover our use case, right? We need: "Concepts exist, we don't know them, AND we can't query them from the API". ;)

nichtich commented 5 years ago

Actually it's irrelevant whether concepts exist (anywhere in the world). The crucial information is whether and where they can be queried. -- Jakob Voß via Android

stefandesu commented 5 years ago

So

"concepts": []

would mean that concepts can't be queried (whether or not they exist "anywhere else in the world")?

We could also set the concepts and topConcepts fields to the respective queries.

stefandesu commented 5 years ago

This is now handled by the new import script.