SynBioDex / SBOL-specification

The Synthetic Biology Open Language (SBOL)
http://sbolstandard.org
14 stars 9 forks source link

Inconsistent use of identifiers.org URLs in SBOL 3.0 #366

Closed goksel closed 3 years ago

goksel commented 4 years ago

Identifiers.org started using https. It also removed the catalog id between identifiers.org and a term name. Examples: SBOL spec example using the recent identifier.org URL scheme.

SBOL spec examples using the recent identifier.org URL scheme.

jamesamcl commented 4 years ago

Thanks Goksel. Looking at the tracker, I think we may have enough of these niggling issues to warrant an SBOL 3.0.1 release before we finalise our initial SBOL3 implementations.

jakebeal commented 4 years ago

Do we know which of the two we want to use?

goksel commented 4 years ago

Although I would prefer the old approach, I think it makes sense to adopt the new approach since we do not know how long the old approach would be supported. All the documentation seems to be updated to use thew new approach. The new approach relies on term ids directly and removes the dependency to ontology names, assuming that the same term would not be shared between different ontologies, which may be error prone though!

The old approach: http://identifiers.org/{CATALOG_NAME}/{TERM_ID}

The new approach uses the following pattern: http://identifiers.org/{TERM_ID}

jakebeal commented 4 years ago

I don't believe there's actually any problem there. The new form is actually http://identifiers.org/{PREFIX}:{TERM_ID}, where idenfiers.org controls the prefixes, and can thus prevent collisions.

tcmitchell commented 3 years ago

All of the SBOL3 example files in SynBioDex/SBOLTestSuite use the new syntax as in https://identifiers.org/SBO:0000290

Some of the comments above use HTTP and not HTTPS as the protocol in the URI. All of the SBOL3 examples use HTTPS, as does the original description on this issue. Note: I have used all caps in this paragraph for emphasis. I think in practice we want these to be lower case as in https://identifiers.org/SBO:0000290

goksel commented 3 years ago

Jake, as far as I know what you refer to as "{PREFIX}:{TERM_ID}" is actually "{TERM_ID}" in the OBO ontologies. For example SO:0000167 is actually an ontology term in the Sequence Ontology. Any other ontology can use the same term in theory, although this is unlikely. I assume and hope that ontology developers would avoid using similar terms.

Yes, all identifiers. org URLs should start with "https://identifiers.org/".

jakebeal commented 3 years ago

In order to be resolved by identifiers.org, however, the ontology has to register a prefix that is unique with respect to all other ontologies served by identifiers.org. "Compact Identifiers consist of an assigned unique prefix and a local provider designated accession number (prefix:accession)."

The prefix is curated by identifiers.org, in response to a prefix registration request and not by the ontology developer. Thus, uniqueness is guaranteed by the resolution service, even if the ontology developer does something internally that would normally create a conflict.

goksel commented 3 years ago

Thanks Jake, I am glad the prefix registration system is in place. It seems like this solves the issue and I am happy with the new identifiers.org URLs.