<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="">
Thank you for sharing this, Marwa, that’s a very useful code snippet!  I'm CCing this to the support list in case someone on it searches for a solution to a similar issue.
<div class=""><br class="">
</div>
<div class="">Michael</div>
<div class=""><br class="">
<div><br class="">
<blockquote type="cite" class="">
<div class="">On Aug 31, 2020, at 4:42 PM, Marwa Hussein <<a href="mailto:marwa.abdelrehem@fci.au.edu.eg" class="">marwa.abdelrehem@fci.au.edu.eg</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">
Thanks Micheal your reply was very useful to me I managed to get the categories with just very simple lines of code</div>
<div style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">
    JsonNode categories = jsonToNode(get(ontology.get("links").get("categories").asText()));      
<div class="">        ArrayList<String> categoryList = new ArrayList<String>();</div>
<div class="">          for (JsonNode category : categories) {</div>
<div class="">         if (!category.get("acronym").isNull()) {</div>
<div class="">         categoryList.add(category.get("acronym").asText() +"\n");</div>
<div class="">         }</div>
          }<br class="">
</div>
<div style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">
Regards,</div>
<div style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">
Marwa</div>
<div id="appendonsend" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
</div>
<hr tabindex="-1" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; display: inline-block; width: 1058.390625px;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class=""></span>
<div id="divRplyFwdMsg" dir="ltr" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
<font face="Calibri, sans-serif" style="font-size: 11pt;" class=""><b class="">From:</b><span class="Apple-converted-space"> </span>Michael Dorf <<a href="mailto:mdorf@stanford.edu" class="">mdorf@stanford.edu</a>><br class="">
<b class="">Sent:</b><span class="Apple-converted-space"> </span>Monday, August 31, 2020 11:39 PM<br class="">
<b class="">To:</b><span class="Apple-converted-space"> </span><a href="mailto:support@bioontology.org" class="">support@bioontology.org</a> <<a href="mailto:support@bioontology.org" class="">support@bioontology.org</a>><br class="">
<b class="">Cc:</b><span class="Apple-converted-space"> </span>Marwa Hussein <<a href="mailto:marwa.abdelrehem@fci.au.edu.eg" class="">marwa.abdelrehem@fci.au.edu.eg</a>><br class="">
<b class="">Subject:</b><span class="Apple-converted-space"> </span>Re: [bioontology-support] [BioPortal] Feedback from marwa811</font>
<div class=""> </div>
</div>
<div class="" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; line-break: after-white-space;">
Hi Marwa,
<div class=""><br class="">
</div>
<div class="">Thank you for contacting us. I don’t have a working Java environment setup to test my recommendation (we are a Ruby/Rails shop), but since you are already have a working code that retrieves the ontologies, you only need to add a parameter “display=…”
 for the REST service to bring in the list of categories (domains) for each ontology. Your code should look like this:</div>
<div class=""><br class="">
</div>
<div class="">
<pre class="" style="background-color: rgb(253, 246, 227);"><pre class="" style="color: rgb(88, 110, 117); font-family: "Source Code Pro for Powerline", monospace; font-size: 9pt;"><span class="" style="color: rgb(203, 75, 22);">// </span><span class="" style="color: rgb(181, 137, 0);">Follow </span>the ontologies link by looking <span class="" style="color: rgb(38, 38, 38);">for </span><span class="" style="color: rgb(38, 139, 210);">the </span>media type <span class="" style="color: rgb(38, 38, 38);">in </span>the list of links<br class=""><span class="" style="color: rgb(181, 137, 0);">String </span><span class="" style="color: rgb(38, 139, 210);">link </span>= resources.get(<span class="" style="color: rgb(42, 161, 152);">"links"</span>).findValue(<span class="" style="color: rgb(42, 161, 152);">"ontologies"</span>).asText();<br class=""><span class="" style="color: rgb(38, 139, 210);">link </span>+= <span class="" style="color: rgb(42, 161, 152);">"?display=acronym,name,summaryOnly,flat,ontologyType,hasDomain"</span>;</pre></pre>
</div>
<div class=""><br class="">
</div>
<div class="">Then, as you iterate over the ontologies, you should be able to do something like this:</div>
<div class=""><br class="">
</div>
<div class="">
<pre class="" style="background-color: rgb(253, 246, 227);"><pre class=""><pre class=""><span class="" style="color: rgb(38, 38, 38); font-family: "Source Code Pro for Powerline", monospace; font-size: 9pt;">for </span><font color="#586e75" face="Source Code Pro for Powerline, monospace" class=""><span class="" style="font-size: 9pt;">(</span></font><span class="" style="color: rgb(181, 137, 0); font-family: "Source Code Pro for Powerline", monospace; font-size: 9pt;">JsonNode </span><font color="#586e75" face="Source Code Pro for Powerline, monospace" class=""><span class="" style="font-size: 9pt;">ontology : ontologies) {<br class="">    ontNames.add(ontology.get(</span></font><span class="" style="color: rgb(42, 161, 152); font-family: "Source Code Pro for Powerline", monospace; font-size: 9pt;">"name"</span><font color="#586e75" face="Source Code Pro for Powerline, monospace" class=""><span class="" style="font-size: 9pt;">).asText() + </span></font><span class="" style="color: rgb(42, 161, 152); font-family: "Source Code Pro for Powerline", monospace; font-size: 9pt;">"</span><span class="" style="color: rgb(220, 50, 47); font-family: "Source Code Pro for Powerline", monospace; font-size: 9pt;">\n</span><span class="" style="color: rgb(42, 161, 152); font-family: "Source Code Pro for Powerline", monospace; font-size: 9pt;">" </span><font color="#586e75" face="Source Code Pro for Powerline, monospace" class=""><span class="" style="font-size: 9pt;">+ ontology.get(</span></font><span class="" style="color: rgb(42, 161, 152); font-family: "Source Code Pro for Powerline", monospace; font-size: 9pt;">"@id"</span><font color="#586e75" face="Source Code Pro for Powerline, monospace" class=""><span class="" style="font-size: 9pt;">).asText() + </span></font><span class="" style="color: rgb(42, 161, 152); font-family: "Source Code Pro for Powerline", monospace; font-size: 9pt;">"</span><span class="" style="color: rgb(220, 50, 47); font-family: "Source Code Pro for Powerline", monospace; font-size: 9pt;">\n\n</span><span class="" style="color: rgb(42, 161, 152); font-family: "Source Code Pro for Powerline", monospace; font-size: 9pt;">"</span><font color="#586e75" face="Source Code Pro for Powerline, monospace" class=""><span class="" style="font-size: 9pt;">);<br class="">    </span></font><span class="" style="color: rgb(181, 137, 0); font-family: "Source Code Pro for Powerline", monospace; font-size: 9pt;">ArrayList</span><font color="#586e75" face="Source Code Pro for Powerline, monospace" class=""><span class="" style="font-size: 9pt;"><</span></font><span class="" style="color: rgb(181, 137, 0); font-family: "Source Code Pro for Powerline", monospace; font-size: 9pt;">String</span><font color="#586e75" face="Source Code Pro for Powerline, monospace" class=""><span class="" style="font-size: 9pt;">> </span></font><span class="" style="color: rgb(38, 139, 210); font-family: "Source Code Pro for Powerline", monospace; font-size: 9pt;">categories </span><font color="#586e75" face="Source Code Pro for Powerline, monospace" class=""><span class="" style="font-size: 9pt;">= (new </span></font><span class="" style="color: rgb(181, 137, 0); font-family: "Source Code Pro for Powerline", monospace; font-size: 9pt;">ObjectMapper</span><font color="#586e75" face="Source Code Pro for Powerline, monospace" class=""><span class="" style="font-size: 9pt;">()).convertValue(ontology.get(</span></font><span class="" style="color: rgb(42, 161, 152); font-family: "Source Code Pro for Powerline", monospace; font-size: 9pt;">"</span><span class="" style="color: rgb(42, 161, 152); font-family: "Source Code Pro for Powerline", monospace; font-size: 9pt;">hasDomain"</span><span class="" style="color: rgb(88, 110, 117); font-family: "Source Code Pro for Powerline", monospace; font-size: 9pt;">), </span><span class="" style="color: rgb(181, 137, 0); font-family: "Source Code Pro for Powerline", monospace; font-size: 9pt;">ArrayList</span><span class="" style="color: rgb(88, 110, 117); font-family: "Source Code Pro for Powerline", monospace; font-size: 9pt;">.class);</span></pre></pre></pre>
</div>
<div class=""><br class="">
</div>
<div class="">I don’t know if this exact code works as written, but you should be able to tweak it to a working version.</div>
<div class=""><br class="">
</div>
<div class="">Hope this helps.</div>
<div class=""><br class="">
</div>
<div class="">Michael</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">
<div class=""><br class="">
<blockquote type="cite" class="">
<div class="">On Aug 30, 2020, at 5:23 PM,<span class="Apple-converted-space"> </span><a href="mailto:support@bioontology.org" class="">support@bioontology.org</a><span class="Apple-converted-space"> </span>wrote:</div>
<br class="x_Apple-interchange-newline">
<div class="">
<div class="">
<div style="margin-top: 0px; margin-bottom: 0px;" class="">Name: marwa811<span class="Apple-converted-space"> </span></div>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><a href="mailto:marwa.abdelrehem@fci.au.edu.eg" class="">Email: marwa.abdelrehem@fci.au.edu.eg</a></div>
<div style="margin-top: 0px; margin-bottom: 0px;" class="">Location: https%3A%2F%<a href="http://2fbioportal.bioontology.org/" class="">2Fbioportal.bioontology.org</a>%2Fhelp</div>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><br class="">
<strong class="">Feedback:</strong></div>
<div style="margin-top: 0px; margin-bottom: 0px;" class="">Hi,<span class="Apple-converted-space"> </span><br class="">
I am using your API for retrieving data about Bioportal ontologies.<span class="Apple-converted-space"> </span><a href="https://github.com/ncbo/ncbo_rest_sample_code/blob/master/java/src/ListOntologies.java" class="">https://github.com/ncbo/ncbo_rest_sample_code/blob/master/java/src/ListOntologies.java</a><span class="Apple-converted-space"> </span><br class="">
This example is efficient and simple and outputs a list of the ontologies' names and ids. I also need to output the categories (Domains) for each ontology. Could you guide me (with code snippet) on how to make this?<span class="Apple-converted-space"> </span><br class="">
Regards,<span class="Apple-converted-space"> </span><br class="">
Marwa</div>
<div class=""><br class="x_webkit-block-placeholder">
</div>
</div>
_______________________________________________<br class="">
bioontology-support mailing list<br class="">
<a href="mailto:bioontology-support@lists.stanford.edu" class="">bioontology-support@lists.stanford.edu</a><br class="">
<a href="https://mailman.stanford.edu/mailman/listinfo/bioontology-support" class="">https://mailman.stanford.edu/mailman/listinfo/bioontology-support</a></div>
</blockquote>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</body>
</html>