Using NCBO Technology In Your Project

From NCBO Wiki
Revision as of 20:59, 10 May 2012 by Whetzel (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

There are several ways in which you can use the NCBO technology on your own Web site or in your application. For more ideas visit the Sample Code Cookbook

Ontology Web Services

All the content that the NCBO BioPortal uses (and more!) is available via REST services. You can use the NCBO REST Services:

  • to access all BioPortal ontologies, their different versions, and metadata for those versions
  • to access information about any ontology concept in BioPortal (its definition, synonyms, and other properties)
  • to search across all ontologies in BioPortal
  • to get hierarchy information for BioPortal ontologies (such as parents, children, or siblings of a class, roots or leaves of a class hierarchy)

Annotator Web Service

A service that identifies mentions of biomedical ontology concepts in text that users submit. You can use the annotator service to tag automatically any item of interest with terms from UMLS and BioPortal ontologies.

Ontology Widgets

Put elements of BioPortal, custom-tailored for your ontology of interest, on your own Web site or in your Web form. To add these widgets, you need only to copy simple HTML or Javascript code to your own Web page (go to the "Ontology Widgets" tab on the page for individual ontology details to get the code pre-configured for the widgets using your ontology of interest). The widgets are described in detail at the Ontology Widgets page. The main kinds of widgets you get are:

  • Term-selection field on a form: You can add a text field to your Web form that will let users enter a term from a controlled vocabulary (e.g., terms from a single ontology)
    • Example use case: Suppose you are running a tissue microarray database and users upload sample descriptions to your database using a web form. There is usually a field for the user to enter the diagnosis for the tissue sample that she is entering. Usually, this field is a text-box or a drop down menu populated with a list of controlled terms. The free text-box is prone to errors, the drop-down gets too unwieldy with large terminologies. Using the NCBO term-selection widget to have users easily select a term from an ontology or controlled vocabulary (such as the NCI Thesaurus) to fill in the field. For example, when the user starts typing "cutaneous me", the term "cutaneous melanoma" pops up.
    • What does the term-selection field get you:
      • Look-ahead so that you don't need to type the whole term
      • Controlled vocabulary provides consistency of the way different users use the term (If you want to put "Malignant melanoma", it will always be the same term from NCIT, regardless of how a user started typing it
      • When a new version of your controlled vocabulary becomes available in BioPortal, the widget will automatically use that new version.
  • Ontology search widget: You can add to your Web site a search box that searches a specific BioPortal ontology. When the user selects the term of interest (with the help of the look-ahead feature), he can jump to the BioPortal page for the corresponding concept in BioPortal.
    • Example use case: Suppose your web site provides textbook information for anatomy students. When describing a particular organ or organ part, you want to enable access to the formal definition of that organ part in the Foundational Model of Anatomy (FMA) developed at the University of Washington. Your web pages can contain a widget that enables you to search FMA in BioPortal and jump directly to the definition of the selected term.
  • Track updates (RSS Feed widget): you can put a widget on your site that will have a live feed of all the changes to your ontology of interest, such as uploads of a new version, comments from other users, new mappings for concepts in your ontology.
  • Ontology visualization widget: You can put a widget on your Web site that visualizes your entire ontology of interest, or some part of it, as on the "Visualize" tab in BioPortal.