CTS2 BioPortal Rest mapping

From NCBO Wiki
Revision as of 14:17, 1 February 2012 by Kpradip (talk | contribs) (→‎List all the latest version of ontologies)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The examples below have been copied directly from the bioportal site. We would dearly like to transclude them but are having difficulties in the transclusion function...

List all the latest version of ontologies


Note: codeSystems includes a link to the CURRENT version of the code system. It lacks some of the detail in the latest version list but, unless we find issues or requirements, should be adequate.

CTS2 does not consider a "view" to be same as an ontology, so this will not yield everything that comes out of BioPortal - the ValueSets yields the other component

Get a specific ontology based on a version id

Do people (shudder!) actually code things like "39002" in their data? Is it necessary to be able to map 39002 to this version of BRO, for instance?

Download an ontology file

  • Description: Download the file (.obo, .owl) corresponding to the given ontology version id.
  • Signature: ./ontologies/download/{ontology version id}?email={email_address}
  • Example: ontologies/download/39002

Note: there is no direct CTS2 equivalent of this, the SourceAndNotation/sourcedocument is designed for this - dereference it and you get it...

Download the latest ontology file

  • Description: Download the file (.obo, .owl) corresponding to the given virtual ontology id.
  • Signature: ./virtual/download/{ontology id}?email={email_address}
  • Example: virtual/download/1090

This currently requires indirection - go to "1090" (BRO), get the current version and then download its sourceDocument

Get all versions of an ontology from a virtual ontology id

Get latest version of an ontology id

List all ontology categories

NOTE: To be released in BioPortal version 2.2

  • Signature: ./categories?email={email_address}
  • Example: categories

The ontology categories expressed in BioPortal need to be published as a first class Ontology, which become the possible values in OntologyDomain (either that or we need to map to OMV)

List all ontology groups

NOTE: To be released in BioPortal version 2.2

  • Signature: ./groups?email={email_address}
  • Example: groups

The ontology categories expressed in BioPortal need to be published as a first class Ontology (either that or we need to map to OMV). What is the OMV equivalent of this entry?

Services to access ontology views and ontology view versions

Since all the views on ontologies are ontologies themselves all the services that work on ontologies do work for ontology views also with the same signature.

For example to get a specific ontology view based on a version id would be possible by using the signature:

./ontologies/download/{view version id}?apikey={YourAPIKey}

or for getting all view versions of a virtual view can be achieved called using the signature:

./ontologies/versions/{view id}?apikey={YourAPIKey}

However, there are a couple of services that are special for views:

List all the latest version of views

NOTE: To be released in BioPortal version 2.2

Get all versions of views from a virtual ontology id

NOTE: To be released in BioPortal version 2.2

  • Description: Returns all versions of views defined on the latest version a virtual ontology, grouped by virtual view ids.
  • Signature: ./views/versions/{ontology id}?apikey={YourAPIKey}
  • Example: views/versions/1104

CTS2 has no direct equivalent. One can query ValueSets (virtual view) by CodeSystem [1] (virtual ontology), but the complete collection requires iteration.

Search services

Search BioPortal

  • Signature: ./search/{query}[?{optional args}]&apikey={YourAPIKey}
  • Alt Signature: ./search/?query={uri-encoded query}[&{optional args}]&apikey={YourAPIKey}
  • Example: search/Gene

BioPortal searches are "term" only - they don't search code systems, value sets and the like.


  • Optional arguments:
    • ontologyids=<ontologyid>,<ontologyid>… - limits the search to specific ontologies (default: all ontologies)
      • NOTE: ontologyid, in this context, is the virtual id, not the version. This is the equivalent of adding codesystemversion=(url or name) as a search parameter
    • isexactmatch=[1/0] – match the entire concept name (default: 0)
      • matchalgorithm=exactmatch AND filterAttribute=entityID gives this (other algorithms includes starts with, contains, etc.)
    • includeproperties=[1/0] – include attributes in the search (default: 0)
      • filterComponent=properties (Note: the official identification of what filters are available and their ids is left open in CTS2)
    • pagesize=<pagesize> - the number of results to display in a single request (default: all)
      • maxtoreturn=
    • pagenum=<pagenum> - the page number to display (pages are calculated using <total results>/<pagesize>) (default: 1)
      • (implicit in the return URL's - CTS2 does not specifically state how (or whether)) on can get the 153rd match
    • maxnumhits=<maxnumhits> - the maximum number of top matching results to return (default: 1000)
      • (no equivalent)
    • subtreerootconceptid=<uri-encoded conceptid> - narrow the search to concepts residing in a sub-tree, where the "subtreerootconceptid" is the root node. This feature requires a SINGLE <ontologyid> passed in using the "onotlogyids" parameter.
      • We need examples, but the general model would be to start with the URI for the children of a particular entity?
    • objecttypes=<class,individual,property> - limits the results returned to these types, multitple types can be included in the parameter, e.g. class,individual.
      • restriction property
    • includedefinitions={true} - if a search result is a hit for a term, adding this parameter will include the definition in the search result xml. Note: Including the definition results in a slight performance hit.
      • filtercomponent=definitions
  • Description:

The search attempts to match both partial and exact queries, giving more weight to exact matches. In single-word searches, the wildcard character (*) is automatically appended to the end of the word. For example, searching for "lun" would return all concepts whose name contains a word that begins with "lun" (i.e. "Lung", "Murine Lunate Bone", "Base of the Lung", etc).

In phrase searches (multiple words), the wildcard character is appended to the end of each word. For example, searching for "cut mela" would return all concepts whose name contains a word starting with "cut", followed by any word that begins with "mela" (i.e. "Cutaneous Melanoma", "Metastatic Non-Cutaneous Melanoma", "Cutaneous Melanoma Clinical TNM Finding", etc).

<?xml version="1.0" encoding="UTF-8" ?>
<success>
	<accessedResource>
		/bioportal/search/cutaneous%20mela
	</accessedResource>
	<accessDate>2009-05-07 16:17:46.182 PDT</accessDate>
	<data>
		<page>
			<pageNum>1</pageNum>
			<numPages>1</numPages>
			<pageSize>3</pageSize>
			<numResultsPage>3</numResultsPage>
			<numResultsTotal>3</numResultsTotal>
			<contents
				class="org.ncbo.stanford.bean.search.SearchResultListBean">
				<searchResultList>
					<searchBean>
						<ontologyVersionId>39715</ontologyVersionId>
						<ontologyId>1136</ontologyId>
						<ontologyDisplayLabel>
							Experimental Factor Ontology
						</ontologyDisplayLabel>
						<recordType>
							RECORD_TYPE_PREFERRED_NAME
						</recordType>
						<conceptId>
							http://www.ebi.ac.uk/efo/EFO_0000389
						</conceptId>
						<conceptIdShort>EFO_0000389</conceptIdShort>
						<preferredName>
							cutaneous melanoma
						</preferredName>
						<contents>cutaneous melanoma</contents>
					</searchBean>
					<searchBean>
						<ontologyVersionId>39478</ontologyVersionId>
						<ontologyId>1032</ontologyId>
						<ontologyDisplayLabel>
							NCI Thesaurus
						</ontologyDisplayLabel>
						<recordType>
							RECORD_TYPE_PREFERRED_NAME
						</recordType>
						<conceptId>
							http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#Cutaneous_Melanoma
						</conceptId>
						<conceptIdShort>
							Cutaneous_Melanoma
						</conceptIdShort>
						<preferredName>
							Cutaneous Melanoma
						</preferredName>
						<contents>Cutaneous Melanoma</contents>
					</searchBean>
					<searchBean>
						<ontologyVersionId>39833</ontologyVersionId>
						<ontologyId>1009</ontologyId>
						<ontologyDisplayLabel>
							Human disease
						</ontologyDisplayLabel>
						<recordType>
							RECORD_TYPE_PREFERRED_NAME
						</recordType>
						<conceptId>DOID:2418</conceptId>
						<conceptIdShort>DOID:2418</conceptIdShort>
						<preferredName>
							Cutaneous Melanocytic Neoplasm
						</preferredName>
						<contents>
							Cutaneous Melanocytic Neoplasm
						</contents>
					</searchBean>
				</searchResultList>
				<ontologyHitList>
					<ontologyHitBean>
						<ontologyVersionId>39715</ontologyVersionId>
						<ontologyId>1136</ontologyId>
						<ontologyDisplayLabel>
							Experimental Factor Ontology
						</ontologyDisplayLabel>
						<numHits>1</numHits>
					</ontologyHitBean>
					<ontologyHitBean>
						<ontologyVersionId>39833</ontologyVersionId>
						<ontologyId>1009</ontologyId>
						<ontologyDisplayLabel>
							Human disease
						</ontologyDisplayLabel>
						<numHits>1</numHits>
					</ontologyHitBean>
					<ontologyHitBean>
						<ontologyVersionId>39478</ontologyVersionId>
						<ontologyId>1032</ontologyId>
						<ontologyDisplayLabel>
							NCI Thesaurus
						</ontologyDisplayLabel>
						<numHits>1</numHits>
					</ontologyHitBean>
				</ontologyHitList>
			</contents>
		</page>
	</data>
</success>

Term services

(formerly referred to as Concept services)

Get term, including its properties, subclasses, and superclasses

  • Signature: ./concepts/{ontology version id}/{concept id}?apikey={YourAPIKey}
  • Alt Signature: ./concepts/{ontology version id}?conceptid={uri-encoded concept id}&apikey={YourAPIKey}
  • Virtual Signature (always uses most recent version of the ontology): ./virtual/ontology/{ontology virtual id}/{concept id}
  • Alt Virtual Signature (always uses most recent version of the ontology): ./virtual/ontology/{ontology virtual id}?conceptid={uri-encoded concept id}
    • To ensure that the Web service works within your application, use the Alt signature as some ontologies may contain terms where the concept id is a URI.
  • Optional arguments:
    • light=[1/0] - when set to 1, returns the "light" version of XML with only a basic info for the concept and its immediate children
    • norelations=[1/0] - when set to 1, returns only the requested term information (id, label, fullid, type, synonyms, definitions) without the "relations" map. This is useful when you need to quickly retrieve just the base information about a term.
  • Examples:

BioPortal: concepts/44103?conceptid=O80-O84.9&apikey=YourAPIKey

CTS2: codesystem/ICD10/version/ICD10_1998_RRF/entity/O80-O84.9

virtual/ontology/1516?conceptid=O80-O84.9&apikey=YourAPIKey

  • Sample Output:
<?xml version="1.0" encoding="UTF-8"?>
<success>
  <accessedResource>/bioportal/concepts/44103</accessedResource>
  <accessDate>2010-12-08 16:57:43.763 PST</accessDate>
  <data>
    <classBean>
      <id>O80-O84.9</id>
      <fullId>http://purl.bioontology.org/ontology/ICD10/O80-O84.9</fullId>

      <label>Delivery</label>
      <type>Class</type>
      <relations>
        <entry>
          <string>SubClass</string>
          <list>
            <classBean>

              <id>O84</id>
              <fullId>http://purl.bioontology.org/ontology/ICD10/O84</fullId>
              <label>Multiple delivery</label>
              <type>Class</type>
              <relations>
                <entry>
                  <string>ChildCount</string>

                  <int>5</int>
                </entry>
              </relations>
            </classBean>
            <classBean>
              <id>O83</id>
              <fullId>http://purl.bioontology.org/ontology/ICD10/O83</fullId>

              <label>Other assisted single delivery</label>
              <type>Class</type>
              <relations>
                <entry>
                  <string>ChildCount</string>
                  <int>7</int>
                </entry>

              </relations>
            </classBean>
            <classBean>
              <id>O82</id>
              <fullId>http://purl.bioontology.org/ontology/ICD10/O82</fullId>
              <label>Single delivery by caesarean section</label>
              <type>Class</type>

              <relations>
                <entry>
                  <string>ChildCount</string>
                  <int>5</int>
                </entry>
              </relations>
            </classBean>
            <classBean>

              <id>O81</id>
              <fullId>http://purl.bioontology.org/ontology/ICD10/O81</fullId>
              <label>Single delivery by forceps and vacuum extractor</label>
              <type>Class</type>
              <relations>
                <entry>
                  <string>ChildCount</string>

                  <int>6</int>
                </entry>
              </relations>
            </classBean>
            <classBean>
              <id>O80</id>
              <fullId>http://purl.bioontology.org/ontology/ICD10/O80</fullId>

              <label>Single spontaneous delivery</label>
              <type>Class</type>
              <relations>
                <entry>
                  <string>ChildCount</string>
                  <int>4</int>
                </entry>

              </relations>
            </classBean>
          </list>
        </entry>
        <entry>
          <string>PAR</string>
          <list>
            <classBean>

              <id>O00-O99.9</id>
              <fullId>http://purl.bioontology.org/ontology/ICD10/O00-O99.9</fullId>
              <label>Pregnancy, childbirth and the puerperium</label>
              <type>Class</type>
              <relations>
                <entry>
                  <string>ChildCount</string>

                  <int>8</int>
                </entry>
              </relations>
            </classBean>
          </list>
        </entry>
        <entry>
          <string>ChildCount</string>

          <int>5</int>
        </entry>
        <entry>
          <string>Semantic_Type</string>
          <list>
            <string>Therapeutic or Preventive Procedure</string>
          </list>

        </entry>
        <entry>
          <string>TUI</string>
          <list>
            <string>T061</string>
          </list>
        </entry>
        <entry>

          <string>UMLS_CUI</string>
          <list>
            <string>C0011209</string>
          </list>
        </entry>
        <entry>
          <string>SuperClass</string>

          <list>
            <classBean>
              <id>O00-O99.9</id>
              <fullId>http://purl.bioontology.org/ontology/ICD10/O00-O99.9</fullId>
              <label>Pregnancy, childbirth and the puerperium</label>
              <type>Class</type>
              <relations>

                <entry>
                  <string>ChildCount</string>
                  <int>8</int>
                </entry>
              </relations>
            </classBean>
          </list>
        </entry>

      </relations>
    </classBean>
  </data>
</success>

Get all root terms for an ontology version id

  • Signature: ./concepts/{ontology version id}/root?apikey={YourAPIKey}
  • Example: concepts/39002/root

Get a path between two terms

NOTE: There is a known bug with this web service, we are working to resolve the issue (July 2011).

Get a path between a term and the root

  • Signature: ./path/{ontology_version_id}/?source={concept1_id}&target=root&apikey=YourAPIKey
  • Example: path/42838/?source=Transitional_Epithelium&target=root&apikey=YourAPIKey
  • Note: If there is no path between the specified term and the set of nodes designated as "roots" then this method just returns the root node. Note that "root" here is defined as a set of classes which have been designated as "roots". It is not defined as a node which as no parents.

Get all terms using the specific ontology version id

NOTE: 'Get all terms' service has changed. The new signature and examples are reflected below. See #Changes_to_the_Get_all_terms_service for more information.

Get all terms using the virtual ontology id

NOTE: 'Get all terms' service has changed. The new signature and examples are reflected below. See #Changes_to_the_Get_all_terms_service for more information.

  • Signature: ./virtual/ontology/{ontology id}/all?pagesize={pagesize}&pagenum={pagenum}&apikey={YourAPIKey}
  • Example: virtual/ontology/1104/all?&pagesize=50&pagenum=1&apikey=YourAPIKey
  • Arguments:
    • pagesize: An integer limiting how many results will be returned on a single page (a 'page' is equivalent to a single call to the REST service)
    • pagenum: An integer indicating which page of results to return.

Changes to the Get all terms service

Starting in BioPortal 2.3.1 (released March 15, 2010), the 'Get all terms' service has changed to support speedier and more complete term retrieval. To support this, several changes to the response XML and service signature are being made. Please see the following notes to update your existing applications to support these changes.

  • Signature
    • New parameters: Previously, offset and limit were used to control pagination of results. These parameters have been replaced as follows:
      • pagesize: An integer limiting how many results will be returned on a single page (a 'page' is equivalent to a single call to the REST service)
      • pagenum: An integer indicating which page of results to return.
  • Response: The structure of the new 'Get all terms' response XML has been brought into line with other BioPortal REST term services. In addition, to assist in paging through result sets, 'page' metadata is provided. A list of classBeans is provided in the classBeanResultList element, which includes each classes' set of relations (examples of relations include SuperClass, SubClass, and rdfs:label). Please see the example below for a full demonstration of the new response.

View Extraction Service

  • This web service can be used to extract a subtree from an ontology. See View Extraction for usage details.

Instance Services

Get all direct instances for a given term

  • Signature: ./concepts/instances/{ontlogyVersionId}[?conceptid={uri-encoded concept id}[&{optional args}]&apikey={YourAPIKey}
  • Optional arguments:
    • pagesize=<pagesize> - the number of results to display in a single request (default: all)
    • pagenum=<pagenum> - the page number to display (pages are calculated using <total results>/<pagesize>) (default: 1)
<?xml version="1.0" encoding="UTF8" ?>
<success>
	<accessedResource>/bioportal/concepts/instances/38801
	</accessedResource>
	<accessDate>20100408 18:17:21.226 PDT</accessDate>
	<data>
		<page>
			<pageNum>1</pageNum>
			<numPages>5</numPages>
			<pageSize>1</pageSize>
			<numResultsPage>1</numResultsPage>
			<numResultsTotal>5</numResultsTotal>
			<contents class="org.ncbo.stanford.bean.concept.InstanceBeanResultListBean">
				<list>
					<instanceBean>
						<id>unknown_substrate_type</id>
						<fullId>
							http://mged.sourceforge.net/ontologies/MGEDOntology.owl#unknown_substrate_type
						</fullId>
						<label>unknown_substrate_type</label>
						<relations>
							<entry>
								<propertyBean>
									<id>rdf:type</id>
									<fullId>http://www.w3.org/1999/02/22rdfsyntaxns#type
									</fullId>
									<label>rdf:type</label>
									<relations />
								</propertyBean>
								<list>
									<instanceBean>
										<id>SubstrateType</id>
										<fullId>
											http://mged.sourceforge.net/ontologies/MGEDOntology.owl#SubstrateType
										</fullId>
										<label>SubstrateType</label>
										<relations />
										<instanceType>
											<list>
												<classBean>
													<id>owl:Class</id>
													<fullId>http://www.w3.org/2002/07/owl#Class
													</fullId>
													<label>owl:Class</label>
													<type>Class</type>
													<relations />
												</classBean>
											</list>
										</instanceType>
									</instanceBean>
								</list>
							</entry>
							<entry>
								<propertyBean>
									<id>:NAME</id>
									<fullId>:NAME</fullId>
									<label>:NAME</label>
									<relations />
								</propertyBean>
								<list>
									<string>
										http://mged.sourceforge.net/ontologies/MGEDOntology.owl#unknown_substrate_type
									</string>
								</list>
							</entry>
							<entry>
								<propertyBean>
									<id>unique_identifier</id>

									<fullId>
										http://mged.sourceforge.net/ontologies/MGEDOntology.owl#unique_identifier
									</fullId>
									<label>unique_identifier</label>
									<relations />
								</propertyBean>
								<list>
									<string>MO_484</string>
								</list>
							</entry>
							<entry>
								<propertyBean>
									<id>:DIRECTTYPE</id>
									<fullId>:DIRECTTYPE</fullId>
									<label>:DIRECTTYPE</label>
									<relations />
								</propertyBean>
								<list>
									<instanceBean>
										<id>SubstrateType</id>
										<fullId>
											http://mged.sourceforge.net/ontologies/MGEDOntology.owl#SubstrateType
										</fullId>
										<label>SubstrateType</label>
										<relations />
										<instanceType>
											<list>
												<classBean>
													<id>owl:Class</id>
													<fullId>http://www.w3.org/2002/07/owl#Class
													</fullId>
													<label>owl:Class</label>
													<type>Class</type>
													<relations />
												</classBean>
											</list>
										</instanceType>
									</instanceBean>
								</list>
							</entry>
							<entry>
								<propertyBean>
									<id>rdfs:comment</id>
									<fullId>http://www.w3.org/2000/01/rdfschema#comment
									</fullId>
									<label>rdfs:comment</label>
									<relations />
								</propertyBean>

								<list>
									<string>SubstrateType of unknown type.</string>
								</list>
							</entry>
						</relations>
						<instanceType>
							<list>
								<classBean>
									<id>SubstrateType</id>
									<fullId>
										http://mged.sourceforge.net/ontologies/MGEDOntology.owl#SubstrateType
									</fullId>
									<label>SubstrateType</label>
									<type>Class</type>
									<relations />
								</classBean>
							</list>
						</instanceType>
					</instanceBean>
				</list>
			</contents>
		</page>
	</data>
</success>

Get an instance and its property/value pairs

  • Signature: ./instance/{ontlogyVersionId}[?instanceid={instanceid}&apikey={YourAPIKey}]
<?xml version="1.0" encoding="UTF8" ?>
<success>
	<accessedResource>/bioportal/instance/38801
	</accessedResource>
	<accessDate>20100408 18:10:48.760 PDT</accessDate>
	<data>
		<instanceBean>
			<id>glass</id>
			<fullId>
				http://mged.sourceforge.net/ontologies/MGEDOntology.owl#glass
			</fullId>
			<label>glass</label>
			<relations>
				<entry>
					<propertyBean>
						<id>:NAME</id>
						<fullId>:NAME</fullId>
						<label>:NAME</label>
						<relations />
					</propertyBean>
					<list>
						<string>
							http://mged.sourceforge.net/ontologies/MGEDOntology.owl#glass
						</string>
					</list>
				</entry>
				<entry>
					<propertyBean>
						<id>unique_identifier</id>
						<fullId>
							http://mged.sourceforge.net/ontologies/MGEDOntology.owl#unique_identifier
						</fullId>
						<label>unique_identifier</label>
						<relations />
					</propertyBean>
					<list>
						<string>MO_742</string>
					</list>
				</entry>
				<entry>
					<propertyBean>
						<id>rdfs:comment</id>
						<fullId>http://www.w3.org/2000/01/rdfschema#comment
						</fullId>
						<label>rdfs:comment</label>
						<relations />
					</propertyBean>
					<list>
						<string>The array is made on a glass slide.</string>
					</list>
				</entry>
				<entry>
					<propertyBean>
						<id>:DIRECTTYPE</id>
						<fullId>:DIRECTTYPE</fullId>
						<label>:DIRECTTYPE</label>
						<relations />
					</propertyBean>
					<list>
						<instanceBean>
							<id>SubstrateType</id>
							<fullId>
								http://mged.sourceforge.net/ontologies/MGEDOntology.owl#SubstrateType
							</fullId>
							<label>SubstrateType</label>
							<relations />
							<instanceType>
								<list>
									<classBean>
										<id>owl:Class</id>
										<fullId>http://www.w3.org/2002/07/owl#Class
										</fullId>
										<label>owl:Class</label>
										<type>Class</type>
										<relations />
									</classBean>
								</list>
							</instanceType>
						</instanceBean>
					</list>
				</entry>
				<entry>
					<propertyBean>
						<id>rdf:type</id>
						<fullId>http://www.w3.org/1999/02/22rdfsyntaxns#type
						</fullId>
						<label>rdf:type</label>
						<relations />
					</propertyBean>
					<list>
						<instanceBean>
							<id>SubstrateType</id>
							<fullId>
								http://mged.sourceforge.net/ontologies/MGEDOntology.owl#SubstrateType
							</fullId>
							<label>SubstrateType</label>
							<relations />
							<instanceType>
								<list>
									<classBean>
										<id>owl:Class</id>
										<fullId>http://www.w3.org/2002/07/owl#Class
										</fullId>
										<label>owl:Class</label>
										<type>Class</type>
										<relations />
									</classBean>
								</list>
							</instanceType>
						</instanceBean>
					</list>
				</entry>
			</relations>
			<instanceType>
				<list>
					<classBean>
						<id>SubstrateType</id>
						<fullId>
							http://mged.sourceforge.net/ontologies/MGEDOntology.owl#SubstrateType
						</fullId>
						<label>SubstrateType</label>
						<type>Class</type>
						<relations />
					</classBean>
				</list>
			</instanceType>
		</instanceBean>
	</data>
</success>

Hierarchy Services

The Hierarchy Services provide access to pre-computed term hierarchy information via a single web service call. The pre-computed hierarchy data is generated for only one version of an ontology and is periodically updated. Therefore, if using the Hierarchy Web services, it is best to use the form of the call with the virtual ontology id. To get hierarchy information for any version of an ontology, use the Term Web service to traverse the ontology structure.

NOTE: To see which ontology versions have been processed for use with the Hierarchy Services, check http://rest.bioontology.org/obs/ontologies for ontologies with STATUS=28.

Get paths to root/leaves from a concept in the latest version of a given ontology

  • Signature: ./virtual/[rootpath|leafpath]/{ontologyId}/{conceptId}[?apikey={YourAPIKey}&{optional args}]
  • Example: virtual/rootpath/1032/Melanoma
  • Example: virtual/leafpath/1032/Melanoma
  • Optional arguments:
    • offset=<integer> – results offset (used for pagination)
    • limit=<integer> – limits the number of results
    • delim=<string> – use a custom delimiter between returned terms. Default is a period (.).
  • Description: The same as the previous services, but takes an ontology id and returns parents from the latest version of that ontology.

Get siblings of a given concept in the latest version of a given ontology

  • Signature: ./virtual/siblings/{ontlogyId}/{conceptId}?level=<level>&apikey={YourAPIKey}&[&{optional args}]
  • Example: virtual/siblings/1032/Melanoma?level=1&apikey=YourAPIKey
  • Required arguments:
    • level=<integer> - limits results to a given level in the hierarchy
  • Optional arguments:
    • offset=<integer> – results offset (used for pagination)
  • Description: The same as the previous service, but takes an ontology id and returns parents from the latest version of that ontology.

Bio2RDF Dump Service

This service allows you to output a given ontology from BioPortal in the form of a N3 RDF file conforming to the requirements for integrating into the Bio2RDF collection.

Annotator Service

The NCBO Annotator is a Web service that can be used to annotate text metadata with biomedical ontology concepts. The concepts are from ontologies in BioPortal and includes the Unified Medical Language System (UMLS) Metathesaurus, OBO Foundry candidate ontologies and many others.

The Annotator can be tested via a Web interface available through BioPortal. For more information on using the Annotator Web service, see: http://bioontology.org/wiki/index.php/Annotator_Web_service.

Resource Index Service

The Resource Index provides a mechanism to search for biomedical data based on ontology concepts. For more information on using the Resource Index service, see http://www.bioontology.org/wiki/index.php/Resource_Index.


RDF Term Service

  • Signature: ./bioportal/rdf/{ontology version id}/{concept id}?apikey=YourAPIKey
  • Alt Signature: ./bioportal/virtual/rdf/{ontology id}/{concept id}?apikey=YourAPIKey
  • Alt Signature: ./bioportal/virtual/rdf/{ontology id}/{concept id},{concept id},...,{concept id}?apikey=YourAPIKey
  • Examples:
  • Required arguments:
    • ontology version id
    • concept id
  • Description: returns a BioPortal concept as RDF/XML ontology snippet. This is a prototype web service, for updates subscribe to bioportal-announce.
    • The RDF dump will use URIs that are based on which format the ontology is in:
      • OWL/RDF(S): preserve original URIs
      • Protégé & RRF: http://purl.bioontology.org/ontology/{ACRONYM}/{ID}
      • OBO: http://purl.obolibrary.org/{IDSPACE}_{LOCALID}
  • Sample Output:
<?xml version="1.0"?>
<rdf:RDF xmlns="http://purl.bioontology.org/ontology/NEMO#"
     xml:base="http://purl.bioontology.org/ontology/NEMO"
     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
     xmlns:BPMetadata="http://purl.bioontology.org/ontology/BPMetadata#"
     xmlns:owl="http://www.w3.org/2002/07/owl#"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:NEMO="http://purl.bioontology.org/NEMO/ontology/NEMO.owl#"
     xmlns:ontology="http://omv.ontoware.org/2005/05/ontology/"
     xmlns:skos="http://www.w3.org/2004/02/skos/core#"
     xmlns:ontology2="http://purl.bioontology.org/NEMO/ontology#">
    <owl:Ontology rdf:about="http://purl.bioontology.org/ontology/NEMO">
        <ontology:name>Neural ElectroMagnetic Ontologies</ontology:name>
        <ontology:acronym>NEMO</ontology:acronym>
        <ontology:description>Neural ElectroMagnetic Ontologies (NEMO) describe classes of event-related brain potentials (ERP) and their properties, including spatial, temporal, functional (cognitive/behavioral) attributes, and data-level attributes (acquisition and analysis parameters).</ontology:description>
        <BPMetadata:id>45141</BPMetadata:id>
        <ontology:hasOntologyLanguage rdf:resource="http://omv.ontoware.org/2005/05/ontology#owl"/>
    </owl:Ontology>
    


    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Annotation properties
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->

    <owl:AnnotationProperty rdf:about="http://omv.ontoware.org/2005/05/ontology/name"/>
    <owl:AnnotationProperty rdf:about="http://purl.bioontology.org/NEMO/ontology#NEMO_synonym">
        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2004/02/skos/core#altLabel"/>
    </owl:AnnotationProperty>
    <owl:AnnotationProperty rdf:about="http://www.w3.org/2004/02/skos/core#prefLabel">
        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#label"/>
    </owl:AnnotationProperty>
    <owl:AnnotationProperty rdf:about="http://purl.bioontology.org/NEMO/ontology#NEMO_definition">
        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2004/02/skos/core#definition"/>
    </owl:AnnotationProperty>
    <owl:AnnotationProperty rdf:about="http://www.w3.org/2000/01/rdf-schema#label"/>
    <owl:AnnotationProperty rdf:about="http://purl.bioontology.org/ontology/BPMetadata#id"/>
    <owl:AnnotationProperty rdf:about="http://www.w3.org/2004/02/skos/core#broader"/>
    <owl:AnnotationProperty rdf:about="http://www.w3.org/2000/01/rdf-schema#subClassOf"/>
    <owl:AnnotationProperty rdf:about="http://purl.bioontology.org/NEMO/ontology#NEMO_pref_label">
        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2004/02/skos/core#prefLabel"/>
    </owl:AnnotationProperty>
    <owl:AnnotationProperty rdf:about="http://omv.ontoware.org/2005/05/ontology/acronym"/>
    <owl:AnnotationProperty rdf:about="http://www.w3.org/2004/02/skos/core#notation"/>
    <owl:AnnotationProperty rdf:about="http://omv.ontoware.org/2005/05/ontology/description"/>
    <owl:AnnotationProperty rdf:about="http://www.w3.org/2004/02/skos/core#definition"/>
    <owl:AnnotationProperty rdf:about="http://omv.ontoware.org/2005/05/ontology/hasOntologyLanguage"/>
    <owl:AnnotationProperty rdf:about="http://www.w3.org/2000/01/rdf-schema#subPropertyOf"/>
    <owl:AnnotationProperty rdf:about="http://www.w3.org/2004/02/skos/core#altLabel"/>
    


    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Classes
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->

    


    <!-- http://purl.bioontology.org/NEMO/ontology/NEMO.owl#NEMO_0000010 -->

    <owl:Class rdf:about="http://purl.bioontology.org/NEMO/ontology/NEMO.owl#NEMO_0000010"/>
    


    <!-- http://purl.bioontology.org/NEMO/ontology/NEMO.owl#NEMO_0000024 -->

    <owl:Class rdf:about="http://purl.bioontology.org/NEMO/ontology/NEMO.owl#NEMO_0000024">
        <rdfs:label>left_posterotemporal_scalp_surface_region</rdfs:label>
        <rdfs:subClassOf rdf:resource="http://purl.bioontology.org/NEMO/ontology/NEMO.owl#NEMO_0000010"/>
        <skos:prefLabel>left_posterotemporal_scalp_surface_region</skos:prefLabel>
        <skos:notation>NEMO_0000024</skos:notation>
        <ontology2:NEMO_pref_label>left_posterotemporal_scalp_surface_region</ontology2:NEMO_pref_label>
        <skos:broader rdf:resource="http://purl.bioontology.org/NEMO/ontology/NEMO.owl#NEMO_0000010"/>
    </owl:Class>
</rdf:RDF>



<!-- Generated by the OWL API (version 3.0.0.1451) http://owlapi.sourceforge.net -->


RDF Download Service

NOTE: If using the Web service calls from Firefox, disable the Tabulator Add-on in order to download the files.

Notes Service

Mapping Service


XML Schema Definitions for the REST services

XML Schema for Term and Hierarchy services have been provided courtesy Eamonn Maguire. An updated XML Schema document will be posted shortly.