The IVOA's [[https://ivoa.net/documents/Vocabularies/20210525][Vocabularies
specification]] was written with the express goal that the VO's semantic
resources should be programmatically usable with minimal effort. This
page collects a few reusable resources.
uatselector.js: Javascript code for a simple concept selector, here for the UAT, but you would just have to change the URI to use a different vocabulary. This is taken from WIRR (cf. the "UAT Term" constraint)