<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div dir="auto" style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
Hello,
<div class=""><br class="">
</div>
<div class="">I started looking into this yesterday evening, and I’m not sure I have a complete answer for you yet.</div>
<div class=""><br class="">
</div>
<div class="">When end users submit ontologies to BioPortal, an ontology PURL is created using this format:</div>
<div class=""><br class="">
</div>
<div class=""><a href="http://purl.bioontology.org/ontology/GSSO" class="">http://purl.bioontology.org/ontology/GSSO</a></div>
<div class=""><br class="">
</div>
<div class="">… where your ontology acronym makes up the last fragment of the PURL. If you enter that PURL in a browser address bar, the BioPortal PURL server will resolve it to the following URL pattern:</div>
<div class=""><br class="">
</div>
<div class=""><a href="http://bioportal.bioontology.org/ontologies/GSSO" class="">http://bioportal.bioontology.org/ontologies/GSSO</a></div>
<div class=""><br class="">
</div>
<div class="">This is the home page for your ontology in the BioPortal web application (developed in Ruby on Rails). </div>
<div class=""><br class="">
</div>
<div class="">If you want a permanent link to any given class in your ontology that will resolve to the corresponding page in the BioPortal web application, you can use a URL pattern where you tack the URL encoded class ID onto the end of the ontology PURL
 using the “conceptid=“ parameter in the query string. For example, the permanent link to the “transgender” class from your GSSO ontology would be the following:</div>
<div class=""><br class="">
</div>
<div class=""><a href="http://purl.bioontology.org/ontology/GSSO?conceptid=http://purl.bioontology.org/ontology/GSSO/GSSO_000096" class="">http://purl.bioontology.org/ontology/GSSO?conceptid=http%3A%2F%2Fpurl.bioontology.org%2Fontology%2FGSSO%2FGSSO_000096</a></div>
<div class=""><br class="">
</div>
<div class="">I did find an exception to the above information that occurs with all of the UMLS format ontologies in BioPortal, e.g., SNOMEDCT, etc. These ontologies are bulk-imported into BioPortal twice per year using a custom process that writes the ontology
 data directly into the RDF store, bypassing the file upload process normally performed by end users. For these ontologies, several formats for permanent class links work, e.g., all of the following PURLS will resolve to the “Body structure” class in the SNOMEDCT
 ontology:</div>
<div class=""><br class="">
</div>
<div class=""><a href="http://purl.bioontology.org/ontology/SNOMEDCT/123037004" class="">http://purl.bioontology.org/ontology/SNOMEDCT/123037004</a></div>
<div class=""><a href="http://purl.bioontology.org/ontology/SNOMEDCT?conceptid=123037004" class="">http://purl.bioontology.org/ontology/SNOMEDCT?conceptid=123037004</a></div>
<div class=""><a href="http://purl.bioontology.org/ontology/SNOMEDCT?conceptid=http://purl.bioontology.org/ontology/SNOMEDCT/123037004" class="">http://purl.bioontology.org/ontology/SNOMEDCT?conceptid=http%3A%2F%2Fpurl.bioontology.org%2Fontology%2FSNOMEDCT%2F123037004</a></div>
<div class=""><br class="">
</div>
<div class=""> I’m not yet able to provide more details about why this only works for UMLS format ontologies.</div>
<div class=""><br class="">
</div>
<div class="">You mentioned that you’re editing a large number of entries in Protege. I’m not sure if you’re aware that we provide a REST API for programmatic retrieval of ontology data, documented here: <a href="http://data.bioontology.org/documentation" class="">http://data.bioontology.org/documentation</a>.
 For example, you could retrieve data about the “transgender” class using the following REST call:</div>
<div class=""><br class="">
</div>
<div class=""><a href="http://data.bioontology.org/ontologies/GSSO/classes/http://purl.bioontology.org/ontology/GSSO/GSSO_000096" class="">http://data.bioontology.org/ontologies/GSSO/classes/http%3A%2F%2Fpurl.bioontology.org%2Fontology%2FGSSO%2FGSSO_000096</a></div>
<div class=""><br class="">
</div>
<div class="">It’s a hypermedia API, and one of the links returned is a “ui” link with a URL that navigates to the page for said class in the BioPortal web application (<a href="http://bioportal.bioontology.org/ontologies/GSSO?p=classes&conceptid=http%3A%2F%2Fpurl.bioontology.org%2Fontology%2FGSSO%2FGSSO_000096" class="">http://bioportal.bioontology.org/ontologies/GSSO?p=classes&conceptid=http%3A%2F%2Fpurl.bioontology.org%2Fontology%2FGSSO%2FGSSO_000096</a>).</div>
<div class=""><br class="">
</div>
<div class="">We provide examples of using the API in several languages in one of our GitHub repositories: <a href="https://github.com/ncbo/ncbo_rest_sample_code" class="">https://github.com/ncbo/ncbo_rest_sample_code</a>.</div>
<div class=""><br class="">
</div>
<div class="">Hope this information is helpful.</div>
<div class=""><br class="">
</div>
<div class="">Kind regards,</div>
<div class="">Jennifer</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class=""><img apple-inline="yes" id="31ADDBC7-3C1A-4AC8-9B0F-078F39F1440B" src="cid:385A57B1-A516-4F52-A9F3-C0422509D101@stanford.edu" class=""></div>
<div class=""><br class="">
</div>
<div class="">
<div><br class="">
<blockquote type="cite" class="">
<div class="">On Jul 23, 2020, at 12:58 PM, superraptor2 <<a href="mailto:clair.kronk@gmail.com" class="">clair.kronk@gmail.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="">Hi! I'm attempting to log the GSSO with a prefix at <a href="http://identifiers.org" class="">
identifiers.org</a> and part<br class="">
of that process requires agnostic identifiers.<br class="">
<br class="">
Basically, when I applied, the GSSO resolved individual identifiers with<br class="">
URLs such as<br class="">
<a href="http://purl.bioontology.org/ontology/GSSO?p=classes&conceptid=http://purl.bioontology.org/ontology/GSSO/000096" class="">http://purl.bioontology.org/ontology/GSSO?p=classes&conceptid=http://purl.bioontology.org/ontology/GSSO/000096</a><br class="">
instead of http://purl.bioontology.org/ontology/GSSO/GSSO:000096. <br class="">
<br class="">
I attempted to update this from 2.0.0 to 2.0.1, changing the IDs from<br class="">
http://purl.bioontology.org/ontology/GSSO/000096 to<br class="">
http://purl.bioontology.org/ontology/GSSO/GSSO_006778, in order to mimic<br class="">
those at the Gene Ontology, but it still requires something like<br class="">
http://bioportal.bioontology.org/ontologies/GSSO/?p=classes&conceptid=http://purl.bioontology.org/ontology/GSSO/GSSO_006778<br class="">
instead of http://bioportal.bioontology.org/ontologies/GSSO/GSSO:006778 or<br class="">
http://bioportal.bioontology.org/ontologies/GSSO/GSSO_006778.<br class="">
<br class="">
What's the best/fastest way to resolve these URLs? i.e. what do I need to<br class="">
change within the annotations themselves for this to work? I'm editing<br class="">
~12,000 entries via Protege, so anything I can do non-manually and in bulk<br class="">
would be incredibly useful!<br class="">
<br class="">
Thanks so much!<br class="">
<br class="">
<br class="">
<br class="">
--<br class="">
Sent from: http://ncbo-support.2288202.n4.nabble.com/<br class="">
_______________________________________________<br class="">
bioontology-support mailing list<br class="">
bioontology-support@lists.stanford.edu<br class="">
https://mailman.stanford.edu/mailman/listinfo/bioontology-support<br class="">
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</body>
</html>