This is the semantics-based Registry browser sembarebro. The idea is that people can traverse the UAT while seeing what the registry has to say about that. [the longer-term plan being to somehow interface this with WIRR] One outcome of this is the file res/mapping.tsv, mapping non-UAT subjects to UAT subjects. This is re-used by our RegTAP resource and must be manually copied to rr/res/uat-mapping.tsv after changes. The web UI is based on mxgraph, which we only include here in a baked version. To reproduce it, clone https://github.com/jgraph/mxgraph.git, enter the javascript directory, and cp -r mxClient.min.js src ...sembarebro/static/ What's happened so far: (1) To bootstrap the mapping, I've make a basic mapping based on pairs with pytrigdict scores > 0.7:: # make sure makemapping.py3 calls bootstrap() or whatever that's going # to be later bin/makemapping.py3 > res/mapping.tsv (2) Manually bi-aged mapping.tsv, throwing out everything that looked difficult to me (did that a bit whimsically, admittedly). (3) For the rest (and I guess that's what we should re-do now and then), edit makemapping to run map_interactively and then say bin/makemapping.py3 >> res/mapping.tsv This will let you assign UAT terms to everything not yet mapped. Use Bad/invalid term so you don't have to look at junk next time around, or Postpone for terms we should try again after an update to the UAT. Policies ======== We do not split up subject strings where data providers were gluing together several keywords; instead, we'll contact the data providers to fix their records. We do not include any terms that are, if you will, technical VO terms (standard names, tool names, things like "Registry"). We do not try to translate instrument or probe names to "wider" terms (e.g., IRAS could become infrared-astronomy); while that would in many cases be a safe bet, most of the time it would just name a wave band, and such information should come from somewhere else anyway. We do map to wider terms where the more special term does not exist. To update the mapping, just run makemapping.py again -- it will pull the current terms from rr.res_subject.