EBISPOT / ols4

Version 4 of the EMBL-EBI Ontology Lookup Service (OLS)
http://www.ebi.ac.uk/ols4/
Apache License 2.0
38 stars 17 forks source link

Add additional links to a term page based on Bioregistry providers #601

Open cthoyt opened 8 months ago

cthoyt commented 8 months ago

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)

dosumis commented 8 months ago

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

Open questions:

dosumis commented 8 months ago

CC @udp

jamesamcl commented 8 months ago

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?

cthoyt commented 8 months ago

@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?

dosumis commented 8 months ago

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 commented 8 months ago

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

jamesamcl commented 8 months ago

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?