-
Notifications
You must be signed in to change notification settings - Fork 209
Consider adding example identifiers for ontologies in metadata #1622
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Not sure the redundancy is worth it. The preferredPrefix gives you all you need to know to construct a valid id, and any given ID constructed may be obsolete at some point in the future.. We should add stuff to the metadata only if a use case demands it; I would kinda prefer the identifier regex, but I am also happy if that lives in something outside like bioregistry.. What is the exact use case you are trying to address? |
@matentzn you got me too fast! I just updated the text on the top to say this
|
Note that the |
Thanks for the link. I wonder if there is a situation where one of the example terms can't be readily considered as a CURIE by replacing the underscore |
My point is that the OBO PURL system was designed to fill a specific, narrow purpose. It converts the YAML config files into Apache .htaccess files. For example, it doesn't really know about the If you want to convert those |
The good news is there are provably no bugs in the obo_context.jsonld file, as demonstrated by this code running without printing anything: import requests
URL = 'https://raw.githubusercontent.com/OBOFoundry/OBOFoundry.github.io/master/registry/obo_context.jsonld'
res = requests.get(URL).json()
for prefix, uri_prefix in res["@context"].items():
if not uri_prefix.endswith(f"{prefix}_"):
print(f"bug in {prefix}: {uri_prefix}") So effectively, doing the operations you mentioned is the same as the string replacement, assuming that the the combination of the OBO ontology prefix and local identifier is more important than the specific OBO PURL (which for this use case, it is) |
There are serious bugs in the |
FYI: MOD has included This metadata field is not supper useful, although it could be sometime (e.g., to see a concrete example of how the URI of the ontology and the code/identifier of the term are actually appended to form a term URI) @matentzn The preferred prefix is another metadata field in MOD. It "recommends" a prefix to use. |
@balhoff what could we do to fix obo context? Tldr on that ticket you linked.. |
I'll open another ticket. |
@jonquet thanks for these suggestions, I would have no objections to map the metadata elements in OBO to these properties if it does not disrupt any of the current OBO infrastructure (which I don't think it would) |
Thanks everyone for the discussion. My ultimate goal was to make sure that Bioregistry could import OBO Foundry ontologies, including an example. Since it's required that OBO Foundry ontologies have PURL configuration and that it can be deterministically accessed via URL, my original goal is solvable without making any convolution of concerns. |
Uh oh!
There was an error while loading. Please reload this page.
I'd like to propose we add a new optional field for the ontology metadata to store an example identifier.
It appears that the configuration files for the purl.obolibrary.org repository already contain example terms using the "short form" syntax, which is like a CURIE but with an underscore
_
as the delimiter, so perhaps these could be taken in.Here's an example for AMPHX: https://github.com/OBOFoundry/purl.obolibrary.org/blob/133f728664392330251717ee4c0f4564c0d1799b/config/amphx.yml#L11-L12
Related: I recently made a comment #400 (comment) on a thread talking about different properties of ontologies that could be used to classify them, potentially moving towards a real definition of "reference" vs. "application" ontology. Having this as a first class annotation of an example could address one of the issues that tells us if an ontology mints its own identifiers
The text was updated successfully, but these errors were encountered: