Open jimallman opened 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?
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'.
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.)
Such a theory might be that @ is a whole-part separator
That nicely sums up my thinking at the time.
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.