OpenReferralUK/human-services

Should there be a "vocabulary" table?

Opened this issue · 2 comments

At present all taxonomy terms are held in the "taxonomy" table. A select distinct is needed to retrieve a list of vocabularies.

We can see a need for a separate "vocabulary" table with a one to many to "taxonomy". The vocabulary table can hold a description of the taxonomy and possibly a link to the organization publishing it.

Hence an app for a specific organization could use its local vocabularies as well as generic vocabularies such as those maintained by the LGA.

Note that we are using full URIs as identifiers for esd taxonomy terms, eg http://id.esd.org.uk/service/833 . If we had a vocabulary table, we could use namespaces/curies and resolve them via the vocabulary table.

Version 2 of HSDS renamed the "Vocabulary" property of taxonomy terms to "taxonomy". Hence we need to consider a new table called "taxonomy". This can be kept backward compatible if the taxonomy identifier is only optional in the taxonomy_term table.