ols4 icon indicating copy to clipboard operation
ols4 copied to clipboard

Add additional links to a term page based on Bioregistry providers

Open cthoyt opened this issue 1 year ago • 7 comments
trafficstars

Here's the OLS page for the Cell Ontology's term for osteoblast (CL:0000062).

The Bioregistry has multiple "providers" for the Cell Ontology. This means that it has URL formats that go to third party websites that has some information about them. One such site is Cell Guide, which has the following page for osteoblast: https://cellxgene.cziscience.com/cellguide/CL_0000062

Given the OLS is consuming the Bioregistry's data, you can get the following information for each provider while you parse it:

  1. a provider code cellguide
  2. a human-readable title Cell Guide
  3. a description
  4. a homepage
  5. a URI format string https://cellxgene.cziscience.com/cellguide/CL_$1,

@dosumis asked in https://github.com/biopragmatics/bioregistry/issues/1001 if it would be possible to configure showing a Cell Guide link on the OLS term page for osteoblast (and same for every other CL term page)

cthoyt avatar Nov 29 '23 09:11 cthoyt

This looks very generally useful to me. I'm keen to take advantage for multiple projects/ontologies.

Open questions:

  • Should we support configuration of this - ontology providers optionally (?) get to choose which linkouts are used.
  • Should linkout section have a disclaimer about versions? (linked site may not be using same version as displayed on OLS - this may cause confusion)

dosumis avatar Nov 29 '23 10:11 dosumis

CC @udp

dosumis avatar Nov 29 '23 17:11 dosumis

I chatted with @dosumis about this over lunch and he said that not every combination of URI format/ID would produce a valid link. I am not sure the OLS dataload should be annotating with URLs which do not resolve.

I suppose the ontology providers choosing the linkouts would work, but then why would they not add an URL xref directly to the term in the OWL?

jamesamcl avatar Dec 04 '23 09:12 jamesamcl

@udp you're right, the two solutions are either make the link for everything, or enumerate which ones the link should get made for. Doing this directly in the ontology is one possibility. However, a database cross-reference is not the appropriate way to handle this since dbxrefs should be used to refer to semantic spaces. Maybe a seeAlso property would be good?

cthoyt avatar Dec 04 '23 09:12 cthoyt

I've spent the past few years discouraging full URLs in xrefs as an extra burden on ontology users - who need to distinguish CURIE prefixes from protocol prefixes when parsing. But I'm willing to live with that if we can get a standard for annotating full URLs in xrefs with link text (and ideally also a link to a logo).

dosumis avatar Dec 04 '23 09:12 dosumis

Just saw Charlie's comment. seeAlso is good for me. The same points around annotating the axioms apply.

dosumis avatar Dec 04 '23 09:12 dosumis

I've spent the past few years discouraging full URLs in xrefs as an extra burden on ontology users - who need to distinguish CURIE prefixes from protocol prefixes when parsing. But I'm willing to live with that if we can get a standard for annotating full URLs in xrefs with link text (and ideally also a link to a logo).

Isn’t the datatype of a URL different from that of a string literal (curie) - or am I missing something?

jamesamcl avatar Dec 04 '23 19:12 jamesamcl