When we initially released BioPortal, the system included RESTful Web services to get ontology metadata, to get individual ontology terms, to download ontologies and to search within ontologies. Since then, we have increased the number of Web services to provide expanded functionality and to include Web services to create and get ontology views, to get all terms from an ontology, to get instances, to post and get ontology mappings, to post and get comments and to get ontologies and individual ontology terms in RDF. BioPortal is designed to store multiple versions of the same ontology, which enables a historical overview of the ontology as it evolves. Each ontology has a global (virtual) ontology identifier and each new version of the ontology has an ontology version identifier. Many of the Web services can be called with either the virtual ontology identifier or the ontology version identifier.
Ontology views are subsets of one or more ontologies. Ontology subsets are also referred to as slims by the GO Consortium and value sets when used for structured data entry. These subsets are a useful mechanism to work with smaller amounts of ontology content. For example, views can serve as value sets to populate a Web form select menu or as portions of ontologies to re-use in developing a new ontology. The ‘View’ Web services include functionality to get a list of all ontologies that have views and to create a view using the ‘View extraction’ Web service. The View extraction Web service is designed to extract branches of ontologies given a term to serve as the root node in the ontology view. This Web service is very popular for generating views of content specific portions of large ontologies such as the NCBI Taxonomy, International Classification of External Causes of Injuries (http://www.who.int/classifications/icd/adaptations/iceci/en/index.html
) and the Systematized Nomenclature of Medicine-Clinical Terms (SNOMED-CT, http://www.ihtsdo.org/snomed-ct
The ‘Get All Terms’ Web service returns the term details for all terms within an ontology. This Web service can be called using a specific ontology version identifier or with the virtual ontology identifier, therefore providing a common Web service signature that always returns data from the latest version of the ontology. Due to the large size of some ontologies, this Web service returns ‘pages’ of data to minimize the load on both client and server in dealing with extremely large XML files. The Web service is particularly valuable for use of ontology data in other knowledge base systems that require a custom ontology format, such as the Ontology Management Cell from the i2b2 clinical research data management Hive (https://www.i2b2.org/software/index.html
The ‘Get Term’ Web service is now expanded to access instances from OWL ontologies. The Web service returns ‘pages’ of results containing all instances for a class. Based on the design of the ontology, it is useful to access the instances since these may be the terms to use for data annotation. For example, in the MGED Ontology the values to specify a requested Minimum Information About a Microarray Experiment (MIAME) checklist item are located as instances in the ontology.
The suite of ‘Mapping’ Web services provides access to the millions of ontology mappings published in BioPortal. The mapping data includes mappings provided by the ontology content providers, for example, mappings based on common Concept Unique Identifiers (CUI) in UMLS, mappings specified in OBO ontologies through the OBO xref property, mappings submitted directly to BioPortal by users and mappings generated automatically by algorithms such as LOOM (3
). The Mapping Web services are parameterized to allow a high degree of flexibility to access the data. For example, the service can return mappings between individual terms, all mappings for a given term, or all mappings for a given ontology. Registered users can also submit mappings directly to BioPortal by using the ‘create new mapping’ Web service. This service allows automatic publishing of mapping content generated by ontology alignment software.
The ‘Notes’ Web services provide the ability for registered users to add comments directly to an ontology term or to the ontology. There are different types of notes that provide varying levels of structure for the note. For example, the note type ‘comment’ simply provides a text box to add unstructured comments. However, the ‘new term proposal’ note type provides fields to include the preferred name, synonyms, definition and reason for proposing the new term (). Each note type has a specific XML response from the Notes Web service, easily allowing software applications to post or consume the content of the Notes Web service. For example, via the service-oriented architecture of BioPortal, the notes functionality is being incorporated into the ontology editing software WebProtégé (http://protegewiki.stanford.edu/wiki/WebProtege
) and could also be incorporated into OBO-Edit (http://oboedit.org/
). An email alert system is incorporated into the Notes feature, therefore the ontology author and other users interested in comments for a given ontology can be notified via email of new comments. The ontology author can then engage with the user to address the concern using the Notes feature and archive the Note once resolved.
Screenshot of New Term proposal BioPortal Note Type.
The ‘RDF’ Web services are designed to return RDF snippets for individual terms and the content of an entire ontology in RDF. The goal of the RDF Web services is to provide the essential information about a term in RDF. The RDF Term Web service returns the term id, preferred name, synonyms, definitions and super-classes together with selected locally defined annotation properties for the ontology. The URI for each term is either the original URI present in the ontology file or the URI specified by the respective authority. If the ontology developers do not provide URIs for the terms, BioPortal generates these using the purl.bioontology.org server. By generating RDF for the ontologies, the entire content of BioPortal ontologies can be exposed as Linked Open Data. In addition to the RDF Web services, the BioPortal prototype SPARQL endpoint provides access to BioPortal ontology content in RDF and is available at: http://sparql.bioontology.org
We have also developed other Web services that use BioPortal ontology content. These services include the NCBO Annotator Web service, which ‘tags’ textual data with ontology terms from BioPortal (4
); the NCBO Resource Index Web services, which provide access to an ontology-based index of publically available biomedical data (5
) and the NCBO Ontology Recommender Web service (6
), which given a set of keywords or textual data as input generates a ranked score of which ontology best ‘covers’ the data. More details on all NCBO Web services can be found at: http://www.bioontology.org/wiki/index.php/NCBO_REST_services