Search Mailing List Archives
[bioontology-support] Using BioPortal to access portions (not whole subtrees) of ontologies... spanning from concept to concept by relations other than is-a
Andrew J. Buckler (BBMSC)
andrew.buckler at bbmsc.com
Thu Jun 16 17:30:53 PDT 2011
I am working with collaborators at Stanford (as per copy) on a project using Ruby on Rails. We hope to interface to BioPortal for access to FMA, GO, Snomed, and Radlex. We call these "linked ontologies" in the sense that they are accessed via a "master" ontology called the Quantitative Imaging Biomarker Ontology where most of the value is in the relations, though the is-a hierarchy is also important. The use case we are working to implement in Rails, expressed as pseudo-code, is as follows:
1. We start a term from the Quantitative Imaging Biomarker Ontology, which is stored in BioPortal.
2. Perform a query to determine its relations, or stated differently, the relations having this term in their Domain.
3. For each such Relation:
a. Perform a query to determine what terms are in the Range of the given Relation.
b. Prompt the user to select from among the terms (by providing them a pick list).
c. If the selected term has children in the is-a hierarchy, we allow the user either to stop at the term or traverse down the is-a hierarchy at their discretion.
d. If the term is identified as being searchable in another ontology (i.e., instead of being fleshed out in QIBO), provide the pick list from that ontology (including the ability to select from among the children as desired).
i. Store a "triple" with the term of step 1, the relation at step 3, and the selected term of this step (regardless of how deep in the is-a hierarchy they went to select it).
e. Else, for the selected term in the QIBO we recurse starting again at step 1 above (which has the effect of navigating the ontology using the relations identified in it to enumerate a sequence of terms for disparate concepts but through the links, and for each term allowing as deep or shallow into the respective is-a hierarchies as desired by the user).
Thus, we don't desire a full hierarchy when we make the query, rather we just need the "short list" of relations for which this term is in the domain (at step 2); the set of terms in the domain for this relation (at step 3a); and the set of terms (only) one-level deeper in the is-a hierarchy (at step 3c).
We wish to pull this data dynamically from the ontology at run-time.
This algorithm would build a dynamic display - and a database to match it - according to the structure identified by following the relations.
Do you still think we can do this using the link below? It seems hard to us.
PS: If background helps, you can see an earlier, less specific question I had asked Dr, Shah and his answer. At first this seemed like it would do it, and in fact it may. However, in working together with my colleague Tiffany, we're less sure than we were at first. Tiffany said that she thinks this may be a way to extract information from an ontology in a "static dump" sense. This wouldn't really be what we're aiming at: in essence, we're looking for ontology relations "one layer at a time" so as to traverse them and build a dynamic representation as per the use case.
From: Nigam Shah [mailto:nigam at stanford.edu<mailto:nigam at stanford.edu>]
Sent: Wednesday, June 01, 2011 6:00 PM
To: Andrew J. Buckler (BBMSC)
Cc: Tiffany Ting Liu; David Paik
Subject: Re: BioPortal REST services
However, the question arises as to how to get the relationships between concepts, not just the concepts themselves. That is, the real value lies in the knowledge representation in the QIBO where it relates the clinical context in which measurements are made with the assay methods utilized to make the measurements. As such, we need more than the terms (which I understand to be the concepts); we need the relations also. Do the methods described through Tiffany's link provide means to extract those? Or do we need to augment this with something else.
All relationship other than is_a will show up as properties. So once you get the terms, you can make a call to get all of its "links" .. parents, children, and others.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the bioontology-support