OpenTreeOfLife / germinator

miscellaneous scripts and data for concerns that span more than one of the Open Tree code repositories: integration tests, system statistics, etc.
BSD 2-Clause "Simplified" License
21 stars 7 forks source link

Ad-hoc synthetic-tree URLs should follow some reasonable convention #138

Open jimallman opened 6 years ago

jimallman commented 6 years ago

Now that we have a preferred notation for node ids (e.g. 'ott:1234' for a taxon, see also propinquity annotations), we should try to follow this when linking to nodes in the synthetic tree. Short of that, we should try to follow some existing convention, possibly linked data (CURIE) and/or REST practices.

See this related discussion on Gitter.

jimallman commented 6 years ago

At a glance, the notation used in propinquity seems to match our synth-tree node URLs:

  "mrcaott100016ott108461": {
   "supported_by": {
    "pg_2448@tree5223": "node898133",
    "pg_2542@tree5590": "node963169"
   }
  },

For comparison, here's a current node id: https://devtree.opentreeoflife.org/opentree/opentree9.1@ott770315/Homo-sapiens

So it seems we have two different conventions, one for taxa ('ott:1234') and another for synthetic-tree nodes ('opentree/opentree9.1@ott770315'). Thoughts?

jimallman commented 6 years ago

As a side note, it would also be nice to replace 'ottol' in our taxon URLs (as returned from a taxon search), since this has long been renamed as 'ott' or 'OTT'.

jar398 commented 6 years ago

studyid@treeid and treeid@nodeid are only the same notation if you have a theory that explains why that would be the case. Otherwise, you're just reusing a notation for different purposes that are only superficially similar (lexical separation).

Such a theory might be that @ is a whole-part separator, and you are saying that tree treeid is part of study studyid, and node nodeid is part of tree treeid. That would be coherent, I suppose.

Often '/' is used for this purpose (a document is part of a folder).

The phylesystem-api does something of its own invention: /study/{STUDY_ID}/tree/{TREE_ID}. (That makes three different conventions.)

jimallman commented 6 years ago

Such a theory might be that @ is a whole-part separator

That nicely sums up my thinking at the time.