NCATSTranslator / Knowledge_Graph_Exchange_Registry

The Biomedical Data Translator Consortium site for development of Knowledge Graph Exchange Standards and Registry
MIT License
6 stars 3 forks source link

Add semantic versioning to the REST URLs #48

Open jeffhhk opened 3 years ago

jeffhhk commented 3 years ago

Add a semantic versoning prefix to the KGE URLs, so that you can keep things running as you need to improve your system. So e.g.:

GET https://archive.translator.ncats.io/archive/yeast-sri-reference-kg-tsv/1.0/download

becomes:

GET https://archive.translator.ncats.io/v1/archive/yeast-sri-reference-kg-tsv/1.0/download

That way, when it is convenient to break with backward compatibility for the service calls necessary to drive your UI, it doesn't necessarily have to come at the cost of breaking programmatic consumers of KGE.

RichardBruskiewich commented 3 years ago

It's "simple" to apply at the architectural level: NGINX aliasing would redirect various semantic versioned API's to distinct docker containers running such variants. The hard part may be the management of the code base and docker-compose collection of containers to allow for this.

We can ponder this further once a relatively stable initial production release is finalized for the September 2021 relay. Maybe branding that release as the official V1 (web services backend) release, then moving future production iterations into a fresh release branch, may be feasible at that point.