<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.bioontology.org//mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Manuel+Salvadores</id>
	<title>NCBO Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.bioontology.org//mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Manuel+Salvadores"/>
	<link rel="alternate" type="text/html" href="https://www.bioontology.org//wiki/Special:Contributions/Manuel_Salvadores"/>
	<updated>2026-06-05T14:35:57Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.9</generator>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12570</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12570"/>
		<updated>2013-01-25T20:00:55Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Federated SPARQL queries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NCBO is releasing a free and open SPARQL endpoint to query ontologies hosted in the BioPortal ontology repository. This SPARQL service, that is in BETA status, is stable for testing by our community of users. If you encounter any errors or unexpected behavior please report it to us [mailto:support@bioontology.org support@bioontology.org]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://sparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://sparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Each ontology is asserted into a single graph. The graph is named with an acronym based URI. For example, the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/HP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the Human Phenotype Ontology ontology. And the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/SNOMEDCT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the SNOMEDCT ontology.&lt;br /&gt;
&lt;br /&gt;
The following query would return all version IDs with the graph IDs where ontologies are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX meta: &amp;lt;http://bioportal.bioontology.org/metadata/def/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
SELECT DISTINCT ?version ?graph&lt;br /&gt;
WHERE { &lt;br /&gt;
    ?version meta:hasDataGraph ?graph&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
There are problematic cases of label definition. In order to provide a consistent mechanism to query by label across different ontologies we generate labels for the following cases. These label are attached to terms using the predicate '''http://bioportal.bioontology.org/metadata/def/prefLabel''' (bp:prefLabel)&lt;br /&gt;
&lt;br /&gt;
* '''Missing labels''': for every owl:Class that is missing a label we generate a label based on the latest fragment of URI. &lt;br /&gt;
&lt;br /&gt;
* '''Terms that use rdfs:label as preferred name''': BioPortal uses skos:prefLabel and skos:altLabel for preferred names and synonyms respectively. Both skos:prefLabel and skos:altLabel are subproperties of rdfs:label in the SKOS ontology. If someone uses rdfs:label to record preferred names, in the SKOS context, he would be saying that that name can be a preferred name or a synonym. To avoid this confusion we  generate bp:prefLabel(s) for every rdfs:label used as preferred name.&lt;br /&gt;
&lt;br /&gt;
=== Preferred Label, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
When ontologies are submitted to BioPortal the user can select which predicates that ontology uses for:&lt;br /&gt;
&lt;br /&gt;
* Preferred Names.&lt;br /&gt;
* Synonyms or alternative names.&lt;br /&gt;
* Author.&lt;br /&gt;
* Description.&lt;br /&gt;
&lt;br /&gt;
The BioPortal SPARQL endpoint supports rdfs:subPropertyOf reasoning to enable cross querying across all these configurable predicates. In the triple store, the following URI:&lt;br /&gt;
&lt;br /&gt;
 http://bioportal.bioontology.org/ontologies/globals&lt;br /&gt;
&lt;br /&gt;
is used as identifier for the named graph that contains all the sub-property of statements that have been configured by users when uploading their ontologies. The root properties to be used   to trigger the reasoning are the following:&lt;br /&gt;
&lt;br /&gt;
* '''skos:prefLabel''' for Preferred name.&lt;br /&gt;
* '''skos:altLabel''' for Synonyms or alternative names.&lt;br /&gt;
* '''dc:author''' for Author.&lt;br /&gt;
* '''skos:definition''' for Description.&lt;br /&gt;
&lt;br /&gt;
When using named graphs if you want to use this reasoning then you should include the globals graph that contains the subproperty statements, i.e:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX owl:  &amp;lt;http://www.w3.org/2002/07/owl#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?termURI ?prefLabel&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/EHDA&amp;gt;&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/globals&amp;gt; &lt;br /&gt;
WHERE {&lt;br /&gt;
      ?termURI a owl:Class;&lt;br /&gt;
      skos:prefLabel ?prefLabel .&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise the subproperty statements that take part in the query processor will not be taken into account.&lt;br /&gt;
&lt;br /&gt;
=== Mappings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Notice that as of January 30th (2013) we are hosting the mappings in a separate endpoint. This eases our regular mapping updates. Programmatic queries that target mapping data need to use the following endpoint: http://sparql.bioontology.org/mappings/sparql&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The mapping data in the triple store is stored in the following graphs:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Graph Name!! Description&lt;br /&gt;
|-&lt;br /&gt;
|  http://purl.bioontology.org/mapping/loom || Loom: lexical mappings.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/rest || REST: User submitted by users via the REST API.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/umls_cui || UMLS-CUI: CUI based mappings&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/cuinonumls || NOUMLS-CUI: Terms with same CUIs but for ontologies that are not part of UMLS.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/obo_xref || OBO-XREF: Mappings for terms with same xref attribute.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/uri_match || URI-MATCH: Mappings that for terms that in different ontologies are represented by the same URI.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following query returns the list of the graphs where mappings are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?g WHERE { &lt;br /&gt;
GRAPH ?g { &lt;br /&gt;
?s a &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#One_To_One_Mapping&amp;gt; . }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following RDF/Turtle sample shows an example of a mapping instance:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@prefix maps: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;http://purl.bioontology.org/mapping/2767e8e0-001b-012e-749f-005056bd0010&amp;gt;&lt;br /&gt;
    maps:has_process_info &amp;lt;.../procinfo/2008-04-23-38138&amp;gt; ;&lt;br /&gt;
    maps:comment &amp;quot;Manual mappings between Mouse anatomy and NCIT.&amp;quot; ;&lt;br /&gt;
    maps:relation skos:closeMatch ;&lt;br /&gt;
    maps:target &amp;lt;http://purl.org/obo/owl/MA#MA_0001096&amp;gt; ;&lt;br /&gt;
    maps:source &amp;lt;http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#Olfactory_Nerve&amp;gt; ;&lt;br /&gt;
    maps:source_ontology_id &amp;lt;http://bioportal.bioontology.org/ontologies/1032&amp;gt; ;&lt;br /&gt;
    maps:target_ontology_id &amp;lt;http://bioportal.bioontology.org/ontologies/1000&amp;gt; ;&lt;br /&gt;
    a maps:One_To_One_Mapping .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The predicates we use to represent a mapping record both the target and source terms and target and source ontologies. A SPARQL query to return all the target terms for a giving source term would look like the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX map: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?target WHERE {&lt;br /&gt;
  ?s map:source &amp;lt;http://purl.obolibrary.org/obo/DOID_8545&amp;gt;;&lt;br /&gt;
     map:target ?target .&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If one wants to count at all the mappings for two given ontologies then the SPARQL would use the ''target_ontology'' and ''source_ontology'' predicates:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX map: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt;&lt;br /&gt;
SELECT (count(?m) as ?c) WHERE {&lt;br /&gt;
  ?m map:source_ontology &amp;lt;http://bioportal.bioontology.org/ontologies/1032&amp;gt; ;&lt;br /&gt;
      map:target_ontology  &amp;lt;http://bioportal.bioontology.org/ontologies/1000&amp;gt; .&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case this query returns a count of 4393 solutions. &lt;br /&gt;
It is important to notice that for mappings we use version based ontology URIs and not the ones that are based on acronyms.&lt;br /&gt;
&lt;br /&gt;
=== Federated SPARQL queries ===&lt;br /&gt;
&lt;br /&gt;
SPARQL Federation can be used with the Jena ARQ library. The Jena ARQ library handles the SERVICE SPARQL construct and directs sets of triple patterns to different endpoint and handles the joins. &lt;br /&gt;
&lt;br /&gt;
BioPortal offers two different SPARQL endpoints one for ontologies (metadata and terms) and a second one for mappings. There are use cases that require queries with joins from both endpoints. This can be achieved by using SPARQL federation and the SERVICE feature (SPARQL 1.1). The following example looks at the CSP term 'Neck' and retrieves the sources for all the mappings for that term (from the mapping endpoint). For each of those sources then gets the parents (from the ontologies endpoint). Notice the change in the SERVICE endpoints from 'mappings' in the first block to 'ontologies' in the second one.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX map: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt;&lt;br /&gt;
PREFIX rdfs: &amp;lt;http://www.w3.org/2000/01/rdf-schema#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?mappedParent WHERE {&lt;br /&gt;
    SERVICE &amp;lt;http://sparql.bioontology.org/mappings/sparql/?apikey=YOUR API KEY HERE&amp;gt; {&lt;br /&gt;
        ?mapping map:target &amp;lt;http://purl.bioontology.org/ontology/CSP/0468-5952&amp;gt; .&lt;br /&gt;
        ?mapping map:source ?source .&lt;br /&gt;
    }&lt;br /&gt;
    SERVICE &amp;lt;http://sparql.bioontology.org/ontologies/sparql/?apikey=YOUR API KEY HERE&amp;gt; {&lt;br /&gt;
        ?source rdfs:subClassOf ?mappedParent .&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Full example: https://github.com/ncbo/sparql-code-examples/blob/master/java/src/org/ncbo/stanford/sparql/examples/JenaARQFederationExample.java&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt; SPARQL Federation can be used programmatically only. Our web front-end at http://sparql.bioontology.org/ does not support mediation for the SERVICE clause. Our tests for SPARQL federation use Jena ARQ 2.9.4, this version is able to correctly submit the BioPortal API keys.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Partial or Incomplete Results ===&lt;br /&gt;
&lt;br /&gt;
sparql.bioontology.org uses 4store's soft-limit internal mechanism to limit resources for expensive queries. Our setup is configured to bind 8K elements per triple pattern. If you hit these limits a warning message will be appended to the query response. This message says something like: &amp;quot;hit complexity limit 8 times&amp;quot;. If you see this warning it means that the results are incomplete, and probably there is a more efficient way to write that query. &lt;br /&gt;
&lt;br /&gt;
Contact our support mail list if you need help to rewrite your query in a more efficient way and avoid incomplete results.&lt;br /&gt;
&lt;br /&gt;
=== Slides ===&lt;br /&gt;
* '''''BioPortal SPARQL presentation at ISWC 2012''''' http://www.slideshare.net/manuelso/using-sparql-to-query-bioportal-ontologies-and-metadata&lt;br /&gt;
* '''''BioPortal SPARQL tutorial from SWAT4LS 2011''''' http://www.bioontology.org/wiki/index.php/File:Whetzel_SPARQL.pdf&lt;br /&gt;
* '''''NCBO Hackathon slides for the SPARQL tutorial''''' http://www.stanford.edu/~manuelso/ncbohack/index.html&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12569</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12569"/>
		<updated>2013-01-25T18:32:23Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Federated SPARQL queries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NCBO is releasing a free and open SPARQL endpoint to query ontologies hosted in the BioPortal ontology repository. This SPARQL service, that is in BETA status, is stable for testing by our community of users. If you encounter any errors or unexpected behavior please report it to us [mailto:support@bioontology.org support@bioontology.org]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://sparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://sparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Each ontology is asserted into a single graph. The graph is named with an acronym based URI. For example, the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/HP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the Human Phenotype Ontology ontology. And the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/SNOMEDCT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the SNOMEDCT ontology.&lt;br /&gt;
&lt;br /&gt;
The following query would return all version IDs with the graph IDs where ontologies are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX meta: &amp;lt;http://bioportal.bioontology.org/metadata/def/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
SELECT DISTINCT ?version ?graph&lt;br /&gt;
WHERE { &lt;br /&gt;
    ?version meta:hasDataGraph ?graph&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
There are problematic cases of label definition. In order to provide a consistent mechanism to query by label across different ontologies we generate labels for the following cases. These label are attached to terms using the predicate '''http://bioportal.bioontology.org/metadata/def/prefLabel''' (bp:prefLabel)&lt;br /&gt;
&lt;br /&gt;
* '''Missing labels''': for every owl:Class that is missing a label we generate a label based on the latest fragment of URI. &lt;br /&gt;
&lt;br /&gt;
* '''Terms that use rdfs:label as preferred name''': BioPortal uses skos:prefLabel and skos:altLabel for preferred names and synonyms respectively. Both skos:prefLabel and skos:altLabel are subproperties of rdfs:label in the SKOS ontology. If someone uses rdfs:label to record preferred names, in the SKOS context, he would be saying that that name can be a preferred name or a synonym. To avoid this confusion we  generate bp:prefLabel(s) for every rdfs:label used as preferred name.&lt;br /&gt;
&lt;br /&gt;
=== Preferred Label, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
When ontologies are submitted to BioPortal the user can select which predicates that ontology uses for:&lt;br /&gt;
&lt;br /&gt;
* Preferred Names.&lt;br /&gt;
* Synonyms or alternative names.&lt;br /&gt;
* Author.&lt;br /&gt;
* Description.&lt;br /&gt;
&lt;br /&gt;
The BioPortal SPARQL endpoint supports rdfs:subPropertyOf reasoning to enable cross querying across all these configurable predicates. In the triple store, the following URI:&lt;br /&gt;
&lt;br /&gt;
 http://bioportal.bioontology.org/ontologies/globals&lt;br /&gt;
&lt;br /&gt;
is used as identifier for the named graph that contains all the sub-property of statements that have been configured by users when uploading their ontologies. The root properties to be used   to trigger the reasoning are the following:&lt;br /&gt;
&lt;br /&gt;
* '''skos:prefLabel''' for Preferred name.&lt;br /&gt;
* '''skos:altLabel''' for Synonyms or alternative names.&lt;br /&gt;
* '''dc:author''' for Author.&lt;br /&gt;
* '''skos:definition''' for Description.&lt;br /&gt;
&lt;br /&gt;
When using named graphs if you want to use this reasoning then you should include the globals graph that contains the subproperty statements, i.e:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX owl:  &amp;lt;http://www.w3.org/2002/07/owl#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?termURI ?prefLabel&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/EHDA&amp;gt;&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/globals&amp;gt; &lt;br /&gt;
WHERE {&lt;br /&gt;
      ?termURI a owl:Class;&lt;br /&gt;
      skos:prefLabel ?prefLabel .&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise the subproperty statements that take part in the query processor will not be taken into account.&lt;br /&gt;
&lt;br /&gt;
=== Mappings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Notice that as of January 30th (2013) we are hosting the mappings in a separate endpoint. This eases our regular mapping updates. Programmatic queries that target mapping data need to use the following endpoint: http://sparql.bioontology.org/mappings/sparql&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The mapping data in the triple store is stored in the following graphs:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Graph Name!! Description&lt;br /&gt;
|-&lt;br /&gt;
|  http://purl.bioontology.org/mapping/loom || Loom: lexical mappings.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/rest || REST: User submitted by users via the REST API.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/umls_cui || UMLS-CUI: CUI based mappings&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/cuinonumls || NOUMLS-CUI: Terms with same CUIs but for ontologies that are not part of UMLS.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/obo_xref || OBO-XREF: Mappings for terms with same xref attribute.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/uri_match || URI-MATCH: Mappings that for terms that in different ontologies are represented by the same URI.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following query returns the list of the graphs where mappings are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?g WHERE { &lt;br /&gt;
GRAPH ?g { &lt;br /&gt;
?s a &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#One_To_One_Mapping&amp;gt; . }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following RDF/Turtle sample shows an example of a mapping instance:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@prefix maps: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;http://purl.bioontology.org/mapping/2767e8e0-001b-012e-749f-005056bd0010&amp;gt;&lt;br /&gt;
    maps:has_process_info &amp;lt;.../procinfo/2008-04-23-38138&amp;gt; ;&lt;br /&gt;
    maps:comment &amp;quot;Manual mappings between Mouse anatomy and NCIT.&amp;quot; ;&lt;br /&gt;
    maps:relation skos:closeMatch ;&lt;br /&gt;
    maps:target &amp;lt;http://purl.org/obo/owl/MA#MA_0001096&amp;gt; ;&lt;br /&gt;
    maps:source &amp;lt;http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#Olfactory_Nerve&amp;gt; ;&lt;br /&gt;
    maps:source_ontology_id &amp;lt;http://bioportal.bioontology.org/ontologies/1032&amp;gt; ;&lt;br /&gt;
    maps:target_ontology_id &amp;lt;http://bioportal.bioontology.org/ontologies/1000&amp;gt; ;&lt;br /&gt;
    a maps:One_To_One_Mapping .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The predicates we use to represent a mapping record both the target and source terms and target and source ontologies. A SPARQL query to return all the target terms for a giving source term would look like the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX map: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?target WHERE {&lt;br /&gt;
  ?s map:source &amp;lt;http://purl.obolibrary.org/obo/DOID_8545&amp;gt;;&lt;br /&gt;
     map:target ?target .&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If one wants to count at all the mappings for two given ontologies then the SPARQL would use the ''target_ontology'' and ''source_ontology'' predicates:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX map: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt;&lt;br /&gt;
SELECT (count(?m) as ?c) WHERE {&lt;br /&gt;
  ?m map:source_ontology &amp;lt;http://bioportal.bioontology.org/ontologies/1032&amp;gt; ;&lt;br /&gt;
      map:target_ontology  &amp;lt;http://bioportal.bioontology.org/ontologies/1000&amp;gt; .&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case this query returns a count of 4393 solutions. &lt;br /&gt;
It is important to notice that for mappings we use version based ontology URIs and not the ones that are based on acronyms.&lt;br /&gt;
&lt;br /&gt;
=== Federated SPARQL queries ===&lt;br /&gt;
&lt;br /&gt;
SPARQL Federation can be used with the Jena ARQ library. The Jena ARQ library handles the SERVICE SPARQL construct and directs sets of triple patterns to different endpoint and handles the joins. &lt;br /&gt;
&lt;br /&gt;
BioPortal offers two different SPARQL endpoints one for ontologies (metadata and terms) and a second one for mappings. There are use cases that require SPARQL queries containing joins from both endpoints. This can be achieved by using SPARQL federation and the SERVICE construct. The following example looks at the CSP term 'Neck' and retrieves the sources for all the mappings for that term (from the mapping endpoint). For each of those targets then gets the parents (from the ontologies endpoints). Notice the change in the SERVICE endpoint from 'mappings' in the first block to 'ontologies' in the second one.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX map: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt;&lt;br /&gt;
PREFIX rdfs: &amp;lt;http://www.w3.org/2000/01/rdf-schema#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?mappedParent WHERE {&lt;br /&gt;
    SERVICE &amp;lt;http://sparql.bioontology.org/mappings/sparql/?apikey=YOUR API KEY HERE&amp;gt; {&lt;br /&gt;
        ?mapping map:target &amp;lt;http://purl.bioontology.org/ontology/CSP/0468-5952&amp;gt; .&lt;br /&gt;
        ?mapping map:source ?source .&lt;br /&gt;
    }&lt;br /&gt;
    SERVICE &amp;lt;http://sparql.bioontology.org/ontologies/sparql/?apikey=YOUR API KEY HERE&amp;gt; {&lt;br /&gt;
        ?source rdfs:subClassOf ?mappedParent .&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Full example: https://github.com/ncbo/sparql-code-examples/blob/master/java/src/org/ncbo/stanford/sparql/examples/JenaARQFederationExample.java&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt; SPARQL Federation can be used programmatically only. Our web front-end at http://sparql.bioontology.org/ does not support mediation for the SERVICE clause. Our tests for SPARQL federation use Jena ARQ 2.9.4, this version is able to correctly submit the BioPortal API keys.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Partial or Incomplete Results ===&lt;br /&gt;
&lt;br /&gt;
sparql.bioontology.org uses 4store's soft-limit internal mechanism to limit resources for expensive queries. Our setup is configured to bind 8K elements per triple pattern. If you hit these limits a warning message will be appended to the query response. This message says something like: &amp;quot;hit complexity limit 8 times&amp;quot;. If you see this warning it means that the results are incomplete, and probably there is a more efficient way to write that query. &lt;br /&gt;
&lt;br /&gt;
Contact our support mail list if you need help to rewrite your query in a more efficient way and avoid incomplete results.&lt;br /&gt;
&lt;br /&gt;
=== Slides ===&lt;br /&gt;
* '''''BioPortal SPARQL presentation at ISWC 2012''''' http://www.slideshare.net/manuelso/using-sparql-to-query-bioportal-ontologies-and-metadata&lt;br /&gt;
* '''''BioPortal SPARQL tutorial from SWAT4LS 2011''''' http://www.bioontology.org/wiki/index.php/File:Whetzel_SPARQL.pdf&lt;br /&gt;
* '''''NCBO Hackathon slides for the SPARQL tutorial''''' http://www.stanford.edu/~manuelso/ncbohack/index.html&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12568</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12568"/>
		<updated>2013-01-25T18:29:49Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Federated SPARQL queries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NCBO is releasing a free and open SPARQL endpoint to query ontologies hosted in the BioPortal ontology repository. This SPARQL service, that is in BETA status, is stable for testing by our community of users. If you encounter any errors or unexpected behavior please report it to us [mailto:support@bioontology.org support@bioontology.org]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://sparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://sparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Each ontology is asserted into a single graph. The graph is named with an acronym based URI. For example, the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/HP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the Human Phenotype Ontology ontology. And the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/SNOMEDCT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the SNOMEDCT ontology.&lt;br /&gt;
&lt;br /&gt;
The following query would return all version IDs with the graph IDs where ontologies are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX meta: &amp;lt;http://bioportal.bioontology.org/metadata/def/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
SELECT DISTINCT ?version ?graph&lt;br /&gt;
WHERE { &lt;br /&gt;
    ?version meta:hasDataGraph ?graph&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
There are problematic cases of label definition. In order to provide a consistent mechanism to query by label across different ontologies we generate labels for the following cases. These label are attached to terms using the predicate '''http://bioportal.bioontology.org/metadata/def/prefLabel''' (bp:prefLabel)&lt;br /&gt;
&lt;br /&gt;
* '''Missing labels''': for every owl:Class that is missing a label we generate a label based on the latest fragment of URI. &lt;br /&gt;
&lt;br /&gt;
* '''Terms that use rdfs:label as preferred name''': BioPortal uses skos:prefLabel and skos:altLabel for preferred names and synonyms respectively. Both skos:prefLabel and skos:altLabel are subproperties of rdfs:label in the SKOS ontology. If someone uses rdfs:label to record preferred names, in the SKOS context, he would be saying that that name can be a preferred name or a synonym. To avoid this confusion we  generate bp:prefLabel(s) for every rdfs:label used as preferred name.&lt;br /&gt;
&lt;br /&gt;
=== Preferred Label, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
When ontologies are submitted to BioPortal the user can select which predicates that ontology uses for:&lt;br /&gt;
&lt;br /&gt;
* Preferred Names.&lt;br /&gt;
* Synonyms or alternative names.&lt;br /&gt;
* Author.&lt;br /&gt;
* Description.&lt;br /&gt;
&lt;br /&gt;
The BioPortal SPARQL endpoint supports rdfs:subPropertyOf reasoning to enable cross querying across all these configurable predicates. In the triple store, the following URI:&lt;br /&gt;
&lt;br /&gt;
 http://bioportal.bioontology.org/ontologies/globals&lt;br /&gt;
&lt;br /&gt;
is used as identifier for the named graph that contains all the sub-property of statements that have been configured by users when uploading their ontologies. The root properties to be used   to trigger the reasoning are the following:&lt;br /&gt;
&lt;br /&gt;
* '''skos:prefLabel''' for Preferred name.&lt;br /&gt;
* '''skos:altLabel''' for Synonyms or alternative names.&lt;br /&gt;
* '''dc:author''' for Author.&lt;br /&gt;
* '''skos:definition''' for Description.&lt;br /&gt;
&lt;br /&gt;
When using named graphs if you want to use this reasoning then you should include the globals graph that contains the subproperty statements, i.e:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX owl:  &amp;lt;http://www.w3.org/2002/07/owl#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?termURI ?prefLabel&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/EHDA&amp;gt;&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/globals&amp;gt; &lt;br /&gt;
WHERE {&lt;br /&gt;
      ?termURI a owl:Class;&lt;br /&gt;
      skos:prefLabel ?prefLabel .&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise the subproperty statements that take part in the query processor will not be taken into account.&lt;br /&gt;
&lt;br /&gt;
=== Mappings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Notice that as of January 30th (2013) we are hosting the mappings in a separate endpoint. This eases our regular mapping updates. Programmatic queries that target mapping data need to use the following endpoint: http://sparql.bioontology.org/mappings/sparql&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The mapping data in the triple store is stored in the following graphs:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Graph Name!! Description&lt;br /&gt;
|-&lt;br /&gt;
|  http://purl.bioontology.org/mapping/loom || Loom: lexical mappings.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/rest || REST: User submitted by users via the REST API.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/umls_cui || UMLS-CUI: CUI based mappings&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/cuinonumls || NOUMLS-CUI: Terms with same CUIs but for ontologies that are not part of UMLS.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/obo_xref || OBO-XREF: Mappings for terms with same xref attribute.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/uri_match || URI-MATCH: Mappings that for terms that in different ontologies are represented by the same URI.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following query returns the list of the graphs where mappings are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?g WHERE { &lt;br /&gt;
GRAPH ?g { &lt;br /&gt;
?s a &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#One_To_One_Mapping&amp;gt; . }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following RDF/Turtle sample shows an example of a mapping instance:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@prefix maps: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;http://purl.bioontology.org/mapping/2767e8e0-001b-012e-749f-005056bd0010&amp;gt;&lt;br /&gt;
    maps:has_process_info &amp;lt;.../procinfo/2008-04-23-38138&amp;gt; ;&lt;br /&gt;
    maps:comment &amp;quot;Manual mappings between Mouse anatomy and NCIT.&amp;quot; ;&lt;br /&gt;
    maps:relation skos:closeMatch ;&lt;br /&gt;
    maps:target &amp;lt;http://purl.org/obo/owl/MA#MA_0001096&amp;gt; ;&lt;br /&gt;
    maps:source &amp;lt;http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#Olfactory_Nerve&amp;gt; ;&lt;br /&gt;
    maps:source_ontology_id &amp;lt;http://bioportal.bioontology.org/ontologies/1032&amp;gt; ;&lt;br /&gt;
    maps:target_ontology_id &amp;lt;http://bioportal.bioontology.org/ontologies/1000&amp;gt; ;&lt;br /&gt;
    a maps:One_To_One_Mapping .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The predicates we use to represent a mapping record both the target and source terms and target and source ontologies. A SPARQL query to return all the target terms for a giving source term would look like the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX map: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?target WHERE {&lt;br /&gt;
  ?s map:source &amp;lt;http://purl.obolibrary.org/obo/DOID_8545&amp;gt;;&lt;br /&gt;
     map:target ?target .&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If one wants to count at all the mappings for two given ontologies then the SPARQL would use the ''target_ontology'' and ''source_ontology'' predicates:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX map: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt;&lt;br /&gt;
SELECT (count(?m) as ?c) WHERE {&lt;br /&gt;
  ?m map:source_ontology &amp;lt;http://bioportal.bioontology.org/ontologies/1032&amp;gt; ;&lt;br /&gt;
      map:target_ontology  &amp;lt;http://bioportal.bioontology.org/ontologies/1000&amp;gt; .&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case this query returns a count of 4393 solutions. &lt;br /&gt;
It is important to notice that for mappings we use version based ontology URIs and not the ones that are based on acronyms.&lt;br /&gt;
&lt;br /&gt;
=== Federated SPARQL queries ===&lt;br /&gt;
&lt;br /&gt;
SPARQL Federation can be used with the Jena ARQ library. The Jena ARQ library handles the SERVICE SPARQL construct and directs sets of triple patterns to different endpoint and handles the joins. &lt;br /&gt;
&lt;br /&gt;
BioPortal offers two different SPARQL endpoints one for ontologies (metadata and terms) and a second one for mappings. There are use cases that require SPARQL queries containing joins from both endpoints. This can be achieved by using SPARQL federation and the SERVICE construct. The following example looks at the CSP term 'Neck' and retrieves the sources for all the mappings for that term (from the mapping endpoint). For each of those targets then gets the parents (from the ontologies endpoints). Notice the change in the SERVICE endpoint from 'mappings' in the first block to 'ontologies' in the second one.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX map: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt;&lt;br /&gt;
PREFIX rdfs: &amp;lt;http://www.w3.org/2000/01/rdf-schema#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?mappedParent WHERE {&lt;br /&gt;
    SERVICE &amp;lt;http://sparql.bioontology.org/mappings/sparql/?apikey=YOUR API KEY HERE&amp;gt; {&lt;br /&gt;
        ?mapping map:target &amp;lt;http://purl.bioontology.org/ontology/CSP/0468-5952&amp;gt; .&lt;br /&gt;
        ?mapping map:source ?source .&lt;br /&gt;
    }&lt;br /&gt;
    SERVICE &amp;lt;http://sparql.bioontology.org/ontologies/sparql/?apikey=YOUR API KEY HERE&amp;gt; {&lt;br /&gt;
        ?source rdfs:subClassOf ?mappedParent .&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt; SPARQL Federation can be used programmatically only. Our web front-end at http://sparql.bioontology.org/ does not support mediation for the SERVICE clause. Our tests for SPARQL federation use Jena ARQ 2.9.4, this version is able to correctly submit the BioPortal API keys.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Partial or Incomplete Results ===&lt;br /&gt;
&lt;br /&gt;
sparql.bioontology.org uses 4store's soft-limit internal mechanism to limit resources for expensive queries. Our setup is configured to bind 8K elements per triple pattern. If you hit these limits a warning message will be appended to the query response. This message says something like: &amp;quot;hit complexity limit 8 times&amp;quot;. If you see this warning it means that the results are incomplete, and probably there is a more efficient way to write that query. &lt;br /&gt;
&lt;br /&gt;
Contact our support mail list if you need help to rewrite your query in a more efficient way and avoid incomplete results.&lt;br /&gt;
&lt;br /&gt;
=== Slides ===&lt;br /&gt;
* '''''BioPortal SPARQL presentation at ISWC 2012''''' http://www.slideshare.net/manuelso/using-sparql-to-query-bioportal-ontologies-and-metadata&lt;br /&gt;
* '''''BioPortal SPARQL tutorial from SWAT4LS 2011''''' http://www.bioontology.org/wiki/index.php/File:Whetzel_SPARQL.pdf&lt;br /&gt;
* '''''NCBO Hackathon slides for the SPARQL tutorial''''' http://www.stanford.edu/~manuelso/ncbohack/index.html&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12567</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12567"/>
		<updated>2013-01-25T18:21:42Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Federated SPARQL queries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NCBO is releasing a free and open SPARQL endpoint to query ontologies hosted in the BioPortal ontology repository. This SPARQL service, that is in BETA status, is stable for testing by our community of users. If you encounter any errors or unexpected behavior please report it to us [mailto:support@bioontology.org support@bioontology.org]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://sparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://sparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Each ontology is asserted into a single graph. The graph is named with an acronym based URI. For example, the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/HP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the Human Phenotype Ontology ontology. And the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/SNOMEDCT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the SNOMEDCT ontology.&lt;br /&gt;
&lt;br /&gt;
The following query would return all version IDs with the graph IDs where ontologies are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX meta: &amp;lt;http://bioportal.bioontology.org/metadata/def/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
SELECT DISTINCT ?version ?graph&lt;br /&gt;
WHERE { &lt;br /&gt;
    ?version meta:hasDataGraph ?graph&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
There are problematic cases of label definition. In order to provide a consistent mechanism to query by label across different ontologies we generate labels for the following cases. These label are attached to terms using the predicate '''http://bioportal.bioontology.org/metadata/def/prefLabel''' (bp:prefLabel)&lt;br /&gt;
&lt;br /&gt;
* '''Missing labels''': for every owl:Class that is missing a label we generate a label based on the latest fragment of URI. &lt;br /&gt;
&lt;br /&gt;
* '''Terms that use rdfs:label as preferred name''': BioPortal uses skos:prefLabel and skos:altLabel for preferred names and synonyms respectively. Both skos:prefLabel and skos:altLabel are subproperties of rdfs:label in the SKOS ontology. If someone uses rdfs:label to record preferred names, in the SKOS context, he would be saying that that name can be a preferred name or a synonym. To avoid this confusion we  generate bp:prefLabel(s) for every rdfs:label used as preferred name.&lt;br /&gt;
&lt;br /&gt;
=== Preferred Label, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
When ontologies are submitted to BioPortal the user can select which predicates that ontology uses for:&lt;br /&gt;
&lt;br /&gt;
* Preferred Names.&lt;br /&gt;
* Synonyms or alternative names.&lt;br /&gt;
* Author.&lt;br /&gt;
* Description.&lt;br /&gt;
&lt;br /&gt;
The BioPortal SPARQL endpoint supports rdfs:subPropertyOf reasoning to enable cross querying across all these configurable predicates. In the triple store, the following URI:&lt;br /&gt;
&lt;br /&gt;
 http://bioportal.bioontology.org/ontologies/globals&lt;br /&gt;
&lt;br /&gt;
is used as identifier for the named graph that contains all the sub-property of statements that have been configured by users when uploading their ontologies. The root properties to be used   to trigger the reasoning are the following:&lt;br /&gt;
&lt;br /&gt;
* '''skos:prefLabel''' for Preferred name.&lt;br /&gt;
* '''skos:altLabel''' for Synonyms or alternative names.&lt;br /&gt;
* '''dc:author''' for Author.&lt;br /&gt;
* '''skos:definition''' for Description.&lt;br /&gt;
&lt;br /&gt;
When using named graphs if you want to use this reasoning then you should include the globals graph that contains the subproperty statements, i.e:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX owl:  &amp;lt;http://www.w3.org/2002/07/owl#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?termURI ?prefLabel&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/EHDA&amp;gt;&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/globals&amp;gt; &lt;br /&gt;
WHERE {&lt;br /&gt;
      ?termURI a owl:Class;&lt;br /&gt;
      skos:prefLabel ?prefLabel .&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise the subproperty statements that take part in the query processor will not be taken into account.&lt;br /&gt;
&lt;br /&gt;
=== Mappings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Notice that as of January 30th (2013) we are hosting the mappings in a separate endpoint. This eases our regular mapping updates. Programmatic queries that target mapping data need to use the following endpoint: http://sparql.bioontology.org/mappings/sparql&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The mapping data in the triple store is stored in the following graphs:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Graph Name!! Description&lt;br /&gt;
|-&lt;br /&gt;
|  http://purl.bioontology.org/mapping/loom || Loom: lexical mappings.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/rest || REST: User submitted by users via the REST API.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/umls_cui || UMLS-CUI: CUI based mappings&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/cuinonumls || NOUMLS-CUI: Terms with same CUIs but for ontologies that are not part of UMLS.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/obo_xref || OBO-XREF: Mappings for terms with same xref attribute.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/uri_match || URI-MATCH: Mappings that for terms that in different ontologies are represented by the same URI.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following query returns the list of the graphs where mappings are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?g WHERE { &lt;br /&gt;
GRAPH ?g { &lt;br /&gt;
?s a &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#One_To_One_Mapping&amp;gt; . }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following RDF/Turtle sample shows an example of a mapping instance:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@prefix maps: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;http://purl.bioontology.org/mapping/2767e8e0-001b-012e-749f-005056bd0010&amp;gt;&lt;br /&gt;
    maps:has_process_info &amp;lt;.../procinfo/2008-04-23-38138&amp;gt; ;&lt;br /&gt;
    maps:comment &amp;quot;Manual mappings between Mouse anatomy and NCIT.&amp;quot; ;&lt;br /&gt;
    maps:relation skos:closeMatch ;&lt;br /&gt;
    maps:target &amp;lt;http://purl.org/obo/owl/MA#MA_0001096&amp;gt; ;&lt;br /&gt;
    maps:source &amp;lt;http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#Olfactory_Nerve&amp;gt; ;&lt;br /&gt;
    maps:source_ontology_id &amp;lt;http://bioportal.bioontology.org/ontologies/1032&amp;gt; ;&lt;br /&gt;
    maps:target_ontology_id &amp;lt;http://bioportal.bioontology.org/ontologies/1000&amp;gt; ;&lt;br /&gt;
    a maps:One_To_One_Mapping .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The predicates we use to represent a mapping record both the target and source terms and target and source ontologies. A SPARQL query to return all the target terms for a giving source term would look like the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX map: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?target WHERE {&lt;br /&gt;
  ?s map:source &amp;lt;http://purl.obolibrary.org/obo/DOID_8545&amp;gt;;&lt;br /&gt;
     map:target ?target .&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If one wants to count at all the mappings for two given ontologies then the SPARQL would use the ''target_ontology'' and ''source_ontology'' predicates:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX map: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt;&lt;br /&gt;
SELECT (count(?m) as ?c) WHERE {&lt;br /&gt;
  ?m map:source_ontology &amp;lt;http://bioportal.bioontology.org/ontologies/1032&amp;gt; ;&lt;br /&gt;
      map:target_ontology  &amp;lt;http://bioportal.bioontology.org/ontologies/1000&amp;gt; .&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case this query returns a count of 4393 solutions. &lt;br /&gt;
It is important to notice that for mappings we use version based ontology URIs and not the ones that are based on acronyms.&lt;br /&gt;
&lt;br /&gt;
=== Federated SPARQL queries ===&lt;br /&gt;
&lt;br /&gt;
SPARQL Federation can be used with the Jena ARQ library. The Jena ARQ library handles the SERVICE SPARQL construct and directs sets of triple patterns to different endpoint and handles the joins. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt; SPARQL Federation can be used grammatically only. Our web front-end at http://sparql.bioontology.org/ does not support mediation for the SERVICE clause.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX map: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt;&lt;br /&gt;
PREFIX rdfs: &amp;lt;http://www.w3.org/2000/01/rdf-schema#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?mappedParent WHERE {&lt;br /&gt;
    SERVICE &amp;lt;http://stagesparql.bioontology.org/mappings/sparql/?apikey=YOUR API KEY HERE&amp;gt; {&lt;br /&gt;
        ?mapping map:target &amp;lt;http://purl.bioontology.org/ontology/CSP/0468-5952&amp;gt; .&lt;br /&gt;
        ?mapping map:source ?source .&lt;br /&gt;
    }&lt;br /&gt;
    SERVICE &amp;lt;http://stagesparql.bioontology.org/ontologies/sparql/?apikey=YOUR API KEY HERE&amp;gt; {&lt;br /&gt;
        ?source rdfs:subClassOf ?mappedParent .&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Partial or Incomplete Results ===&lt;br /&gt;
&lt;br /&gt;
sparql.bioontology.org uses 4store's soft-limit internal mechanism to limit resources for expensive queries. Our setup is configured to bind 8K elements per triple pattern. If you hit these limits a warning message will be appended to the query response. This message says something like: &amp;quot;hit complexity limit 8 times&amp;quot;. If you see this warning it means that the results are incomplete, and probably there is a more efficient way to write that query. &lt;br /&gt;
&lt;br /&gt;
Contact our support mail list if you need help to rewrite your query in a more efficient way and avoid incomplete results.&lt;br /&gt;
&lt;br /&gt;
=== Slides ===&lt;br /&gt;
* '''''BioPortal SPARQL presentation at ISWC 2012''''' http://www.slideshare.net/manuelso/using-sparql-to-query-bioportal-ontologies-and-metadata&lt;br /&gt;
* '''''BioPortal SPARQL tutorial from SWAT4LS 2011''''' http://www.bioontology.org/wiki/index.php/File:Whetzel_SPARQL.pdf&lt;br /&gt;
* '''''NCBO Hackathon slides for the SPARQL tutorial''''' http://www.stanford.edu/~manuelso/ncbohack/index.html&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12566</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12566"/>
		<updated>2013-01-25T18:09:31Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Mappings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NCBO is releasing a free and open SPARQL endpoint to query ontologies hosted in the BioPortal ontology repository. This SPARQL service, that is in BETA status, is stable for testing by our community of users. If you encounter any errors or unexpected behavior please report it to us [mailto:support@bioontology.org support@bioontology.org]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://sparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://sparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Each ontology is asserted into a single graph. The graph is named with an acronym based URI. For example, the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/HP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the Human Phenotype Ontology ontology. And the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/SNOMEDCT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the SNOMEDCT ontology.&lt;br /&gt;
&lt;br /&gt;
The following query would return all version IDs with the graph IDs where ontologies are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX meta: &amp;lt;http://bioportal.bioontology.org/metadata/def/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
SELECT DISTINCT ?version ?graph&lt;br /&gt;
WHERE { &lt;br /&gt;
    ?version meta:hasDataGraph ?graph&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
There are problematic cases of label definition. In order to provide a consistent mechanism to query by label across different ontologies we generate labels for the following cases. These label are attached to terms using the predicate '''http://bioportal.bioontology.org/metadata/def/prefLabel''' (bp:prefLabel)&lt;br /&gt;
&lt;br /&gt;
* '''Missing labels''': for every owl:Class that is missing a label we generate a label based on the latest fragment of URI. &lt;br /&gt;
&lt;br /&gt;
* '''Terms that use rdfs:label as preferred name''': BioPortal uses skos:prefLabel and skos:altLabel for preferred names and synonyms respectively. Both skos:prefLabel and skos:altLabel are subproperties of rdfs:label in the SKOS ontology. If someone uses rdfs:label to record preferred names, in the SKOS context, he would be saying that that name can be a preferred name or a synonym. To avoid this confusion we  generate bp:prefLabel(s) for every rdfs:label used as preferred name.&lt;br /&gt;
&lt;br /&gt;
=== Preferred Label, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
When ontologies are submitted to BioPortal the user can select which predicates that ontology uses for:&lt;br /&gt;
&lt;br /&gt;
* Preferred Names.&lt;br /&gt;
* Synonyms or alternative names.&lt;br /&gt;
* Author.&lt;br /&gt;
* Description.&lt;br /&gt;
&lt;br /&gt;
The BioPortal SPARQL endpoint supports rdfs:subPropertyOf reasoning to enable cross querying across all these configurable predicates. In the triple store, the following URI:&lt;br /&gt;
&lt;br /&gt;
 http://bioportal.bioontology.org/ontologies/globals&lt;br /&gt;
&lt;br /&gt;
is used as identifier for the named graph that contains all the sub-property of statements that have been configured by users when uploading their ontologies. The root properties to be used   to trigger the reasoning are the following:&lt;br /&gt;
&lt;br /&gt;
* '''skos:prefLabel''' for Preferred name.&lt;br /&gt;
* '''skos:altLabel''' for Synonyms or alternative names.&lt;br /&gt;
* '''dc:author''' for Author.&lt;br /&gt;
* '''skos:definition''' for Description.&lt;br /&gt;
&lt;br /&gt;
When using named graphs if you want to use this reasoning then you should include the globals graph that contains the subproperty statements, i.e:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX owl:  &amp;lt;http://www.w3.org/2002/07/owl#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?termURI ?prefLabel&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/EHDA&amp;gt;&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/globals&amp;gt; &lt;br /&gt;
WHERE {&lt;br /&gt;
      ?termURI a owl:Class;&lt;br /&gt;
      skos:prefLabel ?prefLabel .&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise the subproperty statements that take part in the query processor will not be taken into account.&lt;br /&gt;
&lt;br /&gt;
=== Mappings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Notice that as of January 30th (2013) we are hosting the mappings in a separate endpoint. This eases our regular mapping updates. Programmatic queries that target mapping data need to use the following endpoint: http://sparql.bioontology.org/mappings/sparql&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The mapping data in the triple store is stored in the following graphs:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Graph Name!! Description&lt;br /&gt;
|-&lt;br /&gt;
|  http://purl.bioontology.org/mapping/loom || Loom: lexical mappings.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/rest || REST: User submitted by users via the REST API.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/umls_cui || UMLS-CUI: CUI based mappings&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/cuinonumls || NOUMLS-CUI: Terms with same CUIs but for ontologies that are not part of UMLS.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/obo_xref || OBO-XREF: Mappings for terms with same xref attribute.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/uri_match || URI-MATCH: Mappings that for terms that in different ontologies are represented by the same URI.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following query returns the list of the graphs where mappings are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?g WHERE { &lt;br /&gt;
GRAPH ?g { &lt;br /&gt;
?s a &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#One_To_One_Mapping&amp;gt; . }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following RDF/Turtle sample shows an example of a mapping instance:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@prefix maps: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;http://purl.bioontology.org/mapping/2767e8e0-001b-012e-749f-005056bd0010&amp;gt;&lt;br /&gt;
    maps:has_process_info &amp;lt;.../procinfo/2008-04-23-38138&amp;gt; ;&lt;br /&gt;
    maps:comment &amp;quot;Manual mappings between Mouse anatomy and NCIT.&amp;quot; ;&lt;br /&gt;
    maps:relation skos:closeMatch ;&lt;br /&gt;
    maps:target &amp;lt;http://purl.org/obo/owl/MA#MA_0001096&amp;gt; ;&lt;br /&gt;
    maps:source &amp;lt;http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#Olfactory_Nerve&amp;gt; ;&lt;br /&gt;
    maps:source_ontology_id &amp;lt;http://bioportal.bioontology.org/ontologies/1032&amp;gt; ;&lt;br /&gt;
    maps:target_ontology_id &amp;lt;http://bioportal.bioontology.org/ontologies/1000&amp;gt; ;&lt;br /&gt;
    a maps:One_To_One_Mapping .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The predicates we use to represent a mapping record both the target and source terms and target and source ontologies. A SPARQL query to return all the target terms for a giving source term would look like the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX map: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?target WHERE {&lt;br /&gt;
  ?s map:source &amp;lt;http://purl.obolibrary.org/obo/DOID_8545&amp;gt;;&lt;br /&gt;
     map:target ?target .&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If one wants to count at all the mappings for two given ontologies then the SPARQL would use the ''target_ontology'' and ''source_ontology'' predicates:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX map: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt;&lt;br /&gt;
SELECT (count(?m) as ?c) WHERE {&lt;br /&gt;
  ?m map:source_ontology &amp;lt;http://bioportal.bioontology.org/ontologies/1032&amp;gt; ;&lt;br /&gt;
      map:target_ontology  &amp;lt;http://bioportal.bioontology.org/ontologies/1000&amp;gt; .&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case this query returns a count of 4393 solutions. &lt;br /&gt;
It is important to notice that for mappings we use version based ontology URIs and not the ones that are based on acronyms.&lt;br /&gt;
&lt;br /&gt;
=== Federated SPARQL queries ===&lt;br /&gt;
&lt;br /&gt;
=== Partial or Incomplete Results ===&lt;br /&gt;
&lt;br /&gt;
sparql.bioontology.org uses 4store's soft-limit internal mechanism to limit resources for expensive queries. Our setup is configured to bind 8K elements per triple pattern. If you hit these limits a warning message will be appended to the query response. This message says something like: &amp;quot;hit complexity limit 8 times&amp;quot;. If you see this warning it means that the results are incomplete, and probably there is a more efficient way to write that query. &lt;br /&gt;
&lt;br /&gt;
Contact our support mail list if you need help to rewrite your query in a more efficient way and avoid incomplete results.&lt;br /&gt;
&lt;br /&gt;
=== Slides ===&lt;br /&gt;
* '''''BioPortal SPARQL presentation at ISWC 2012''''' http://www.slideshare.net/manuelso/using-sparql-to-query-bioportal-ontologies-and-metadata&lt;br /&gt;
* '''''BioPortal SPARQL tutorial from SWAT4LS 2011''''' http://www.bioontology.org/wiki/index.php/File:Whetzel_SPARQL.pdf&lt;br /&gt;
* '''''NCBO Hackathon slides for the SPARQL tutorial''''' http://www.stanford.edu/~manuelso/ncbohack/index.html&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12563</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12563"/>
		<updated>2013-01-23T04:07:00Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Slides */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NCBO is releasing a free and open SPARQL endpoint to query ontologies hosted in the BioPortal ontology repository. This SPARQL service, that is in BETA status, is stable for testing by our community of users. If you encounter any errors or unexpected behavior please report it to us [mailto:support@bioontology.org support@bioontology.org]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://sparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://sparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Each ontology is asserted into a single graph. The graph is named with an acronym based URI. For example, the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/HP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the Human Phenotype Ontology ontology. And the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/SNOMEDCT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the SNOMEDCT ontology.&lt;br /&gt;
&lt;br /&gt;
The following query would return all version IDs with the graph IDs where ontologies are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX meta: &amp;lt;http://bioportal.bioontology.org/metadata/def/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
SELECT DISTINCT ?version ?graph&lt;br /&gt;
WHERE { &lt;br /&gt;
    ?version meta:hasDataGraph ?graph&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
There are problematic cases of label definition. In order to provide a consistent mechanism to query by label across different ontologies we generate labels for the following cases. These label are attached to terms using the predicate '''http://bioportal.bioontology.org/metadata/def/prefLabel''' (bp:prefLabel)&lt;br /&gt;
&lt;br /&gt;
* '''Missing labels''': for every owl:Class that is missing a label we generate a label based on the latest fragment of URI. &lt;br /&gt;
&lt;br /&gt;
* '''Terms that use rdfs:label as preferred name''': BioPortal uses skos:prefLabel and skos:altLabel for preferred names and synonyms respectively. Both skos:prefLabel and skos:altLabel are subproperties of rdfs:label in the SKOS ontology. If someone uses rdfs:label to record preferred names, in the SKOS context, he would be saying that that name can be a preferred name or a synonym. To avoid this confusion we  generate bp:prefLabel(s) for every rdfs:label used as preferred name.&lt;br /&gt;
&lt;br /&gt;
=== Preferred Label, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
When ontologies are submitted to BioPortal the user can select which predicates that ontology uses for:&lt;br /&gt;
&lt;br /&gt;
* Preferred Names.&lt;br /&gt;
* Synonyms or alternative names.&lt;br /&gt;
* Author.&lt;br /&gt;
* Description.&lt;br /&gt;
&lt;br /&gt;
The BioPortal SPARQL endpoint supports rdfs:subPropertyOf reasoning to enable cross querying across all these configurable predicates. In the triple store, the following URI:&lt;br /&gt;
&lt;br /&gt;
 http://bioportal.bioontology.org/ontologies/globals&lt;br /&gt;
&lt;br /&gt;
is used as identifier for the named graph that contains all the sub-property of statements that have been configured by users when uploading their ontologies. The root properties to be used   to trigger the reasoning are the following:&lt;br /&gt;
&lt;br /&gt;
* '''skos:prefLabel''' for Preferred name.&lt;br /&gt;
* '''skos:altLabel''' for Synonyms or alternative names.&lt;br /&gt;
* '''dc:author''' for Author.&lt;br /&gt;
* '''skos:definition''' for Description.&lt;br /&gt;
&lt;br /&gt;
When using named graphs if you want to use this reasoning then you should include the globals graph that contains the subproperty statements, i.e:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX owl:  &amp;lt;http://www.w3.org/2002/07/owl#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?termURI ?prefLabel&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/EHDA&amp;gt;&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/globals&amp;gt; &lt;br /&gt;
WHERE {&lt;br /&gt;
      ?termURI a owl:Class;&lt;br /&gt;
      skos:prefLabel ?prefLabel .&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise the subproperty statements that take part in the query processor will not be taken into account.&lt;br /&gt;
&lt;br /&gt;
=== Mappings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Notice that as of January 30th (2013) we are hosting the mappings in a separate endpoint. This eases our regular mapping updates. Programmatic queries that target mapping data need to use the following endpoint: http://sparql.bioontology.org/mappings/sparql&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The mapping data in the triple store is stored in the following graphs:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Graph Name!! Description&lt;br /&gt;
|-&lt;br /&gt;
|  http://purl.bioontology.org/mapping/loom || Loom: lexical mappings.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/rest || REST: User submitted by users via the REST API.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/umls_cui || UMLS-CUI: CUI based mappings&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/cuinonumls || NOUMLS-CUI: Terms with same CUIs but for ontologies that are not part of UMLS.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/obo_xref || OBO-XREF: Mappings for terms with same xref attribute.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/uri_match || URI-MATCH: Mappings that for terms that in different ontologies are represented by the same URI.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following query returns the list of the graphs where mappings are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?g WHERE { &lt;br /&gt;
GRAPH ?g { &lt;br /&gt;
?s a &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#One_To_One_Mapping&amp;gt; . }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following RDF/Turtle sample shows an example of a mapping instance:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@prefix maps: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;http://purl.bioontology.org/mapping/2767e8e0-001b-012e-749f-005056bd0010&amp;gt;&lt;br /&gt;
    maps:has_process_info &amp;lt;.../procinfo/2008-04-23-38138&amp;gt; ;&lt;br /&gt;
    maps:comment &amp;quot;Manual mappings between Mouse anatomy and NCIT.&amp;quot; ;&lt;br /&gt;
    maps:relation skos:closeMatch ;&lt;br /&gt;
    maps:target &amp;lt;http://purl.org/obo/owl/MA#MA_0001096&amp;gt; ;&lt;br /&gt;
    maps:source &amp;lt;http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#Olfactory_Nerve&amp;gt; ;&lt;br /&gt;
    maps:source_ontology_id &amp;lt;http://bioportal.bioontology.org/ontologies/1032&amp;gt; ;&lt;br /&gt;
    maps:target_ontology_id &amp;lt;http://bioportal.bioontology.org/ontologies/1000&amp;gt; ;&lt;br /&gt;
    a maps:One_To_One_Mapping .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The predicates we use to represent a mapping record both the target and source terms and target and source ontologies. A SPARQL query to return all the target terms for a giving source term would look like the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX map: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?target WHERE {&lt;br /&gt;
  ?s map:source &amp;lt;http://purl.obolibrary.org/obo/DOID_8545&amp;gt;;&lt;br /&gt;
     map:target ?target .&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If one wants to count at all the mappings for two given ontologies then the SPARQL would use the ''target_ontology'' and ''source_ontology'' predicates:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX map: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt;&lt;br /&gt;
SELECT (count(?m) as ?c) WHERE {&lt;br /&gt;
  ?m map:source_ontology &amp;lt;http://bioportal.bioontology.org/ontologies/1032&amp;gt; ;&lt;br /&gt;
      map:target_ontology  &amp;lt;http://bioportal.bioontology.org/ontologies/1000&amp;gt; .&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case this query returns a count of 4393 solutions. &lt;br /&gt;
It is important to notice that for mappings we use version based ontology URIs and not the ones that are based on acronyms.&lt;br /&gt;
&lt;br /&gt;
=== Partial or Incomplete Results ===&lt;br /&gt;
&lt;br /&gt;
sparql.bioontology.org uses 4store's soft-limit internal mechanism to limit resources for expensive queries. Our setup is configured to bind 8K elements per triple pattern. If you hit these limits a warning message will be appended to the query response. This message says something like: &amp;quot;hit complexity limit 8 times&amp;quot;. If you see this warning it means that the results are incomplete, and probably there is a more efficient way to write that query. &lt;br /&gt;
&lt;br /&gt;
Contact our support mail list if you need help to rewrite your query in a more efficient way and avoid incomplete results.&lt;br /&gt;
&lt;br /&gt;
=== Slides ===&lt;br /&gt;
* '''''BioPortal SPARQL presentation at ISWC 2012''''' http://www.slideshare.net/manuelso/using-sparql-to-query-bioportal-ontologies-and-metadata&lt;br /&gt;
* '''''BioPortal SPARQL tutorial from SWAT4LS 2011''''' http://www.bioontology.org/wiki/index.php/File:Whetzel_SPARQL.pdf&lt;br /&gt;
* '''''NCBO Hackathon slides for the SPARQL tutorial''''' http://www.stanford.edu/~manuelso/ncbohack/index.html&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12562</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12562"/>
		<updated>2013-01-23T03:27:41Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Mappings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NCBO is releasing a free and open SPARQL endpoint to query ontologies hosted in the BioPortal ontology repository. This SPARQL service, that is in BETA status, is stable for testing by our community of users. If you encounter any errors or unexpected behavior please report it to us [mailto:support@bioontology.org support@bioontology.org]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://sparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://sparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Each ontology is asserted into a single graph. The graph is named with an acronym based URI. For example, the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/HP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the Human Phenotype Ontology ontology. And the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/SNOMEDCT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the SNOMEDCT ontology.&lt;br /&gt;
&lt;br /&gt;
The following query would return all version IDs with the graph IDs where ontologies are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX meta: &amp;lt;http://bioportal.bioontology.org/metadata/def/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
SELECT DISTINCT ?version ?graph&lt;br /&gt;
WHERE { &lt;br /&gt;
    ?version meta:hasDataGraph ?graph&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
There are problematic cases of label definition. In order to provide a consistent mechanism to query by label across different ontologies we generate labels for the following cases. These label are attached to terms using the predicate '''http://bioportal.bioontology.org/metadata/def/prefLabel''' (bp:prefLabel)&lt;br /&gt;
&lt;br /&gt;
* '''Missing labels''': for every owl:Class that is missing a label we generate a label based on the latest fragment of URI. &lt;br /&gt;
&lt;br /&gt;
* '''Terms that use rdfs:label as preferred name''': BioPortal uses skos:prefLabel and skos:altLabel for preferred names and synonyms respectively. Both skos:prefLabel and skos:altLabel are subproperties of rdfs:label in the SKOS ontology. If someone uses rdfs:label to record preferred names, in the SKOS context, he would be saying that that name can be a preferred name or a synonym. To avoid this confusion we  generate bp:prefLabel(s) for every rdfs:label used as preferred name.&lt;br /&gt;
&lt;br /&gt;
=== Preferred Label, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
When ontologies are submitted to BioPortal the user can select which predicates that ontology uses for:&lt;br /&gt;
&lt;br /&gt;
* Preferred Names.&lt;br /&gt;
* Synonyms or alternative names.&lt;br /&gt;
* Author.&lt;br /&gt;
* Description.&lt;br /&gt;
&lt;br /&gt;
The BioPortal SPARQL endpoint supports rdfs:subPropertyOf reasoning to enable cross querying across all these configurable predicates. In the triple store, the following URI:&lt;br /&gt;
&lt;br /&gt;
 http://bioportal.bioontology.org/ontologies/globals&lt;br /&gt;
&lt;br /&gt;
is used as identifier for the named graph that contains all the sub-property of statements that have been configured by users when uploading their ontologies. The root properties to be used   to trigger the reasoning are the following:&lt;br /&gt;
&lt;br /&gt;
* '''skos:prefLabel''' for Preferred name.&lt;br /&gt;
* '''skos:altLabel''' for Synonyms or alternative names.&lt;br /&gt;
* '''dc:author''' for Author.&lt;br /&gt;
* '''skos:definition''' for Description.&lt;br /&gt;
&lt;br /&gt;
When using named graphs if you want to use this reasoning then you should include the globals graph that contains the subproperty statements, i.e:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX owl:  &amp;lt;http://www.w3.org/2002/07/owl#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?termURI ?prefLabel&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/EHDA&amp;gt;&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/globals&amp;gt; &lt;br /&gt;
WHERE {&lt;br /&gt;
      ?termURI a owl:Class;&lt;br /&gt;
      skos:prefLabel ?prefLabel .&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise the subproperty statements that take part in the query processor will not be taken into account.&lt;br /&gt;
&lt;br /&gt;
=== Mappings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Notice that as of January 30th (2013) we are hosting the mappings in a separate endpoint. This eases our regular mapping updates. Programmatic queries that target mapping data need to use the following endpoint: http://sparql.bioontology.org/mappings/sparql&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The mapping data in the triple store is stored in the following graphs:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Graph Name!! Description&lt;br /&gt;
|-&lt;br /&gt;
|  http://purl.bioontology.org/mapping/loom || Loom: lexical mappings.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/rest || REST: User submitted by users via the REST API.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/umls_cui || UMLS-CUI: CUI based mappings&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/cuinonumls || NOUMLS-CUI: Terms with same CUIs but for ontologies that are not part of UMLS.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/obo_xref || OBO-XREF: Mappings for terms with same xref attribute.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/uri_match || URI-MATCH: Mappings that for terms that in different ontologies are represented by the same URI.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following query returns the list of the graphs where mappings are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?g WHERE { &lt;br /&gt;
GRAPH ?g { &lt;br /&gt;
?s a &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#One_To_One_Mapping&amp;gt; . }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following RDF/Turtle sample shows an example of a mapping instance:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@prefix maps: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;http://purl.bioontology.org/mapping/2767e8e0-001b-012e-749f-005056bd0010&amp;gt;&lt;br /&gt;
    maps:has_process_info &amp;lt;.../procinfo/2008-04-23-38138&amp;gt; ;&lt;br /&gt;
    maps:comment &amp;quot;Manual mappings between Mouse anatomy and NCIT.&amp;quot; ;&lt;br /&gt;
    maps:relation skos:closeMatch ;&lt;br /&gt;
    maps:target &amp;lt;http://purl.org/obo/owl/MA#MA_0001096&amp;gt; ;&lt;br /&gt;
    maps:source &amp;lt;http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#Olfactory_Nerve&amp;gt; ;&lt;br /&gt;
    maps:source_ontology_id &amp;lt;http://bioportal.bioontology.org/ontologies/1032&amp;gt; ;&lt;br /&gt;
    maps:target_ontology_id &amp;lt;http://bioportal.bioontology.org/ontologies/1000&amp;gt; ;&lt;br /&gt;
    a maps:One_To_One_Mapping .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The predicates we use to represent a mapping record both the target and source terms and target and source ontologies. A SPARQL query to return all the target terms for a giving source term would look like the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX map: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?target WHERE {&lt;br /&gt;
  ?s map:source &amp;lt;http://purl.obolibrary.org/obo/DOID_8545&amp;gt;;&lt;br /&gt;
     map:target ?target .&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If one wants to count at all the mappings for two given ontologies then the SPARQL would use the ''target_ontology'' and ''source_ontology'' predicates:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX map: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt;&lt;br /&gt;
SELECT (count(?m) as ?c) WHERE {&lt;br /&gt;
  ?m map:source_ontology &amp;lt;http://bioportal.bioontology.org/ontologies/1032&amp;gt; ;&lt;br /&gt;
      map:target_ontology  &amp;lt;http://bioportal.bioontology.org/ontologies/1000&amp;gt; .&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case this query returns a count of 4393 solutions. &lt;br /&gt;
It is important to notice that for mappings we use version based ontology URIs and not the ones that are based on acronyms.&lt;br /&gt;
&lt;br /&gt;
=== Partial or Incomplete Results ===&lt;br /&gt;
&lt;br /&gt;
sparql.bioontology.org uses 4store's soft-limit internal mechanism to limit resources for expensive queries. Our setup is configured to bind 8K elements per triple pattern. If you hit these limits a warning message will be appended to the query response. This message says something like: &amp;quot;hit complexity limit 8 times&amp;quot;. If you see this warning it means that the results are incomplete, and probably there is a more efficient way to write that query. &lt;br /&gt;
&lt;br /&gt;
Contact our support mail list if you need help to rewrite your query in a more efficient way and avoid incomplete results.&lt;br /&gt;
&lt;br /&gt;
=== Slides ===&lt;br /&gt;
&lt;br /&gt;
* '''''BioPortal SPARQL tutorial from SWAT4LS 2011''''' http://www.bioontology.org/wiki/index.php/File:Whetzel_SPARQL.pdf&lt;br /&gt;
* '''''NCBO Hackathon slides for the SPARQL tutorial''''' http://www.stanford.edu/~manuelso/ncbohack/index.html&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12561</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12561"/>
		<updated>2013-01-23T03:02:00Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Mappings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NCBO is releasing a free and open SPARQL endpoint to query ontologies hosted in the BioPortal ontology repository. This SPARQL service, that is in BETA status, is stable for testing by our community of users. If you encounter any errors or unexpected behavior please report it to us [mailto:support@bioontology.org support@bioontology.org]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://sparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://sparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Each ontology is asserted into a single graph. The graph is named with an acronym based URI. For example, the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/HP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the Human Phenotype Ontology ontology. And the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/SNOMEDCT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the SNOMEDCT ontology.&lt;br /&gt;
&lt;br /&gt;
The following query would return all version IDs with the graph IDs where ontologies are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX meta: &amp;lt;http://bioportal.bioontology.org/metadata/def/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
SELECT DISTINCT ?version ?graph&lt;br /&gt;
WHERE { &lt;br /&gt;
    ?version meta:hasDataGraph ?graph&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
There are problematic cases of label definition. In order to provide a consistent mechanism to query by label across different ontologies we generate labels for the following cases. These label are attached to terms using the predicate '''http://bioportal.bioontology.org/metadata/def/prefLabel''' (bp:prefLabel)&lt;br /&gt;
&lt;br /&gt;
* '''Missing labels''': for every owl:Class that is missing a label we generate a label based on the latest fragment of URI. &lt;br /&gt;
&lt;br /&gt;
* '''Terms that use rdfs:label as preferred name''': BioPortal uses skos:prefLabel and skos:altLabel for preferred names and synonyms respectively. Both skos:prefLabel and skos:altLabel are subproperties of rdfs:label in the SKOS ontology. If someone uses rdfs:label to record preferred names, in the SKOS context, he would be saying that that name can be a preferred name or a synonym. To avoid this confusion we  generate bp:prefLabel(s) for every rdfs:label used as preferred name.&lt;br /&gt;
&lt;br /&gt;
=== Preferred Label, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
When ontologies are submitted to BioPortal the user can select which predicates that ontology uses for:&lt;br /&gt;
&lt;br /&gt;
* Preferred Names.&lt;br /&gt;
* Synonyms or alternative names.&lt;br /&gt;
* Author.&lt;br /&gt;
* Description.&lt;br /&gt;
&lt;br /&gt;
The BioPortal SPARQL endpoint supports rdfs:subPropertyOf reasoning to enable cross querying across all these configurable predicates. In the triple store, the following URI:&lt;br /&gt;
&lt;br /&gt;
 http://bioportal.bioontology.org/ontologies/globals&lt;br /&gt;
&lt;br /&gt;
is used as identifier for the named graph that contains all the sub-property of statements that have been configured by users when uploading their ontologies. The root properties to be used   to trigger the reasoning are the following:&lt;br /&gt;
&lt;br /&gt;
* '''skos:prefLabel''' for Preferred name.&lt;br /&gt;
* '''skos:altLabel''' for Synonyms or alternative names.&lt;br /&gt;
* '''dc:author''' for Author.&lt;br /&gt;
* '''skos:definition''' for Description.&lt;br /&gt;
&lt;br /&gt;
When using named graphs if you want to use this reasoning then you should include the globals graph that contains the subproperty statements, i.e:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX owl:  &amp;lt;http://www.w3.org/2002/07/owl#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?termURI ?prefLabel&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/EHDA&amp;gt;&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/globals&amp;gt; &lt;br /&gt;
WHERE {&lt;br /&gt;
      ?termURI a owl:Class;&lt;br /&gt;
      skos:prefLabel ?prefLabel .&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise the subproperty statements that take part in the query processor will not be taken into account.&lt;br /&gt;
&lt;br /&gt;
=== Mappings ===&lt;br /&gt;
&lt;br /&gt;
The mapping data in the triple store is stored in the following graphs:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Graph Name!! Description&lt;br /&gt;
|-&lt;br /&gt;
|  http://purl.bioontology.org/mapping/loom || Loom: lexical mappings.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/rest || REST: User submitted by users via the REST API.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/umls_cui || UMLS-CUI: CUI based mappings&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/cuinonumls || NOUMLS-CUI: Terms with same CUIs but for ontologies that are not part of UMLS.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/obo_xref || OBO-XREF: Mappings for terms with same xref attribute.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/uri_match || URI-MATCH: Mappings that for terms that in different ontologies are represented by the same URI.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following query returns the list of the graphs where mappings are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?g WHERE { &lt;br /&gt;
GRAPH ?g { &lt;br /&gt;
?s a &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#One_To_One_Mapping&amp;gt; . }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following RDF/Turtle sample shows an example of a mapping instance:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@prefix maps: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;http://purl.bioontology.org/mapping/2767e8e0-001b-012e-749f-005056bd0010&amp;gt;&lt;br /&gt;
    maps:has_process_info &amp;lt;.../procinfo/2008-04-23-38138&amp;gt; ;&lt;br /&gt;
    maps:comment &amp;quot;Manual mappings between Mouse anatomy and NCIT.&amp;quot; ;&lt;br /&gt;
    maps:relation skos:closeMatch ;&lt;br /&gt;
    maps:target &amp;lt;http://purl.org/obo/owl/MA#MA_0001096&amp;gt; ;&lt;br /&gt;
    maps:source &amp;lt;http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#Olfactory_Nerve&amp;gt; ;&lt;br /&gt;
    maps:source_ontology_id &amp;lt;http://bioportal.bioontology.org/ontologies/1032&amp;gt; ;&lt;br /&gt;
    maps:target_ontology_id &amp;lt;http://bioportal.bioontology.org/ontologies/1000&amp;gt; ;&lt;br /&gt;
    a maps:One_To_One_Mapping .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The predicates we use to represent a mapping record both the target and source terms and target and source ontologies. A SPARQL query to return all the target terms for a giving source term would look like the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX map: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?target WHERE {&lt;br /&gt;
  ?s map:source &amp;lt;http://purl.obolibrary.org/obo/DOID_8545&amp;gt;;&lt;br /&gt;
     map:target ?target .&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If one wants to count at all the mappings for two given ontologies then the SPARQL would use the ''target_ontology'' and ''source_ontology'' predicates:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX map: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt;&lt;br /&gt;
SELECT (count(?m) as ?c) WHERE {&lt;br /&gt;
  ?m map:source_ontology &amp;lt;http://bioportal.bioontology.org/ontologies/1032&amp;gt; ;&lt;br /&gt;
      map:target_ontology  &amp;lt;http://bioportal.bioontology.org/ontologies/1000&amp;gt; .&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case this query returns a count of 4393 solutions. &lt;br /&gt;
It is important to notice that for mappings we use version based ontology URIs and not the ones that are based on acronyms.&lt;br /&gt;
&lt;br /&gt;
=== Partial or Incomplete Results ===&lt;br /&gt;
&lt;br /&gt;
sparql.bioontology.org uses 4store's soft-limit internal mechanism to limit resources for expensive queries. Our setup is configured to bind 8K elements per triple pattern. If you hit these limits a warning message will be appended to the query response. This message says something like: &amp;quot;hit complexity limit 8 times&amp;quot;. If you see this warning it means that the results are incomplete, and probably there is a more efficient way to write that query. &lt;br /&gt;
&lt;br /&gt;
Contact our support mail list if you need help to rewrite your query in a more efficient way and avoid incomplete results.&lt;br /&gt;
&lt;br /&gt;
=== Slides ===&lt;br /&gt;
&lt;br /&gt;
* '''''BioPortal SPARQL tutorial from SWAT4LS 2011''''' http://www.bioontology.org/wiki/index.php/File:Whetzel_SPARQL.pdf&lt;br /&gt;
* '''''NCBO Hackathon slides for the SPARQL tutorial''''' http://www.stanford.edu/~manuelso/ncbohack/index.html&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12525</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12525"/>
		<updated>2012-11-26T22:48:35Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Preferred Label, Synonyms and other common predicates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NCBO is releasing a free and open SPARQL endpoint to query ontologies hosted in the BioPortal ontology repository. This SPARQL service, that is in BETA status, is stable for testing by our community of users. If you encounter any errors or unexpected behavior please report it to us [mailto:support@bioontology.org support@bioontology.org]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://sparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://sparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Each ontology is asserted into a single graph. The graph is named with an acronym based URI. For example, the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/HP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the Human Phenotype Ontology ontology. And the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/SNOMEDCT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the SNOMEDCT ontology.&lt;br /&gt;
&lt;br /&gt;
The following query would return all version IDs with the graph IDs where ontologies are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX meta: &amp;lt;http://bioportal.bioontology.org/metadata/def/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
SELECT DISTINCT ?version ?graph&lt;br /&gt;
WHERE { &lt;br /&gt;
    ?version meta:hasDataGraph ?graph&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
There are problematic cases of label definition. In order to provide a consistent mechanism to query by label across different ontologies we generate labels for the following cases. These label are attached to terms using the predicate '''http://bioportal.bioontology.org/metadata/def/prefLabel''' (bp:prefLabel)&lt;br /&gt;
&lt;br /&gt;
* '''Missing labels''': for every owl:Class that is missing a label we generate a label based on the latest fragment of URI. &lt;br /&gt;
&lt;br /&gt;
* '''Terms that use rdfs:label as preferred name''': BioPortal uses skos:prefLabel and skos:altLabel for preferred names and synonyms respectively. Both skos:prefLabel and skos:altLabel are subproperties of rdfs:label in the SKOS ontology. If someone uses rdfs:label to record preferred names, in the SKOS context, he would be saying that that name can be a preferred name or a synonym. To avoid this confusion we  generate bp:prefLabel(s) for every rdfs:label used as preferred name.&lt;br /&gt;
&lt;br /&gt;
=== Preferred Label, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
When ontologies are submitted to BioPortal the user can select which predicates that ontology uses for:&lt;br /&gt;
&lt;br /&gt;
* Preferred Names.&lt;br /&gt;
* Synonyms or alternative names.&lt;br /&gt;
* Author.&lt;br /&gt;
* Description.&lt;br /&gt;
&lt;br /&gt;
The BioPortal SPARQL endpoint supports rdfs:subPropertyOf reasoning to enable cross querying across all these configurable predicates. In the triple store, the following URI:&lt;br /&gt;
&lt;br /&gt;
 http://bioportal.bioontology.org/ontologies/globals&lt;br /&gt;
&lt;br /&gt;
is used as identifier for the named graph that contains all the sub-property of statements that have been configured by users when uploading their ontologies. The root properties to be used   to trigger the reasoning are the following:&lt;br /&gt;
&lt;br /&gt;
* '''skos:prefLabel''' for Preferred name.&lt;br /&gt;
* '''skos:altLabel''' for Synonyms or alternative names.&lt;br /&gt;
* '''dc:author''' for Author.&lt;br /&gt;
* '''skos:definition''' for Description.&lt;br /&gt;
&lt;br /&gt;
When using named graphs if you want to use this reasoning then you should include the globals graph that contains the subproperty statements, i.e:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX owl:  &amp;lt;http://www.w3.org/2002/07/owl#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?termURI ?prefLabel&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/EHDA&amp;gt;&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/globals&amp;gt; &lt;br /&gt;
WHERE {&lt;br /&gt;
      ?termURI a owl:Class;&lt;br /&gt;
      skos:prefLabel ?prefLabel .&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise the subproperty statements that take part in the query processor will not be taken into account.&lt;br /&gt;
&lt;br /&gt;
=== Mappings ===&lt;br /&gt;
&lt;br /&gt;
The mapping data in the triple store is stored in the following graphs:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Graph Name!! Description&lt;br /&gt;
|-&lt;br /&gt;
|  http://purl.bioontology.org/mapping/loom || Loom: lexical mappings.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/rest || REST: User submitted by users via the REST API.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/umls_cui || UMLS-CUI: CUI based mappings&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/cuinonumls || NOUMLS-CUI: Terms with same CUIs but for ontologies that are not part of UMLS.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/obo_xref || OBO-XREF: Mappings for terms with same xref attribute.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/uri_match || URI-MATCH: Mappings that for terms that in different ontologies are represented by the same URI.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following query returns the list of the graphs where mappings are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?g WHERE { &lt;br /&gt;
GRAPH ?g { &lt;br /&gt;
?s a &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#One_To_One_Mapping&amp;gt; . }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following RDF/Turtle sample shows an example of a mapping instance:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@prefix maps: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;http://purl.bioontology.org/mapping/2767e8e0-001b-012e-749f-005056bd0010&amp;gt;&lt;br /&gt;
    maps:has_process_info &amp;lt;.../procinfo/2008-04-23-38138&amp;gt; ;&lt;br /&gt;
    maps:comment &amp;quot;Manual mappings between Mouse anatomy and NCIT.&amp;quot; ;&lt;br /&gt;
    maps:relation skos:closeMatch ;&lt;br /&gt;
    maps:target &amp;lt;http://purl.org/obo/owl/MA#MA_0001096&amp;gt; ;&lt;br /&gt;
    maps:source &amp;lt;http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#Olfactory_Nerve&amp;gt; ;&lt;br /&gt;
    maps:source_ontology_id &amp;lt;http://bioportal.bioontology.org/ontologies/1032&amp;gt; ;&lt;br /&gt;
    maps:target_ontology_id &amp;lt;http://bioportal.bioontology.org/ontologies/1000&amp;gt; ;&lt;br /&gt;
    a maps:One_To_One_Mapping .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The predicates we use to represent a mapping record both the target and source terms and target and source ontologies. A SPARQL query to return all the target terms for a giving source term would look like the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX map: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?target WHERE {&lt;br /&gt;
  ?s maps:source &amp;lt;http://purl.obolibrary.org/obo/DOID_8545&amp;gt;;&lt;br /&gt;
     maps:target ?target .&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If one wants to count at all the mappings for two given ontologies then the SPARQL would use the ''target_ontology'' and ''source_ontology'' predicates:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX map: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt;&lt;br /&gt;
SELECT (count(?m) as ?c) WHERE {&lt;br /&gt;
  ?m maps:source_ontology &amp;lt;http://bioportal.bioontology.org/ontologies/1032&amp;gt; ;&lt;br /&gt;
      maps:target_ontology  &amp;lt;http://bioportal.bioontology.org/ontologies/1000&amp;gt; .&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case this query returns a count of 4393 solutions. &lt;br /&gt;
It is important to notice that for mappings we use version based ontology URIs and not the ones that are based on acronyms.&lt;br /&gt;
&lt;br /&gt;
=== Partial or Incomplete Results ===&lt;br /&gt;
&lt;br /&gt;
sparql.bioontology.org uses 4store's soft-limit internal mechanism to limit resources for expensive queries. Our setup is configured to bind 8K elements per triple pattern. If you hit these limits a warning message will be appended to the query response. This message says something like: &amp;quot;hit complexity limit 8 times&amp;quot;. If you see this warning it means that the results are incomplete, and probably there is a more efficient way to write that query. &lt;br /&gt;
&lt;br /&gt;
Contact our support mail list if you need help to rewrite your query in a more efficient way and avoid incomplete results.&lt;br /&gt;
&lt;br /&gt;
=== Slides ===&lt;br /&gt;
&lt;br /&gt;
* '''''BioPortal SPARQL tutorial from SWAT4LS 2011''''' http://www.bioontology.org/wiki/index.php/File:Whetzel_SPARQL.pdf&lt;br /&gt;
* '''''NCBO Hackathon slides for the SPARQL tutorial''''' http://www.stanford.edu/~manuelso/ncbohack/index.html&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12500</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12500"/>
		<updated>2012-10-30T18:15:11Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Mappings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NCBO is releasing a free and open SPARQL endpoint to query ontologies hosted in the BioPortal ontology repository. This SPARQL service, that is in BETA status, is stable for testing by our community of users. If you encounter any errors or unexpected behavior please report it to us [mailto:support@bioontology.org support@bioontology.org]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://sparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://sparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Each ontology is asserted into a single graph. The graph is named with an acronym based URI. For example, the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/HP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the Human Phenotype Ontology ontology. And the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/SNOMEDCT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the SNOMEDCT ontology.&lt;br /&gt;
&lt;br /&gt;
The following query would return all version IDs with the graph IDs where ontologies are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX meta: &amp;lt;http://bioportal.bioontology.org/metadata/def/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
SELECT DISTINCT ?version ?graph&lt;br /&gt;
WHERE { &lt;br /&gt;
    ?version meta:hasDataGraph ?graph&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
There are problematic cases of label definition. In order to provide a consistent mechanism to query by label across different ontologies we generate labels for the following cases. These label are attached to terms using the predicate '''http://bioportal.bioontology.org/metadata/def/prefLabel''' (bp:prefLabel)&lt;br /&gt;
&lt;br /&gt;
* '''Missing labels''': for every owl:Class that is missing a label we generate a label based on the latest fragment of URI. &lt;br /&gt;
&lt;br /&gt;
* '''Terms that use rdfs:label as preferred name''': BioPortal uses skos:prefLabel and skos:altLabel for preferred names and synonyms respectively. Both skos:prefLabel and skos:altLabel are subproperties of rdfs:label in the SKOS ontology. If someone uses rdfs:label to record preferred names, in the SKOS context, he would be saying that that name can be a preferred name or a synonym. To avoid this confusion we  generate bp:prefLabel(s) for every rdfs:label used as preferred name.&lt;br /&gt;
&lt;br /&gt;
=== Preferred Label, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
When ontologies are submitted to BioPortal the user can select which predicates that ontology uses for:&lt;br /&gt;
&lt;br /&gt;
* Preferred Names.&lt;br /&gt;
* Synonyms or alternative names.&lt;br /&gt;
* Author.&lt;br /&gt;
* Description.&lt;br /&gt;
&lt;br /&gt;
The BioPortal SPARQL endpoint supports rdfs:subPropertyOf reasoning to enable cross querying across all these configurable predicates. In the triple store, the following URI:&lt;br /&gt;
&lt;br /&gt;
 http://bioportal.bioontology.org/ontologies/globals&lt;br /&gt;
&lt;br /&gt;
is used as identifier for the named graph that contains all the sub-property of statements that have been configured by users when uploading their ontologies. The root properties to be used   to trigger the reasoning are the following:&lt;br /&gt;
&lt;br /&gt;
* '''skos:prefLabel''' for Preferred name.&lt;br /&gt;
* '''skos:altLabel''' for Synonyms or alternative names.&lt;br /&gt;
* '''dc:author''' for Author.&lt;br /&gt;
* '''rdfs:comment''' for Description.&lt;br /&gt;
&lt;br /&gt;
When using named graphs if you want to use this reasoning then you should include the globals graph that contains the subproperty statements, i.e:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX owl:  &amp;lt;http://www.w3.org/2002/07/owl#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?termURI ?prefLabel&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/EHDA&amp;gt;&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/globals&amp;gt; &lt;br /&gt;
WHERE {&lt;br /&gt;
      ?termURI a owl:Class;&lt;br /&gt;
      skos:prefLabel ?prefLabel .&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise the subproperty statements that take part in the query processor will not be taken into account.&lt;br /&gt;
&lt;br /&gt;
=== Mappings ===&lt;br /&gt;
&lt;br /&gt;
The mapping data in the triple store is stored in the following graphs:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Graph Name!! Description&lt;br /&gt;
|-&lt;br /&gt;
|  http://purl.bioontology.org/mapping/loom || Loom: lexical mappings.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/rest || REST: User submitted by users via the REST API.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/umls_cui || UMLS-CUI: CUI based mappings&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/cuinonumls || NOUMLS-CUI: Terms with same CUIs but for ontologies that are not part of UMLS.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/obo_xref || OBO-XREF: Mappings for terms with same xref attribute.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/uri_match || URI-MATCH: Mappings that for terms that in different ontologies are represented by the same URI.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following query returns the list of the graphs where mappings are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?g WHERE { &lt;br /&gt;
GRAPH ?g { &lt;br /&gt;
?s a &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#One_To_One_Mapping&amp;gt; . }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following RDF/Turtle sample shows an example of a mapping instance:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@prefix maps: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;http://purl.bioontology.org/mapping/2767e8e0-001b-012e-749f-005056bd0010&amp;gt;&lt;br /&gt;
    maps:has_process_info &amp;lt;.../procinfo/2008-04-23-38138&amp;gt; ;&lt;br /&gt;
    maps:comment &amp;quot;Manual mappings between Mouse anatomy and NCIT.&amp;quot; ;&lt;br /&gt;
    maps:relation skos:closeMatch ;&lt;br /&gt;
    maps:target &amp;lt;http://purl.org/obo/owl/MA#MA_0001096&amp;gt; ;&lt;br /&gt;
    maps:source &amp;lt;http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#Olfactory_Nerve&amp;gt; ;&lt;br /&gt;
    maps:source_ontology_id &amp;lt;http://bioportal.bioontology.org/ontologies/1032&amp;gt; ;&lt;br /&gt;
    maps:target_ontology_id &amp;lt;http://bioportal.bioontology.org/ontologies/1000&amp;gt; ;&lt;br /&gt;
    a maps:One_To_One_Mapping .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The predicates we use to represent a mapping record both the target and source terms and target and source ontologies. A SPARQL query to return all the target terms for a giving source term would look like the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX map: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?target WHERE {&lt;br /&gt;
  ?s maps:source &amp;lt;http://purl.obolibrary.org/obo/DOID_8545&amp;gt;;&lt;br /&gt;
     maps:target ?target .&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If one wants to count at all the mappings for two given ontologies then the SPARQL would use the ''target_ontology'' and ''source_ontology'' predicates:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX map: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt;&lt;br /&gt;
SELECT (count(?m) as ?c) WHERE {&lt;br /&gt;
  ?m maps:source_ontology &amp;lt;http://bioportal.bioontology.org/ontologies/1032&amp;gt; ;&lt;br /&gt;
      maps:target_ontology  &amp;lt;http://bioportal.bioontology.org/ontologies/1000&amp;gt; .&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case this query returns a count of 4393 solutions. &lt;br /&gt;
It is important to notice that for mappings we use version based ontology URIs and not the ones that are based on acronyms.&lt;br /&gt;
&lt;br /&gt;
=== Partial or Incomplete Results ===&lt;br /&gt;
&lt;br /&gt;
sparql.bioontology.org uses 4store's soft-limit internal mechanism to limit resources for expensive queries. Our setup is configured to bind 8K elements per triple pattern. If you hit these limits a warning message will be appended to the query response. This message says something like: &amp;quot;hit complexity limit 8 times&amp;quot;. If you see this warning it means that the results are incomplete, and probably there is a more efficient way to write that query. &lt;br /&gt;
&lt;br /&gt;
Contact our support mail list if you need help to rewrite your query in a more efficient way and avoid incomplete results.&lt;br /&gt;
&lt;br /&gt;
=== Slides ===&lt;br /&gt;
&lt;br /&gt;
* '''''BioPortal SPARQL tutorial from SWAT4LS 2011''''' http://www.bioontology.org/wiki/index.php/File:Whetzel_SPARQL.pdf&lt;br /&gt;
* '''''NCBO Hackathon slides for the SPARQL tutorial''''' http://www.stanford.edu/~manuelso/ncbohack/index.html&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12499</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12499"/>
		<updated>2012-10-30T18:00:31Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Mappings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NCBO is releasing a free and open SPARQL endpoint to query ontologies hosted in the BioPortal ontology repository. This SPARQL service, that is in BETA status, is stable for testing by our community of users. If you encounter any errors or unexpected behavior please report it to us [mailto:support@bioontology.org support@bioontology.org]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://sparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://sparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Each ontology is asserted into a single graph. The graph is named with an acronym based URI. For example, the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/HP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the Human Phenotype Ontology ontology. And the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/SNOMEDCT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the SNOMEDCT ontology.&lt;br /&gt;
&lt;br /&gt;
The following query would return all version IDs with the graph IDs where ontologies are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX meta: &amp;lt;http://bioportal.bioontology.org/metadata/def/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
SELECT DISTINCT ?version ?graph&lt;br /&gt;
WHERE { &lt;br /&gt;
    ?version meta:hasDataGraph ?graph&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
There are problematic cases of label definition. In order to provide a consistent mechanism to query by label across different ontologies we generate labels for the following cases. These label are attached to terms using the predicate '''http://bioportal.bioontology.org/metadata/def/prefLabel''' (bp:prefLabel)&lt;br /&gt;
&lt;br /&gt;
* '''Missing labels''': for every owl:Class that is missing a label we generate a label based on the latest fragment of URI. &lt;br /&gt;
&lt;br /&gt;
* '''Terms that use rdfs:label as preferred name''': BioPortal uses skos:prefLabel and skos:altLabel for preferred names and synonyms respectively. Both skos:prefLabel and skos:altLabel are subproperties of rdfs:label in the SKOS ontology. If someone uses rdfs:label to record preferred names, in the SKOS context, he would be saying that that name can be a preferred name or a synonym. To avoid this confusion we  generate bp:prefLabel(s) for every rdfs:label used as preferred name.&lt;br /&gt;
&lt;br /&gt;
=== Preferred Label, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
When ontologies are submitted to BioPortal the user can select which predicates that ontology uses for:&lt;br /&gt;
&lt;br /&gt;
* Preferred Names.&lt;br /&gt;
* Synonyms or alternative names.&lt;br /&gt;
* Author.&lt;br /&gt;
* Description.&lt;br /&gt;
&lt;br /&gt;
The BioPortal SPARQL endpoint supports rdfs:subPropertyOf reasoning to enable cross querying across all these configurable predicates. In the triple store, the following URI:&lt;br /&gt;
&lt;br /&gt;
 http://bioportal.bioontology.org/ontologies/globals&lt;br /&gt;
&lt;br /&gt;
is used as identifier for the named graph that contains all the sub-property of statements that have been configured by users when uploading their ontologies. The root properties to be used   to trigger the reasoning are the following:&lt;br /&gt;
&lt;br /&gt;
* '''skos:prefLabel''' for Preferred name.&lt;br /&gt;
* '''skos:altLabel''' for Synonyms or alternative names.&lt;br /&gt;
* '''dc:author''' for Author.&lt;br /&gt;
* '''rdfs:comment''' for Description.&lt;br /&gt;
&lt;br /&gt;
When using named graphs if you want to use this reasoning then you should include the globals graph that contains the subproperty statements, i.e:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX owl:  &amp;lt;http://www.w3.org/2002/07/owl#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?termURI ?prefLabel&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/EHDA&amp;gt;&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/globals&amp;gt; &lt;br /&gt;
WHERE {&lt;br /&gt;
      ?termURI a owl:Class;&lt;br /&gt;
      skos:prefLabel ?prefLabel .&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise the subproperty statements that take part in the query processor will not be taken into account.&lt;br /&gt;
&lt;br /&gt;
=== Mappings ===&lt;br /&gt;
&lt;br /&gt;
The mapping data in the triple store is stored in the following graphs:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Graph Name!! Description&lt;br /&gt;
|-&lt;br /&gt;
|  http://purl.bioontology.org/mapping/loom || Loom: lexical mappings.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/rest || REST: User submitted by users via the REST API.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/umls_cui || UMLS-CUI: CUI based mappings&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/cuinonumls || NOUMLS-CUI: Terms with same CUIs but for ontologies that are not part of UMLS.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/obo_xref || OBO-XREF: Mappings for terms with same xref attribute.&lt;br /&gt;
|-&lt;br /&gt;
| http://purl.bioontology.org/mapping/uri_match || URI-MATCH: Mappings that for terms that in different ontologies are represented by the same URI.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The following query returns the list of the graphs where mappings are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?g WHERE { &lt;br /&gt;
GRAPH ?g { &lt;br /&gt;
?s a &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#One_To_One_Mapping&amp;gt; . }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following RDF/Turtle sample shows an example of a mapping instance:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@prefix maps: &amp;lt;http://protege.stanford.edu/ontologies/mappings/mappings.rdfs#&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;http://purl.bioontology.org/mapping/2767e8e0-001b-012e-749f-005056bd0010&amp;gt;&lt;br /&gt;
    maps:has_process_info &amp;lt;.../procinfo/2008-04-23-38138&amp;gt; ;&lt;br /&gt;
    maps:comment &amp;quot;Manual mappings between Mouse anatomy and NCIT.&amp;quot; ;&lt;br /&gt;
    maps:relation skos:closeMatch ;&lt;br /&gt;
    maps:target &amp;lt;http://purl.org/obo/owl/MA#MA_0001096&amp;gt; ;&lt;br /&gt;
    maps:source &amp;lt;http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#Olfactory_Nerve&amp;gt; ;&lt;br /&gt;
    maps:source_ontology_id &amp;lt;http://bioportal.bioontology.org/ontologies/1032&amp;gt; ;&lt;br /&gt;
    maps:target_ontology_id &amp;lt;http://bioportal.bioontology.org/ontologies/1000&amp;gt; ;&lt;br /&gt;
    a maps:One_To_One_Mapping .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The predicate&lt;br /&gt;
&lt;br /&gt;
=== Partial or Incomplete Results ===&lt;br /&gt;
&lt;br /&gt;
sparql.bioontology.org uses 4store's soft-limit internal mechanism to limit resources for expensive queries. Our setup is configured to bind 8K elements per triple pattern. If you hit these limits a warning message will be appended to the query response. This message says something like: &amp;quot;hit complexity limit 8 times&amp;quot;. If you see this warning it means that the results are incomplete, and probably there is a more efficient way to write that query. &lt;br /&gt;
&lt;br /&gt;
Contact our support mail list if you need help to rewrite your query in a more efficient way and avoid incomplete results.&lt;br /&gt;
&lt;br /&gt;
=== Slides ===&lt;br /&gt;
&lt;br /&gt;
* '''''BioPortal SPARQL tutorial from SWAT4LS 2011''''' http://www.bioontology.org/wiki/index.php/File:Whetzel_SPARQL.pdf&lt;br /&gt;
* '''''NCBO Hackathon slides for the SPARQL tutorial''''' http://www.stanford.edu/~manuelso/ncbohack/index.html&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12498</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12498"/>
		<updated>2012-10-30T17:44:58Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Preferred Label, Synonyms and other common predicates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NCBO is releasing a free and open SPARQL endpoint to query ontologies hosted in the BioPortal ontology repository. This SPARQL service, that is in BETA status, is stable for testing by our community of users. If you encounter any errors or unexpected behavior please report it to us [mailto:support@bioontology.org support@bioontology.org]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://sparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://sparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Each ontology is asserted into a single graph. The graph is named with an acronym based URI. For example, the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/HP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the Human Phenotype Ontology ontology. And the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/SNOMEDCT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the SNOMEDCT ontology.&lt;br /&gt;
&lt;br /&gt;
The following query would return all version IDs with the graph IDs where ontologies are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX meta: &amp;lt;http://bioportal.bioontology.org/metadata/def/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
SELECT DISTINCT ?version ?graph&lt;br /&gt;
WHERE { &lt;br /&gt;
    ?version meta:hasDataGraph ?graph&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
There are problematic cases of label definition. In order to provide a consistent mechanism to query by label across different ontologies we generate labels for the following cases. These label are attached to terms using the predicate '''http://bioportal.bioontology.org/metadata/def/prefLabel''' (bp:prefLabel)&lt;br /&gt;
&lt;br /&gt;
* '''Missing labels''': for every owl:Class that is missing a label we generate a label based on the latest fragment of URI. &lt;br /&gt;
&lt;br /&gt;
* '''Terms that use rdfs:label as preferred name''': BioPortal uses skos:prefLabel and skos:altLabel for preferred names and synonyms respectively. Both skos:prefLabel and skos:altLabel are subproperties of rdfs:label in the SKOS ontology. If someone uses rdfs:label to record preferred names, in the SKOS context, he would be saying that that name can be a preferred name or a synonym. To avoid this confusion we  generate bp:prefLabel(s) for every rdfs:label used as preferred name.&lt;br /&gt;
&lt;br /&gt;
=== Preferred Label, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
When ontologies are submitted to BioPortal the user can select which predicates that ontology uses for:&lt;br /&gt;
&lt;br /&gt;
* Preferred Names.&lt;br /&gt;
* Synonyms or alternative names.&lt;br /&gt;
* Author.&lt;br /&gt;
* Description.&lt;br /&gt;
&lt;br /&gt;
The BioPortal SPARQL endpoint supports rdfs:subPropertyOf reasoning to enable cross querying across all these configurable predicates. In the triple store, the following URI:&lt;br /&gt;
&lt;br /&gt;
 http://bioportal.bioontology.org/ontologies/globals&lt;br /&gt;
&lt;br /&gt;
is used as identifier for the named graph that contains all the sub-property of statements that have been configured by users when uploading their ontologies. The root properties to be used   to trigger the reasoning are the following:&lt;br /&gt;
&lt;br /&gt;
* '''skos:prefLabel''' for Preferred name.&lt;br /&gt;
* '''skos:altLabel''' for Synonyms or alternative names.&lt;br /&gt;
* '''dc:author''' for Author.&lt;br /&gt;
* '''rdfs:comment''' for Description.&lt;br /&gt;
&lt;br /&gt;
When using named graphs if you want to use this reasoning then you should include the globals graph that contains the subproperty statements, i.e:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX owl:  &amp;lt;http://www.w3.org/2002/07/owl#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?termURI ?prefLabel&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/EHDA&amp;gt;&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/globals&amp;gt; &lt;br /&gt;
WHERE {&lt;br /&gt;
      ?termURI a owl:Class;&lt;br /&gt;
      skos:prefLabel ?prefLabel .&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise the subproperty statements that take part in the query processor will not be taken into account.&lt;br /&gt;
&lt;br /&gt;
=== Mappings ===&lt;br /&gt;
&lt;br /&gt;
=== Partial or Incomplete Results ===&lt;br /&gt;
&lt;br /&gt;
sparql.bioontology.org uses 4store's soft-limit internal mechanism to limit resources for expensive queries. Our setup is configured to bind 8K elements per triple pattern. If you hit these limits a warning message will be appended to the query response. This message says something like: &amp;quot;hit complexity limit 8 times&amp;quot;. If you see this warning it means that the results are incomplete, and probably there is a more efficient way to write that query. &lt;br /&gt;
&lt;br /&gt;
Contact our support mail list if you need help to rewrite your query in a more efficient way and avoid incomplete results.&lt;br /&gt;
&lt;br /&gt;
=== Slides ===&lt;br /&gt;
&lt;br /&gt;
* '''''BioPortal SPARQL tutorial from SWAT4LS 2011''''' http://www.bioontology.org/wiki/index.php/File:Whetzel_SPARQL.pdf&lt;br /&gt;
* '''''NCBO Hackathon slides for the SPARQL tutorial''''' http://www.stanford.edu/~manuelso/ncbohack/index.html&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12053</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12053"/>
		<updated>2012-04-16T22:33:11Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Partial or Incomplete Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NCBO is releasing a free and open SPARQL endpoint to query ontologies hosted in the BioPortal ontology repository. This SPARQL service, that is in BETA status, is stable for testing by our community of users. If you encounter any errors or unexpected behavior please report it to us [mailto:support@bioontology.org support@bioontology.org]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://sparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://sparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Each ontology is asserted into a single graph. The graph is named with an acronym based URI. For example, the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/HP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the Human Phenotype Ontology ontology. And the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/SNOMEDCT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the SNOMEDCT ontology.&lt;br /&gt;
&lt;br /&gt;
The following query would return all version IDs with the graph IDs where ontologies are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX meta: &amp;lt;http://bioportal.bioontology.org/metadata/def/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
SELECT DISTINCT ?version ?graph&lt;br /&gt;
WHERE { &lt;br /&gt;
    ?version meta:hasDataGraph ?graph&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
There are problematic cases of label definition. In order to provide a consistent mechanism to query by label across different ontologies we generate labels for the following cases. These label are attached to terms using the predicate '''http://bioportal.bioontology.org/metadata/def/prefLabel''' (bp:prefLabel)&lt;br /&gt;
&lt;br /&gt;
* '''Missing labels''': for every owl:Class that is missing a label we generate a label based on the latest fragment of URI. &lt;br /&gt;
&lt;br /&gt;
* '''Terms that use rdfs:label as preferred name''': BioPortal uses skos:prefLabel and skos:altLabel for preferred names and synonyms respectively. Both skos:prefLabel and skos:altLabel are subproperties of rdfs:label in the SKOS ontology. If someone uses rdfs:label to record preferred names, in the SKOS context, he would be saying that that name can be a preferred name or a synonym. To avoid this confusion we  generate bp:prefLabel(s) for every rdfs:label used as preferred name.&lt;br /&gt;
&lt;br /&gt;
=== Preferred Label, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
When ontologies are submitted to BioPortal the user can select which predicates that ontology uses for:&lt;br /&gt;
&lt;br /&gt;
* Preferred Names.&lt;br /&gt;
* Synonyms or alternative names.&lt;br /&gt;
* Author.&lt;br /&gt;
* Description.&lt;br /&gt;
&lt;br /&gt;
The BioPortal SPARQL endpoint supports rdfs:subPropertyOf reasoning to enable cross querying across all these configurable predicates. In the triple store, the following URI:&lt;br /&gt;
&lt;br /&gt;
 http://bioportal.bioontology.org/ontologies/globals&lt;br /&gt;
&lt;br /&gt;
is used as identifier for the named graph that contains all the sub-property of statements that have been configured by users when uploading their ontologies. The root properties to be used   to trigger the reasoning are the following:&lt;br /&gt;
&lt;br /&gt;
* '''skos:prefLabel''' for Preferred name.&lt;br /&gt;
* '''skos:altLabel''' for Synonyms or alternative names.&lt;br /&gt;
* '''dc:author''' for Author.&lt;br /&gt;
* '''rdfs:comment''' for Description.&lt;br /&gt;
&lt;br /&gt;
When using named graphs if you want to use this reasoning then you should include the globals graph that contains the subproperty statements, i.e:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX owl:  &amp;lt;http://www.w3.org/2002/07/owl#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?termURI ?prefLabel&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/EHDA&amp;gt;&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/globals&amp;gt; &lt;br /&gt;
WHERE {&lt;br /&gt;
      ?termURI a owl:Class;&lt;br /&gt;
      skos:prefLabel ?prefLabel .&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise the subproperty statements that take part in the query processor will not be taken into account.&lt;br /&gt;
&lt;br /&gt;
=== Partial or Incomplete Results ===&lt;br /&gt;
&lt;br /&gt;
sparql.bioontology.org uses 4store's soft-limit internal mechanism to limit resources for expensive queries. Our setup is configured to bind 8K elements per triple pattern. If you hit these limits a warning message will be appended to the query response. This message says something like: &amp;quot;hit complexity limit 8 times&amp;quot;. If you see this warning it means that the results are incomplete, and probably there is a more efficient way to write that query. &lt;br /&gt;
&lt;br /&gt;
Contact our support mail list if you need help to rewrite your query in a more efficient way and avoid incomplete results.&lt;br /&gt;
&lt;br /&gt;
=== Hackathon Slides ===&lt;br /&gt;
&lt;br /&gt;
Last hackathon slides for the SPARQL session can be found here : http://www.stanford.edu/~manuelso/ncbohack/index.html&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12052</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=12052"/>
		<updated>2012-04-16T22:10:11Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Hackathon Slides */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NCBO is releasing a free and open SPARQL endpoint to query ontologies hosted in the BioPortal ontology repository. This SPARQL service, that is in BETA status, is stable for testing by our community of users. If you encounter any errors or unexpected behavior please report it to us [mailto:support@bioontology.org support@bioontology.org]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://sparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://sparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Each ontology is asserted into a single graph. The graph is named with an acronym based URI. For example, the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/HP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the Human Phenotype Ontology ontology. And the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/SNOMEDCT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the SNOMEDCT ontology.&lt;br /&gt;
&lt;br /&gt;
The following query would return all version IDs with the graph IDs where ontologies are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX meta: &amp;lt;http://bioportal.bioontology.org/metadata/def/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
SELECT DISTINCT ?version ?graph&lt;br /&gt;
WHERE { &lt;br /&gt;
    ?version meta:hasDataGraph ?graph&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
There are problematic cases of label definition. In order to provide a consistent mechanism to query by label across different ontologies we generate labels for the following cases. These label are attached to terms using the predicate '''http://bioportal.bioontology.org/metadata/def/prefLabel''' (bp:prefLabel)&lt;br /&gt;
&lt;br /&gt;
* '''Missing labels''': for every owl:Class that is missing a label we generate a label based on the latest fragment of URI. &lt;br /&gt;
&lt;br /&gt;
* '''Terms that use rdfs:label as preferred name''': BioPortal uses skos:prefLabel and skos:altLabel for preferred names and synonyms respectively. Both skos:prefLabel and skos:altLabel are subproperties of rdfs:label in the SKOS ontology. If someone uses rdfs:label to record preferred names, in the SKOS context, he would be saying that that name can be a preferred name or a synonym. To avoid this confusion we  generate bp:prefLabel(s) for every rdfs:label used as preferred name.&lt;br /&gt;
&lt;br /&gt;
=== Preferred Label, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
When ontologies are submitted to BioPortal the user can select which predicates that ontology uses for:&lt;br /&gt;
&lt;br /&gt;
* Preferred Names.&lt;br /&gt;
* Synonyms or alternative names.&lt;br /&gt;
* Author.&lt;br /&gt;
* Description.&lt;br /&gt;
&lt;br /&gt;
The BioPortal SPARQL endpoint supports rdfs:subPropertyOf reasoning to enable cross querying across all these configurable predicates. In the triple store, the following URI:&lt;br /&gt;
&lt;br /&gt;
 http://bioportal.bioontology.org/ontologies/globals&lt;br /&gt;
&lt;br /&gt;
is used as identifier for the named graph that contains all the sub-property of statements that have been configured by users when uploading their ontologies. The root properties to be used   to trigger the reasoning are the following:&lt;br /&gt;
&lt;br /&gt;
* '''skos:prefLabel''' for Preferred name.&lt;br /&gt;
* '''skos:altLabel''' for Synonyms or alternative names.&lt;br /&gt;
* '''dc:author''' for Author.&lt;br /&gt;
* '''rdfs:comment''' for Description.&lt;br /&gt;
&lt;br /&gt;
When using named graphs if you want to use this reasoning then you should include the globals graph that contains the subproperty statements, i.e:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX owl:  &amp;lt;http://www.w3.org/2002/07/owl#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?termURI ?prefLabel&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/EHDA&amp;gt;&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/globals&amp;gt; &lt;br /&gt;
WHERE {&lt;br /&gt;
      ?termURI a owl:Class;&lt;br /&gt;
      skos:prefLabel ?prefLabel .&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise the subproperty statements that take part in the query processor will not be taken into account.&lt;br /&gt;
&lt;br /&gt;
=== Partial or Incomplete Results ===&lt;br /&gt;
&lt;br /&gt;
=== Hackathon Slides ===&lt;br /&gt;
&lt;br /&gt;
Last hackathon slides for the SPARQL session can be found here : http://www.stanford.edu/~manuelso/ncbohack/index.html&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11972</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11972"/>
		<updated>2012-03-27T20:19:28Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Preferred Label, Synonyms and other common predicates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NCBO is releasing a free and open SPARQL endpoint to query ontologies hosted in the BioPortal ontology repository. This SPARQL service, that is in BETA status, is stable for testing by our community of users. If you encounter any errors or unexpected behavior please report it to us [mailto:support@bioontology.org support@bioontology.org]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://sparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://sparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Each ontology is asserted into a single graph. The graph is named with an acronym based URI. For example, the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/HP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the Human Phenotype Ontology ontology. And the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/SNOMEDCT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the SNOMEDCT ontology.&lt;br /&gt;
&lt;br /&gt;
The following query would return all version IDs with the graph IDs where ontologies are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX meta: &amp;lt;http://bioportal.bioontology.org/metadata/def/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
SELECT DISTINCT ?version ?graph&lt;br /&gt;
WHERE { &lt;br /&gt;
    ?version meta:hasDataGraph ?graph&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
There are problematic cases of label definition. In order to provide a consistent mechanism to query by label across different ontologies we generate labels for the following cases. These label are attached to terms using the predicate '''http://bioportal.bioontology.org/metadata/def/prefLabel''' (bp:prefLabel)&lt;br /&gt;
&lt;br /&gt;
* '''Missing labels''': for every owl:Class that is missing a label we generate a label based on the latest fragment of URI. &lt;br /&gt;
&lt;br /&gt;
* '''Terms that use rdfs:label as preferred name''': BioPortal uses skos:prefLabel and skos:altLabel for preferred names and synonyms respectively. Both skos:prefLabel and skos:altLabel are subproperties of rdfs:label in the SKOS ontology. If someone uses rdfs:label to record preferred names, in the SKOS context, he would be saying that that name can be a preferred name or a synonym. To avoid this confusion we  generate bp:prefLabel(s) for every rdfs:label used as preferred name.&lt;br /&gt;
&lt;br /&gt;
=== Preferred Label, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
When ontologies are submitted to BioPortal the user can select which predicates that ontology uses for:&lt;br /&gt;
&lt;br /&gt;
* Preferred Names.&lt;br /&gt;
* Synonyms or alternative names.&lt;br /&gt;
* Author.&lt;br /&gt;
* Description.&lt;br /&gt;
&lt;br /&gt;
The BioPortal SPARQL endpoint supports rdfs:subPropertyOf reasoning to enable cross querying across all these configurable predicates. In the triple store, the following URI:&lt;br /&gt;
&lt;br /&gt;
 http://bioportal.bioontology.org/ontologies/globals&lt;br /&gt;
&lt;br /&gt;
is used as identifier for the named graph that contains all the sub-property of statements that have been configured by users when uploading their ontologies. The root properties to be used   to trigger the reasoning are the following:&lt;br /&gt;
&lt;br /&gt;
* '''skos:prefLabel''' for Preferred name.&lt;br /&gt;
* '''skos:altLabel''' for Synonyms or alternative names.&lt;br /&gt;
* '''dc:author''' for Author.&lt;br /&gt;
* '''rdfs:comment''' for Description.&lt;br /&gt;
&lt;br /&gt;
When using named graphs if you want to use this reasoning then you should include the globals graph that contains the subproperty statements, i.e:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX owl:  &amp;lt;http://www.w3.org/2002/07/owl#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?termURI ?prefLabel&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/EHDA&amp;gt;&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/globals&amp;gt; &lt;br /&gt;
WHERE {&lt;br /&gt;
      ?termURI a owl:Class;&lt;br /&gt;
      skos:prefLabel ?prefLabel .&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise the subproperty statements that take part in the query processor will not be taken into account.&lt;br /&gt;
&lt;br /&gt;
=== Hackathon Slides ===&lt;br /&gt;
&lt;br /&gt;
Last hackathon slides for the SPARQL session can be found here : http://www.stanford.edu/~manuelso/ncbohack/index.html&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_Release_Notes_And_Usage_Policy&amp;diff=11934</id>
		<title>SPARQL Release Notes And Usage Policy</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_Release_Notes_And_Usage_Policy&amp;diff=11934"/>
		<updated>2012-03-21T03:23:29Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beta Release ===&lt;br /&gt;
&lt;br /&gt;
This SPARQL endpoint is currently in alpha release. This alpha release is provided with the following limitations: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Item&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Description&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Status/Actions&lt;br /&gt;
|-&lt;br /&gt;
| Ontology Versions&lt;br /&gt;
| At the moment only the last version of each ontology is kept in our RDF database. &lt;br /&gt;
| In the future the data store will keep metadata with links to download old ontology versions. The data store will only contain data for the latest ontology version.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;del&amp;gt;RRF/UMLS&amp;lt;/del&amp;gt;&lt;br /&gt;
| &amp;lt;del&amp;gt;Not all the predicates from RRF/UMLS have been transformed into RDF triples. Labels, descriptions and hierarchies are the only predicates that we support for the moment. &amp;lt;/del&amp;gt;&lt;br /&gt;
| Implemented all the BioPortal UMLS ontologies are available in the triple store. The code to generate this ontologies is available at [https://github.com/ncbo/umls2rdf ncbo/umls2rdf]&lt;br /&gt;
|-&lt;br /&gt;
|Ontology Mappings&lt;br /&gt;
|The ontology mapping data from BioPortal has not been migrated into the SPARQL database yet. &lt;br /&gt;
|Planned to be implemented in 2012 Q1.&lt;br /&gt;
|-&lt;br /&gt;
|Synchronization with BioPortal&lt;br /&gt;
|The offline process that syncs BioPortal with our RDF database runs once a day (6pm PST). Therefore, new ontology uploads in BioPortal will be reflected in the SPARQL endpoint after that time. &lt;br /&gt;
|This policy will remain in-place unless other policy is required.&lt;br /&gt;
|-&lt;br /&gt;
|Hierarchy Closure&lt;br /&gt;
|The SPARQL queries in the alpha release do not handle any semantics. The queries only work on the asserted triples and therefore, closures need to be resolve by recursively issuing SPARQL queries. &lt;br /&gt;
| Planned to be implemented in 2012 Q1.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;del&amp;gt;Synonyms&amp;lt;/del&amp;gt;&lt;br /&gt;
|&amp;lt;del&amp;gt;At the moment, synonyms are not handled in SPARQL queries. We are on the mechanism we will use to implement this feature, probably equivalent property reasoning.&amp;lt;/del&amp;gt;&lt;br /&gt;
| Implemented, see [[SPARQL BioPortal#Preferred Label, Synonyms and other common predicates|Preferred Names, Synonyms and other common predicates]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #FFEFC6; padding: 6px; border: 1px solid #FFD700; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
We understand that some of these points are limitations to the service as is provided today. The NCBO team is addressing these issues and working on the future SPARQL production infrastructure. Meanwhile, we offer this alpha release. Even though, the service is in alpha we plan to keep high up-time ratios. Please, contact us to provide feedback. Our support mailing list is: [mailto:support@bioontology.org support@bioontology.org]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal SPARQL Usage Policy ===&lt;br /&gt;
&lt;br /&gt;
The NCBO team is designing and implementing the infraestructure that will ensure a fair usage of our SPARQL service.&lt;br /&gt;
&lt;br /&gt;
While in ALPHA, the only queries that the service does not accept are the ones with triple patterns containing unbound subject, predicate and object; and unbound graph. For instance, the following are not acceptable queries: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { ?s ?p ?o }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { GRAPH ?g { ?s ?p ?o } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The two queries above are not accepted by the service because they try to retrieve all the triples in the store. Their use is considered problematic in open SPARQL endpoints. On the other side, the following query will be accepted:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { ?s rdf:type ?o }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any combination of triple patterns that enclose any of the two first cases these will be rejected and not processed. For example: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { &lt;br /&gt;
    GRAPH ?g { &lt;br /&gt;
        ?s ?p ?o . &lt;br /&gt;
        ?s rdf:type ?c &lt;br /&gt;
    } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Queries with variables in subjects, predicates and objects but with bound graphs will be accepted. The following query retrieves all triples from a single graph (ontology): &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX bio: &amp;lt;http://bioportal.bioontology.org/ontologies/&amp;gt;&lt;br /&gt;
SELECT * WHERE {&lt;br /&gt;
    GRAPH bio:1422 {&lt;br /&gt;
        ?s ?p ?o .&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX bio: &amp;lt;http://bioportal.bioontology.org/ontologies/&amp;gt;&lt;br /&gt;
SELECT * WHERE { &lt;br /&gt;
    GRAPH bio:1422 { &lt;br /&gt;
        ?s ?p ?o . &lt;br /&gt;
        ?s rdf:type ?c &lt;br /&gt;
    } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We accept two exceptions of queries that use unbound G, S, P and O. Our backend storage is optimized to resolve them and they are considered important SPARQL exploratory queries. These are the queries that list all distinct graphs or properties in the database: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?g WHERE {  GRAPH ?g { ?s ?p ?o } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?p WHERE { ?s ?p ?o }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have any questions about the usage policy or if you have any problems using our SPARQL Service then email our [[mailto:support@bioontology.org support email list]] or visit our [[http://alphasparql.bioontology.org/examples examples]] and code sections.&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11933</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11933"/>
		<updated>2012-03-21T02:18:34Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NCBO is releasing a free and open SPARQL endpoint to query ontologies hosted in the BioPortal ontology repository. This SPARQL service, that is in BETA status, is stable for testing by our community of users. If you encounter any errors or unexpected behavior please report it to us [mailto:support@bioontology.org support@bioontology.org]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://sparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://sparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Each ontology is asserted into a single graph. The graph is named with an acronym based URI. For example, the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/HP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the Human Phenotype Ontology ontology. And the graph:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/SNOMEDCT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
contains the SNOMEDCT ontology.&lt;br /&gt;
&lt;br /&gt;
The following query would return all version IDs with the graph IDs where ontologies are located:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX meta: &amp;lt;http://bioportal.bioontology.org/metadata/def/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
SELECT DISTINCT ?version ?graph&lt;br /&gt;
WHERE { &lt;br /&gt;
    ?version meta:hasDataGraph ?graph&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
There are problematic cases of label definition. In order to provide a consistent mechanism to query by label across different ontologies we generate labels for the following cases. These label are attached to terms using the predicate '''http://bioportal.bioontology.org/metadata/def/prefLabel''' (bp:prefLabel)&lt;br /&gt;
&lt;br /&gt;
* '''Missing labels''': for every owl:Class that is missing a label we generate a label based on the latest fragment of URI. &lt;br /&gt;
&lt;br /&gt;
* '''Terms that use rdfs:label as preferred name''': BioPortal uses skos:prefLabel and skos:altLabel for preferred names and synonyms respectively. Both skos:prefLabel and skos:altLabel are subproperties of rdfs:label in the SKOS ontology. If someone uses rdfs:label to record preferred names, in the SKOS context, he would be saying that that name can be a preferred name or a synonym. To avoid this confusion we  generate bp:prefLabel(s) for every rdfs:label used as preferred name.&lt;br /&gt;
&lt;br /&gt;
=== Preferred Label, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
When ontologies are submitted to BioPortal the user can select which predicates that ontology uses for:&lt;br /&gt;
&lt;br /&gt;
* Preferred Names.&lt;br /&gt;
* Synonyms or alternative names.&lt;br /&gt;
* Author.&lt;br /&gt;
* Description.&lt;br /&gt;
&lt;br /&gt;
The BioPortal SPARQL endpoint supports rdfs:subPropertyOf reasoning to enable cross querying across all these configurable predicates. In the triple store, the following URI:&lt;br /&gt;
&lt;br /&gt;
 http://bioportal.bioontology.org/ontologies/globals&lt;br /&gt;
&lt;br /&gt;
is used as identifier for the named graph that contains all the sub-property of statements that have been configured by users when uploading their ontologies. The root properties to be used   to trigger the reasoning are the following:&lt;br /&gt;
&lt;br /&gt;
* '''skos:prefLabel''' for Preferred name.&lt;br /&gt;
* '''skos:altLabel''' for Synonyms or alternative names.&lt;br /&gt;
* '''dc:author''' for Author.&lt;br /&gt;
* '''rdfs:comment''' for Description.&lt;br /&gt;
&lt;br /&gt;
When using named graphs if you want to use this reasoning then you should include the globals graph that contains the subproperty statements, i.e:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX owl:  &amp;lt;http://www.w3.org/2002/07/owl#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?termURI ?prefLabel&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/EHDA&amp;gt;&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/globals&amp;gt; &lt;br /&gt;
WHERE {&lt;br /&gt;
      ?termURI a owl:Class;&lt;br /&gt;
      skos:prefLabel ?prefLabel .&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise the subproperty statements that take part in the query processor will not be taken into account.&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=BioPortal_REST_services&amp;diff=11798</id>
		<title>BioPortal REST services</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=BioPortal_REST_services&amp;diff=11798"/>
		<updated>2012-03-03T02:10:55Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* RDF Download Service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The list below documents the NCBO Web services. For questions on how to use these Web services or to request features, contact [mailto:support@bioontology.org Support]. &lt;br /&gt;
&lt;br /&gt;
The '''prefix''' for all production service URLs in the table below is http://rest.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;font color='red'&amp;gt;Note&amp;lt;/font&amp;gt;''': All NCBO Web services will be required to contain the parameter &amp;quot;apikey=YourApiKey&amp;quot; starting June 2011. The parameter will be added to all Web service calls for the April 27, 2011 release but will not be required until June 2011. To obtain an API key, [http://bioportal.bioontology.org/login login to BioPortal] and go to &amp;quot;Account&amp;quot; where your API key will be displayed. The addition of the API key replaces the use of the email parameter. &lt;br /&gt;
&lt;br /&gt;
* '''''Note for Application Developers''''': Application developers will also need to include the apikey parameter on all NCBO Web service calls. This allows us to track usage of our system at the level of an application. To obtain an API key, login to BioPortal and go to &amp;quot;Account&amp;quot; where your API key will be displayed. The addition of the API key replaces the use of the email parameter.&lt;br /&gt;
&lt;br /&gt;
* '''Note''': ''Signatures for BioPortal services have changed in BioPortal 2.0.4 release on January 13th, 2009. This page has the new service URLs. &lt;br /&gt;
&lt;br /&gt;
= Overview - Using NCBO Technology in Your Project =&lt;br /&gt;
See [http://www.bioontology.org/wiki/index.php/Using_NCBO_Technology_In_Your_Project Using NCBO Technology in your Project] for general information and widgets available for use.&lt;br /&gt;
&lt;br /&gt;
= Sample Code Cookbook = &lt;br /&gt;
*Examples of using the Web services in sample code can be found [http://www.bioontology.org/wiki/index.php/Sample_Code_Cookbook here]&lt;br /&gt;
**Sample code is located within the [https://bmir-gforge.stanford.edu/gf/project/client_examples/scmsvn/?action=browse&amp;amp;path=%2Ftrunk%2F NCBO Gforge repository] and can be checked out via anonymous SVN access&lt;br /&gt;
&lt;br /&gt;
*Code examples for the [http://bioontology.org/wiki/index.php/Annotator_Web_service Annotator] and [http://www.bioontology.org/wiki/index.php/Resource_Index Resource Index] are located on the pages documenting these Web services&lt;br /&gt;
&lt;br /&gt;
*Code examples for the ontology web services, developed in FlexViz, is available at: https://bmir-gforge.stanford.edu/gf/project/flexviz/frs/?action=index. To see the code in action, visit the [http://keg.cs.uvic.ca/ncbo/restservicestest/TestUI.html Test User Interface] that has been set-up using the FlexViz code.&lt;br /&gt;
&lt;br /&gt;
= BioPortal Announce Mailing List =&lt;br /&gt;
To receive notices of new BioPortal releases, changes to web services, or planned downtime subscribe to the [https://mailman.stanford.edu/mailman/listinfo/bioportal-announce bioportal-annouce] list.&lt;br /&gt;
&lt;br /&gt;
= Service Output Formats =&lt;br /&gt;
''JSON output scheduled for mid-December release''&lt;br /&gt;
Currently, BioPortal services allow for two output formats: &amp;lt;strong&amp;gt;XML&amp;lt;/strong&amp;gt; (default) and &amp;lt;strong&amp;gt;JSON&amp;lt;/strong&amp;gt; (currently works only for ontology and concept services).&lt;br /&gt;
&lt;br /&gt;
* '''XML''': no special parameters required. This is the default REST services output format. It assumes the media type as &amp;lt;strong&amp;gt;application/xml&amp;lt;/strong&amp;gt;.&lt;br /&gt;
* '''JSON''': requires an &amp;quot;Accept&amp;quot; request-header with the following value: &amp;lt;strong&amp;gt;application/json&amp;lt;/strong&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
If both &amp;lt;strong&amp;gt;application/xml&amp;lt;/strong&amp;gt; and &amp;lt;strong&amp;gt;application/json&amp;lt;/strong&amp;gt; media types are present in the Accept header, the output format will be determined based on the higher &amp;quot;q&amp;quot; parameter indicating a relative quality factor of each media type. For more info, please refer to: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' JSON output is currently not available for Annotator Service.&lt;br /&gt;
&lt;br /&gt;
= Services to access ontologies and ontology versions =&lt;br /&gt;
&lt;br /&gt;
== List all the latest version of ontologies ==&lt;br /&gt;
&lt;br /&gt;
* '''Signature''': ./ontologies?apikey={YourAPIKey}&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/ontologies?apikey=YourAPIKey&lt;br /&gt;
** NOTE: The element &amp;lt;id&amp;gt; contains the value for the ontology version identifier.&lt;br /&gt;
&lt;br /&gt;
==  Get a specific ontology based on a version id ==&lt;br /&gt;
* '''Signature''':  ./ontologies/{ontology version id}?apikey={YourAPIKey}&lt;br /&gt;
* '''Example''':  http://rest.bioontology.org/bioportal/ontologies/39002?apikey=YourAPIKey&lt;br /&gt;
&lt;br /&gt;
==  Download an ontology file ==&lt;br /&gt;
* '''Description''': Download the file (.obo, .owl) corresponding to the given ontology version id.&lt;br /&gt;
* '''Signature''':   ./ontologies/download/{ontology version id}?email={email_address}&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/ontologies/download/39002?apikey=YourAPIKey&lt;br /&gt;
&lt;br /&gt;
==  Download the latest ontology file ==&lt;br /&gt;
* '''Description''': Download the file (.obo, .owl) corresponding to the given virtual ontology id.&lt;br /&gt;
* '''Signature''':   ./virtual/download/{ontology id}?email={email_address}&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/virtual/download/1090?apikey=YourAPIKey&lt;br /&gt;
&lt;br /&gt;
==  Get all versions of an ontology from a virtual ontology id ==&lt;br /&gt;
* '''Signature''': ./ontologies/versions/{ontology id}?apikey={YourAPIKey}&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/ontologies/versions/1104?apikey=YourAPIKey&lt;br /&gt;
&lt;br /&gt;
==  Get latest version of an ontology id ==&lt;br /&gt;
* '''Signature''': ./virtual/ontology/{ontology_id}?apikey={YourAPIKey}&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/virtual/ontology/1104?apikey=YourAPIKey&lt;br /&gt;
&lt;br /&gt;
==  List all ontology categories ==&lt;br /&gt;
'''NOTE''': ''To be released in BioPortal version 2.2'' &lt;br /&gt;
* '''Signature''':   ./categories?email={email_address}&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/categories&lt;br /&gt;
&lt;br /&gt;
==  List all ontology groups ==&lt;br /&gt;
'''NOTE''': ''To be released in BioPortal version 2.2''&lt;br /&gt;
* '''Signature''':   ./groups?email={email_address}&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/groups&lt;br /&gt;
&lt;br /&gt;
= Services to access ontology views and ontology view versions =&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Download a specific ontology view based on the ontology view version id ==&lt;br /&gt;
* '''Signature''': ./ontologies/download/{ontology version id}?apikey={YourAPIKey}&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/ontologies/download/43072?apikey=YourAPIKey&lt;br /&gt;
&lt;br /&gt;
== Get all view versions of a virtual view == &lt;br /&gt;
&lt;br /&gt;
* '''Signature''': ./ontologies/versions/{ontology id}?apikey={YourAPIKey}&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/ontologies/versions/2070?apikey=YourAPIKey&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, there are a few Web services that are distinct for views. &lt;br /&gt;
&lt;br /&gt;
== List all the latest version of views == &lt;br /&gt;
* '''Signature''': ./views?apikey={YourAPIKey}&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/views?apikey=YourAPIKey&lt;br /&gt;
&lt;br /&gt;
== Get all versions of views from a virtual ontology id == &lt;br /&gt;
* '''Description''': Returns all versions of views defined on the latest version a virtual ontology, grouped by virtual view ids.&lt;br /&gt;
* '''Signature''': ./views/versions/{ontology id}?apikey={YourAPIKey}&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/views/versions/1104?apikey=YourAPIKey&lt;br /&gt;
&lt;br /&gt;
= Search services =&lt;br /&gt;
&lt;br /&gt;
==  Search BioPortal ==&lt;br /&gt;
* '''Signature''': ./search/?query={uri-encoded query}[&amp;amp;{optional args}]&amp;amp;apikey={YourAPIKey}&lt;br /&gt;
* '''Deprecated Signature''': ./search/{query}[?{optional args}]&amp;amp;apikey={YourAPIKey}&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/search/?query=Gene&amp;amp;apikey=YourAPIKey&lt;br /&gt;
* '''Optional arguments:''' &lt;br /&gt;
** ontologyids=&amp;lt;ontologyid&amp;gt;,&amp;lt;ontologyid&amp;gt;… - limits the search to specific ontologies (default: all ontologies)&lt;br /&gt;
** isexactmatch=[1/0] – match the entire concept name (default: 0)&lt;br /&gt;
** includeproperties=[1/0] – include attributes in the search (default: 0)&lt;br /&gt;
** pagesize=&amp;lt;pagesize&amp;gt; - the number of results to display in a single request (default: all)&lt;br /&gt;
** pagenum=&amp;lt;pagenum&amp;gt; - the page number to display (pages are calculated using &amp;lt;total results&amp;gt;/&amp;lt;pagesize&amp;gt;) (default: 1)&lt;br /&gt;
** maxnumhits=&amp;lt;maxnumhits&amp;gt; - the maximum number of top matching results to return (default: 1000)&lt;br /&gt;
** subtreerootconceptid=&amp;lt;uri-encoded conceptid&amp;gt; - narrow the search to concepts residing in a sub-tree, where the &amp;quot;subtreerootconceptid&amp;quot; is the root node. This feature requires a SINGLE &amp;lt;ontologyid&amp;gt; passed in using the &amp;quot;onotlogyids&amp;quot; parameter.&lt;br /&gt;
** objecttypes=&amp;lt;class,individual,property&amp;gt; - limits the results returned to these types, multitple types can be included in the parameter, e.g. class,individual.&lt;br /&gt;
** 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.&lt;br /&gt;
* '''Description:''' &lt;br /&gt;
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 &amp;quot;lun&amp;quot; would return all concepts whose name contains a word that begins with &amp;quot;lun&amp;quot; (i.e. &amp;quot;Lung&amp;quot;, &amp;quot;Murine Lunate Bone&amp;quot;, &amp;quot;Base of the Lung&amp;quot;, etc).&lt;br /&gt;
&lt;br /&gt;
In phrase searches (multiple words), the wildcard character is appended to the end of each word. For example, searching for &amp;quot;cut mela&amp;quot; would return all concepts whose name contains a word starting with &amp;quot;cut&amp;quot;, followed by any word that begins with &amp;quot;mela&amp;quot; (i.e. &amp;quot;Cutaneous Melanoma&amp;quot;, &amp;quot;Metastatic Non-Cutaneous Melanoma&amp;quot;, &amp;quot;Cutaneous Melanoma Clinical TNM Finding&amp;quot;, etc).&lt;br /&gt;
&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/search/software/?ontologyids=1104&amp;amp;isexactmatch=1&amp;amp;apikey=YourAPIKey&lt;br /&gt;
* '''Sample Output''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;success&amp;gt;&lt;br /&gt;
	&amp;lt;accessedResource&amp;gt;&lt;br /&gt;
		/bioportal/search/cutaneous%20mela&lt;br /&gt;
	&amp;lt;/accessedResource&amp;gt;&lt;br /&gt;
	&amp;lt;accessDate&amp;gt;2009-05-07 16:17:46.182 PDT&amp;lt;/accessDate&amp;gt;&lt;br /&gt;
	&amp;lt;data&amp;gt;&lt;br /&gt;
		&amp;lt;page&amp;gt;&lt;br /&gt;
			&amp;lt;pageNum&amp;gt;1&amp;lt;/pageNum&amp;gt;&lt;br /&gt;
			&amp;lt;numPages&amp;gt;1&amp;lt;/numPages&amp;gt;&lt;br /&gt;
			&amp;lt;pageSize&amp;gt;3&amp;lt;/pageSize&amp;gt;&lt;br /&gt;
			&amp;lt;numResultsPage&amp;gt;3&amp;lt;/numResultsPage&amp;gt;&lt;br /&gt;
			&amp;lt;numResultsTotal&amp;gt;3&amp;lt;/numResultsTotal&amp;gt;&lt;br /&gt;
			&amp;lt;contents&lt;br /&gt;
				class=&amp;quot;org.ncbo.stanford.bean.search.SearchResultListBean&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;searchResultList&amp;gt;&lt;br /&gt;
					&amp;lt;searchBean&amp;gt;&lt;br /&gt;
						&amp;lt;ontologyVersionId&amp;gt;39715&amp;lt;/ontologyVersionId&amp;gt;&lt;br /&gt;
						&amp;lt;ontologyId&amp;gt;1136&amp;lt;/ontologyId&amp;gt;&lt;br /&gt;
						&amp;lt;ontologyDisplayLabel&amp;gt;&lt;br /&gt;
							Experimental Factor Ontology&lt;br /&gt;
						&amp;lt;/ontologyDisplayLabel&amp;gt;&lt;br /&gt;
						&amp;lt;recordType&amp;gt;&lt;br /&gt;
							RECORD_TYPE_PREFERRED_NAME&lt;br /&gt;
						&amp;lt;/recordType&amp;gt;&lt;br /&gt;
						&amp;lt;conceptId&amp;gt;&lt;br /&gt;
							http://www.ebi.ac.uk/efo/EFO_0000389&lt;br /&gt;
						&amp;lt;/conceptId&amp;gt;&lt;br /&gt;
						&amp;lt;conceptIdShort&amp;gt;EFO_0000389&amp;lt;/conceptIdShort&amp;gt;&lt;br /&gt;
						&amp;lt;preferredName&amp;gt;&lt;br /&gt;
							cutaneous melanoma&lt;br /&gt;
						&amp;lt;/preferredName&amp;gt;&lt;br /&gt;
						&amp;lt;contents&amp;gt;cutaneous melanoma&amp;lt;/contents&amp;gt;&lt;br /&gt;
					&amp;lt;/searchBean&amp;gt;&lt;br /&gt;
					&amp;lt;searchBean&amp;gt;&lt;br /&gt;
						&amp;lt;ontologyVersionId&amp;gt;39478&amp;lt;/ontologyVersionId&amp;gt;&lt;br /&gt;
						&amp;lt;ontologyId&amp;gt;1032&amp;lt;/ontologyId&amp;gt;&lt;br /&gt;
						&amp;lt;ontologyDisplayLabel&amp;gt;&lt;br /&gt;
							NCI Thesaurus&lt;br /&gt;
						&amp;lt;/ontologyDisplayLabel&amp;gt;&lt;br /&gt;
						&amp;lt;recordType&amp;gt;&lt;br /&gt;
							RECORD_TYPE_PREFERRED_NAME&lt;br /&gt;
						&amp;lt;/recordType&amp;gt;&lt;br /&gt;
						&amp;lt;conceptId&amp;gt;&lt;br /&gt;
							http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#Cutaneous_Melanoma&lt;br /&gt;
						&amp;lt;/conceptId&amp;gt;&lt;br /&gt;
						&amp;lt;conceptIdShort&amp;gt;&lt;br /&gt;
							Cutaneous_Melanoma&lt;br /&gt;
						&amp;lt;/conceptIdShort&amp;gt;&lt;br /&gt;
						&amp;lt;preferredName&amp;gt;&lt;br /&gt;
							Cutaneous Melanoma&lt;br /&gt;
						&amp;lt;/preferredName&amp;gt;&lt;br /&gt;
						&amp;lt;contents&amp;gt;Cutaneous Melanoma&amp;lt;/contents&amp;gt;&lt;br /&gt;
					&amp;lt;/searchBean&amp;gt;&lt;br /&gt;
					&amp;lt;searchBean&amp;gt;&lt;br /&gt;
						&amp;lt;ontologyVersionId&amp;gt;39833&amp;lt;/ontologyVersionId&amp;gt;&lt;br /&gt;
						&amp;lt;ontologyId&amp;gt;1009&amp;lt;/ontologyId&amp;gt;&lt;br /&gt;
						&amp;lt;ontologyDisplayLabel&amp;gt;&lt;br /&gt;
							Human disease&lt;br /&gt;
						&amp;lt;/ontologyDisplayLabel&amp;gt;&lt;br /&gt;
						&amp;lt;recordType&amp;gt;&lt;br /&gt;
							RECORD_TYPE_PREFERRED_NAME&lt;br /&gt;
						&amp;lt;/recordType&amp;gt;&lt;br /&gt;
						&amp;lt;conceptId&amp;gt;DOID:2418&amp;lt;/conceptId&amp;gt;&lt;br /&gt;
						&amp;lt;conceptIdShort&amp;gt;DOID:2418&amp;lt;/conceptIdShort&amp;gt;&lt;br /&gt;
						&amp;lt;preferredName&amp;gt;&lt;br /&gt;
							Cutaneous Melanocytic Neoplasm&lt;br /&gt;
						&amp;lt;/preferredName&amp;gt;&lt;br /&gt;
						&amp;lt;contents&amp;gt;&lt;br /&gt;
							Cutaneous Melanocytic Neoplasm&lt;br /&gt;
						&amp;lt;/contents&amp;gt;&lt;br /&gt;
					&amp;lt;/searchBean&amp;gt;&lt;br /&gt;
				&amp;lt;/searchResultList&amp;gt;&lt;br /&gt;
				&amp;lt;ontologyHitList&amp;gt;&lt;br /&gt;
					&amp;lt;ontologyHitBean&amp;gt;&lt;br /&gt;
						&amp;lt;ontologyVersionId&amp;gt;39715&amp;lt;/ontologyVersionId&amp;gt;&lt;br /&gt;
						&amp;lt;ontologyId&amp;gt;1136&amp;lt;/ontologyId&amp;gt;&lt;br /&gt;
						&amp;lt;ontologyDisplayLabel&amp;gt;&lt;br /&gt;
							Experimental Factor Ontology&lt;br /&gt;
						&amp;lt;/ontologyDisplayLabel&amp;gt;&lt;br /&gt;
						&amp;lt;numHits&amp;gt;1&amp;lt;/numHits&amp;gt;&lt;br /&gt;
					&amp;lt;/ontologyHitBean&amp;gt;&lt;br /&gt;
					&amp;lt;ontologyHitBean&amp;gt;&lt;br /&gt;
						&amp;lt;ontologyVersionId&amp;gt;39833&amp;lt;/ontologyVersionId&amp;gt;&lt;br /&gt;
						&amp;lt;ontologyId&amp;gt;1009&amp;lt;/ontologyId&amp;gt;&lt;br /&gt;
						&amp;lt;ontologyDisplayLabel&amp;gt;&lt;br /&gt;
							Human disease&lt;br /&gt;
						&amp;lt;/ontologyDisplayLabel&amp;gt;&lt;br /&gt;
						&amp;lt;numHits&amp;gt;1&amp;lt;/numHits&amp;gt;&lt;br /&gt;
					&amp;lt;/ontologyHitBean&amp;gt;&lt;br /&gt;
					&amp;lt;ontologyHitBean&amp;gt;&lt;br /&gt;
						&amp;lt;ontologyVersionId&amp;gt;39478&amp;lt;/ontologyVersionId&amp;gt;&lt;br /&gt;
						&amp;lt;ontologyId&amp;gt;1032&amp;lt;/ontologyId&amp;gt;&lt;br /&gt;
						&amp;lt;ontologyDisplayLabel&amp;gt;&lt;br /&gt;
							NCI Thesaurus&lt;br /&gt;
						&amp;lt;/ontologyDisplayLabel&amp;gt;&lt;br /&gt;
						&amp;lt;numHits&amp;gt;1&amp;lt;/numHits&amp;gt;&lt;br /&gt;
					&amp;lt;/ontologyHitBean&amp;gt;&lt;br /&gt;
				&amp;lt;/ontologyHitList&amp;gt;&lt;br /&gt;
			&amp;lt;/contents&amp;gt;&lt;br /&gt;
		&amp;lt;/page&amp;gt;&lt;br /&gt;
	&amp;lt;/data&amp;gt;&lt;br /&gt;
&amp;lt;/success&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Term services =&lt;br /&gt;
(formerly referred to as Concept services)&lt;br /&gt;
&lt;br /&gt;
==  Get term, including its properties, subclasses, and superclasses ==&lt;br /&gt;
* '''Signature''': ./concepts/{ontology version id}/{concept id}?apikey={YourAPIKey}&lt;br /&gt;
* '''Alt Signature''': ./concepts/{ontology version id}?conceptid={uri-encoded concept id}&amp;amp;apikey={YourAPIKey}&lt;br /&gt;
* '''Virtual Signature''' (always uses most recent version of the ontology): ./virtual/ontology/{ontology virtual id}/{concept id}&lt;br /&gt;
* '''Alt Virtual Signature''' (always uses most recent version of the ontology): ./virtual/ontology/{ontology virtual id}?conceptid={uri-encoded concept id}&lt;br /&gt;
**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. &lt;br /&gt;
* '''Optional arguments:''' &lt;br /&gt;
** light=[1/0] - when set to 1, returns the &amp;quot;light&amp;quot; version of XML with only a basic info for the concept and its immediate children&lt;br /&gt;
** norelations=[1/0] - when set to 1, returns only the requested term information (id, label, fullid, type, synonyms, definitions) without the &amp;quot;relations&amp;quot; map. This is useful when you need to quickly retrieve just the base information about a term.&lt;br /&gt;
** maxnumchildren - an integer that sets threshold on the number of children in the SubClass relation for a term. If a term contains more children than the &amp;quot;maxnumchildren&amp;quot;, the SubClass relation returns an empty list. The ChildCount relation still contains the correct number of children.&lt;br /&gt;
&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/concepts/44103?conceptid=O80-O84.9&amp;amp;apikey=YourAPIKey&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/concepts/44450?conceptid=BRO:Software&amp;amp;apikey=YourAPIKey&lt;br /&gt;
&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/virtual/ontology/1516?conceptid=O80-O84.9&amp;amp;apikey=YourAPIKey&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/virtual/ontology/1104?conceptid=BRO:Software&amp;amp;apikey=YourAPIKey&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Sample Output''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;success&amp;gt;&lt;br /&gt;
  &amp;lt;accessedResource&amp;gt;/bioportal/concepts/44103&amp;lt;/accessedResource&amp;gt;&lt;br /&gt;
  &amp;lt;accessDate&amp;gt;2010-12-08 16:57:43.763 PST&amp;lt;/accessDate&amp;gt;&lt;br /&gt;
  &amp;lt;data&amp;gt;&lt;br /&gt;
    &amp;lt;classBean&amp;gt;&lt;br /&gt;
      &amp;lt;id&amp;gt;O80-O84.9&amp;lt;/id&amp;gt;&lt;br /&gt;
      &amp;lt;fullId&amp;gt;http://purl.bioontology.org/ontology/ICD10/O80-O84.9&amp;lt;/fullId&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;label&amp;gt;Delivery&amp;lt;/label&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;Class&amp;lt;/type&amp;gt;&lt;br /&gt;
      &amp;lt;relations&amp;gt;&lt;br /&gt;
        &amp;lt;entry&amp;gt;&lt;br /&gt;
          &amp;lt;string&amp;gt;SubClass&amp;lt;/string&amp;gt;&lt;br /&gt;
          &amp;lt;list&amp;gt;&lt;br /&gt;
            &amp;lt;classBean&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;id&amp;gt;O84&amp;lt;/id&amp;gt;&lt;br /&gt;
              &amp;lt;fullId&amp;gt;http://purl.bioontology.org/ontology/ICD10/O84&amp;lt;/fullId&amp;gt;&lt;br /&gt;
              &amp;lt;label&amp;gt;Multiple delivery&amp;lt;/label&amp;gt;&lt;br /&gt;
              &amp;lt;type&amp;gt;Class&amp;lt;/type&amp;gt;&lt;br /&gt;
              &amp;lt;relations&amp;gt;&lt;br /&gt;
                &amp;lt;entry&amp;gt;&lt;br /&gt;
                  &amp;lt;string&amp;gt;ChildCount&amp;lt;/string&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                  &amp;lt;int&amp;gt;5&amp;lt;/int&amp;gt;&lt;br /&gt;
                &amp;lt;/entry&amp;gt;&lt;br /&gt;
              &amp;lt;/relations&amp;gt;&lt;br /&gt;
            &amp;lt;/classBean&amp;gt;&lt;br /&gt;
            &amp;lt;classBean&amp;gt;&lt;br /&gt;
              &amp;lt;id&amp;gt;O83&amp;lt;/id&amp;gt;&lt;br /&gt;
              &amp;lt;fullId&amp;gt;http://purl.bioontology.org/ontology/ICD10/O83&amp;lt;/fullId&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;label&amp;gt;Other assisted single delivery&amp;lt;/label&amp;gt;&lt;br /&gt;
              &amp;lt;type&amp;gt;Class&amp;lt;/type&amp;gt;&lt;br /&gt;
              &amp;lt;relations&amp;gt;&lt;br /&gt;
                &amp;lt;entry&amp;gt;&lt;br /&gt;
                  &amp;lt;string&amp;gt;ChildCount&amp;lt;/string&amp;gt;&lt;br /&gt;
                  &amp;lt;int&amp;gt;7&amp;lt;/int&amp;gt;&lt;br /&gt;
                &amp;lt;/entry&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;/relations&amp;gt;&lt;br /&gt;
            &amp;lt;/classBean&amp;gt;&lt;br /&gt;
            &amp;lt;classBean&amp;gt;&lt;br /&gt;
              &amp;lt;id&amp;gt;O82&amp;lt;/id&amp;gt;&lt;br /&gt;
              &amp;lt;fullId&amp;gt;http://purl.bioontology.org/ontology/ICD10/O82&amp;lt;/fullId&amp;gt;&lt;br /&gt;
              &amp;lt;label&amp;gt;Single delivery by caesarean section&amp;lt;/label&amp;gt;&lt;br /&gt;
              &amp;lt;type&amp;gt;Class&amp;lt;/type&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;relations&amp;gt;&lt;br /&gt;
                &amp;lt;entry&amp;gt;&lt;br /&gt;
                  &amp;lt;string&amp;gt;ChildCount&amp;lt;/string&amp;gt;&lt;br /&gt;
                  &amp;lt;int&amp;gt;5&amp;lt;/int&amp;gt;&lt;br /&gt;
                &amp;lt;/entry&amp;gt;&lt;br /&gt;
              &amp;lt;/relations&amp;gt;&lt;br /&gt;
            &amp;lt;/classBean&amp;gt;&lt;br /&gt;
            &amp;lt;classBean&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;id&amp;gt;O81&amp;lt;/id&amp;gt;&lt;br /&gt;
              &amp;lt;fullId&amp;gt;http://purl.bioontology.org/ontology/ICD10/O81&amp;lt;/fullId&amp;gt;&lt;br /&gt;
              &amp;lt;label&amp;gt;Single delivery by forceps and vacuum extractor&amp;lt;/label&amp;gt;&lt;br /&gt;
              &amp;lt;type&amp;gt;Class&amp;lt;/type&amp;gt;&lt;br /&gt;
              &amp;lt;relations&amp;gt;&lt;br /&gt;
                &amp;lt;entry&amp;gt;&lt;br /&gt;
                  &amp;lt;string&amp;gt;ChildCount&amp;lt;/string&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                  &amp;lt;int&amp;gt;6&amp;lt;/int&amp;gt;&lt;br /&gt;
                &amp;lt;/entry&amp;gt;&lt;br /&gt;
              &amp;lt;/relations&amp;gt;&lt;br /&gt;
            &amp;lt;/classBean&amp;gt;&lt;br /&gt;
            &amp;lt;classBean&amp;gt;&lt;br /&gt;
              &amp;lt;id&amp;gt;O80&amp;lt;/id&amp;gt;&lt;br /&gt;
              &amp;lt;fullId&amp;gt;http://purl.bioontology.org/ontology/ICD10/O80&amp;lt;/fullId&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;label&amp;gt;Single spontaneous delivery&amp;lt;/label&amp;gt;&lt;br /&gt;
              &amp;lt;type&amp;gt;Class&amp;lt;/type&amp;gt;&lt;br /&gt;
              &amp;lt;relations&amp;gt;&lt;br /&gt;
                &amp;lt;entry&amp;gt;&lt;br /&gt;
                  &amp;lt;string&amp;gt;ChildCount&amp;lt;/string&amp;gt;&lt;br /&gt;
                  &amp;lt;int&amp;gt;4&amp;lt;/int&amp;gt;&lt;br /&gt;
                &amp;lt;/entry&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;/relations&amp;gt;&lt;br /&gt;
            &amp;lt;/classBean&amp;gt;&lt;br /&gt;
          &amp;lt;/list&amp;gt;&lt;br /&gt;
        &amp;lt;/entry&amp;gt;&lt;br /&gt;
        &amp;lt;entry&amp;gt;&lt;br /&gt;
          &amp;lt;string&amp;gt;PAR&amp;lt;/string&amp;gt;&lt;br /&gt;
          &amp;lt;list&amp;gt;&lt;br /&gt;
            &amp;lt;classBean&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;id&amp;gt;O00-O99.9&amp;lt;/id&amp;gt;&lt;br /&gt;
              &amp;lt;fullId&amp;gt;http://purl.bioontology.org/ontology/ICD10/O00-O99.9&amp;lt;/fullId&amp;gt;&lt;br /&gt;
              &amp;lt;label&amp;gt;Pregnancy, childbirth and the puerperium&amp;lt;/label&amp;gt;&lt;br /&gt;
              &amp;lt;type&amp;gt;Class&amp;lt;/type&amp;gt;&lt;br /&gt;
              &amp;lt;relations&amp;gt;&lt;br /&gt;
                &amp;lt;entry&amp;gt;&lt;br /&gt;
                  &amp;lt;string&amp;gt;ChildCount&amp;lt;/string&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                  &amp;lt;int&amp;gt;8&amp;lt;/int&amp;gt;&lt;br /&gt;
                &amp;lt;/entry&amp;gt;&lt;br /&gt;
              &amp;lt;/relations&amp;gt;&lt;br /&gt;
            &amp;lt;/classBean&amp;gt;&lt;br /&gt;
          &amp;lt;/list&amp;gt;&lt;br /&gt;
        &amp;lt;/entry&amp;gt;&lt;br /&gt;
        &amp;lt;entry&amp;gt;&lt;br /&gt;
          &amp;lt;string&amp;gt;ChildCount&amp;lt;/string&amp;gt;&lt;br /&gt;
&lt;br /&gt;
          &amp;lt;int&amp;gt;5&amp;lt;/int&amp;gt;&lt;br /&gt;
        &amp;lt;/entry&amp;gt;&lt;br /&gt;
        &amp;lt;entry&amp;gt;&lt;br /&gt;
          &amp;lt;string&amp;gt;Semantic_Type&amp;lt;/string&amp;gt;&lt;br /&gt;
          &amp;lt;list&amp;gt;&lt;br /&gt;
            &amp;lt;string&amp;gt;Therapeutic or Preventive Procedure&amp;lt;/string&amp;gt;&lt;br /&gt;
          &amp;lt;/list&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;/entry&amp;gt;&lt;br /&gt;
        &amp;lt;entry&amp;gt;&lt;br /&gt;
          &amp;lt;string&amp;gt;TUI&amp;lt;/string&amp;gt;&lt;br /&gt;
          &amp;lt;list&amp;gt;&lt;br /&gt;
            &amp;lt;string&amp;gt;T061&amp;lt;/string&amp;gt;&lt;br /&gt;
          &amp;lt;/list&amp;gt;&lt;br /&gt;
        &amp;lt;/entry&amp;gt;&lt;br /&gt;
        &amp;lt;entry&amp;gt;&lt;br /&gt;
&lt;br /&gt;
          &amp;lt;string&amp;gt;UMLS_CUI&amp;lt;/string&amp;gt;&lt;br /&gt;
          &amp;lt;list&amp;gt;&lt;br /&gt;
            &amp;lt;string&amp;gt;C0011209&amp;lt;/string&amp;gt;&lt;br /&gt;
          &amp;lt;/list&amp;gt;&lt;br /&gt;
        &amp;lt;/entry&amp;gt;&lt;br /&gt;
        &amp;lt;entry&amp;gt;&lt;br /&gt;
          &amp;lt;string&amp;gt;SuperClass&amp;lt;/string&amp;gt;&lt;br /&gt;
&lt;br /&gt;
          &amp;lt;list&amp;gt;&lt;br /&gt;
            &amp;lt;classBean&amp;gt;&lt;br /&gt;
              &amp;lt;id&amp;gt;O00-O99.9&amp;lt;/id&amp;gt;&lt;br /&gt;
              &amp;lt;fullId&amp;gt;http://purl.bioontology.org/ontology/ICD10/O00-O99.9&amp;lt;/fullId&amp;gt;&lt;br /&gt;
              &amp;lt;label&amp;gt;Pregnancy, childbirth and the puerperium&amp;lt;/label&amp;gt;&lt;br /&gt;
              &amp;lt;type&amp;gt;Class&amp;lt;/type&amp;gt;&lt;br /&gt;
              &amp;lt;relations&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;entry&amp;gt;&lt;br /&gt;
                  &amp;lt;string&amp;gt;ChildCount&amp;lt;/string&amp;gt;&lt;br /&gt;
                  &amp;lt;int&amp;gt;8&amp;lt;/int&amp;gt;&lt;br /&gt;
                &amp;lt;/entry&amp;gt;&lt;br /&gt;
              &amp;lt;/relations&amp;gt;&lt;br /&gt;
            &amp;lt;/classBean&amp;gt;&lt;br /&gt;
          &amp;lt;/list&amp;gt;&lt;br /&gt;
        &amp;lt;/entry&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/relations&amp;gt;&lt;br /&gt;
    &amp;lt;/classBean&amp;gt;&lt;br /&gt;
  &amp;lt;/data&amp;gt;&lt;br /&gt;
&amp;lt;/success&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Get all root terms for an ontology version id ==&lt;br /&gt;
* '''Signature''': ./concepts/{ontology version id}/root?apikey={YourAPIKey}&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/concepts/39002/root?apikey=YourAPIKey&lt;br /&gt;
&lt;br /&gt;
== Get a path between a term and the root ==&lt;br /&gt;
&lt;br /&gt;
* '''Signature''': ./path/{ontology_version_id}/?source={concept1_id}&amp;amp;target=root&amp;amp;apikey=YourAPIKey&lt;br /&gt;
&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/path/42838/?source=Transitional_Epithelium&amp;amp;target=root&amp;amp;apikey=YourAPIKey&lt;br /&gt;
* Note: If there is no path between the specified term and the set of nodes designated as &amp;quot;roots&amp;quot; then this method just returns the root node. Note that &amp;quot;root&amp;quot; here is defined as a set of classes which have been designated as &amp;quot;roots&amp;quot;. It is not defined as a node which as no parents.&lt;br /&gt;
* Note: This service only returns a '''single path''' between a term and the root. There is a [[NCBO_REST_services#Get_paths_to_root.2Fleaves_from_a_concept_in_the_latest_version_of_a_given_ontology|service that returns '''all paths''' from a term to the root]] for most ontologies. Alternatively, all paths can be calculated by recursively calling [[NCBO_REST_services#Get_term.2C_including_its_properties.2C_subclasses.2C_and_superclasses|the term service]].&lt;br /&gt;
&lt;br /&gt;
==  Get all terms using the specific ontology version id ==&lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
* '''Signature''': ./concepts/{ontology version id}/all?pagesize={pagesize}&amp;amp;pagenum={pagenum}&amp;amp;apikey={YourAPIKey}&lt;br /&gt;
* '''Examples''': &lt;br /&gt;
** http://rest.bioontology.org/bioportal/concepts/40644/all?pagesize=50&amp;amp;pagenum=1&amp;amp;apikey=YourAPIKey&lt;br /&gt;
** http://rest.bioontology.org/bioportal/concepts/42431/all?pagesize=50&amp;amp;pagenum=500&amp;amp;apikey=YourAPIKey&lt;br /&gt;
* '''Arguments:''' &lt;br /&gt;
** '''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)&lt;br /&gt;
** '''pagenum:''' An integer indicating which page of results to return.&lt;br /&gt;
** '''maxnumchildren:''' An integer that sets threshold on the number of children in the SubClass relation for a term. If a term contains more children than the &amp;quot;maxnumchildren&amp;quot;, the SubClass relation returns an empty list. The ChildCount relation still contains the correct number of children.&lt;br /&gt;
&lt;br /&gt;
==  Get all terms using the virtual ontology id ==&lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
* '''Signature''': ./virtual/ontology/{ontology id}/all?pagesize={pagesize}&amp;amp;pagenum={pagenum}&amp;amp;apikey={YourAPIKey}&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/virtual/ontology/1104/all?&amp;amp;pagesize=50&amp;amp;pagenum=1&amp;amp;apikey=YourAPIKey&lt;br /&gt;
* '''Arguments:''' &lt;br /&gt;
** '''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)&lt;br /&gt;
** '''pagenum:''' An integer indicating which page of results to return.&lt;br /&gt;
** '''maxnumchildren:''' An integer that sets threshold on the number of children in the SubClass relation for a term. If a term contains more children than the &amp;quot;maxnumchildren&amp;quot;, the SubClass relation returns an empty list. The ChildCount relation still contains the correct number of children.&lt;br /&gt;
&lt;br /&gt;
== Changes to the Get all terms service ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
* '''Examples''': A preview of the new service can be seen on the NCBO staging site:&lt;br /&gt;
** http://rest.bioontology.org/bioportal/concepts/40644/all?pagesize=50&amp;amp;pagenum=1&lt;br /&gt;
** http://rest.bioontology.org/bioportal/concepts/42431/all?pagesize=50&amp;amp;pagenum=500&lt;br /&gt;
&lt;br /&gt;
* '''Signature'''&lt;br /&gt;
** '''New parameters:''' Previously, offset and limit were used to control pagination of results. These parameters have been replaced as follows:&lt;br /&gt;
*** '''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)&lt;br /&gt;
*** '''pagenum:''' An integer indicating which page of results to return.&lt;br /&gt;
*** '''maxnumchildren:''' An integer that sets threshold on the number of children in the SubClass relation for a term. If a term contains more children than the &amp;quot;maxnumchildren&amp;quot;, the SubClass relation returns an empty list. The ChildCount relation still contains the correct number of children.&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
&lt;br /&gt;
= View Extraction Service = &lt;br /&gt;
* This web service can be used to extract a subtree from an ontology. See [http://www.bioontology.org/wiki/index.php/View_Extraction View Extraction] for usage details. &lt;br /&gt;
&lt;br /&gt;
= Property Services =&lt;br /&gt;
&lt;br /&gt;
== Get all available ontology properties using the specific ontology version id ==&lt;br /&gt;
* '''Signature''': ./ontologies/properties/{ontlogyVersionId}?apikey={YourAPIKey} &lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/ontologies/properties/38801?apikey=YourAPIKey&lt;br /&gt;
* '''Description''': returns all properties for a given ontology version.&lt;br /&gt;
* '''Sample Output:'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;success&amp;gt;&lt;br /&gt;
	&amp;lt;accessedResource&amp;gt;/bioportal/ontologies/properties/38801&lt;br /&gt;
	&amp;lt;/accessedResource&amp;gt;&lt;br /&gt;
	&amp;lt;accessDate&amp;gt;2011-09-22 15:47:46.309 PDT&amp;lt;/accessDate&amp;gt;&lt;br /&gt;
	&amp;lt;data&amp;gt;&lt;br /&gt;
		&amp;lt;list&amp;gt;&lt;br /&gt;
			&amp;lt;propertyBean&amp;gt;&lt;br /&gt;
				&amp;lt;id&amp;gt;has_value&amp;lt;/id&amp;gt;&lt;br /&gt;
				&amp;lt;fullId&amp;gt;http://mged.sourceforge.net/ontologies/MGEDOntology.owl#has_value&lt;br /&gt;
				&amp;lt;/fullId&amp;gt;&lt;br /&gt;
				&amp;lt;label&amp;gt;has_value&amp;lt;/label&amp;gt;&lt;br /&gt;
				&amp;lt;type&amp;gt;property&amp;lt;/type&amp;gt;&lt;br /&gt;
				&amp;lt;isObsolete&amp;gt;0&amp;lt;/isObsolete&amp;gt;&lt;br /&gt;
				&amp;lt;relations /&amp;gt;&lt;br /&gt;
			&amp;lt;/propertyBean&amp;gt;&lt;br /&gt;
			&amp;lt;propertyBean&amp;gt;&lt;br /&gt;
				&amp;lt;id&amp;gt;has_description&amp;lt;/id&amp;gt;&lt;br /&gt;
				&amp;lt;fullId&amp;gt;http://mged.sourceforge.net/ontologies/MGEDOntology.owl#has_description&lt;br /&gt;
				&amp;lt;/fullId&amp;gt;&lt;br /&gt;
				&amp;lt;label&amp;gt;has_description&amp;lt;/label&amp;gt;&lt;br /&gt;
				&amp;lt;type&amp;gt;property&amp;lt;/type&amp;gt;&lt;br /&gt;
				&amp;lt;isObsolete&amp;gt;0&amp;lt;/isObsolete&amp;gt;&lt;br /&gt;
				&amp;lt;relations /&amp;gt;&lt;br /&gt;
			&amp;lt;/propertyBean&amp;gt;&lt;br /&gt;
			&amp;lt;propertyBean&amp;gt;&lt;br /&gt;
				&amp;lt;id&amp;gt;has_pages&amp;lt;/id&amp;gt;&lt;br /&gt;
				&amp;lt;fullId&amp;gt;http://mged.sourceforge.net/ontologies/MGEDOntology.owl#has_pages&lt;br /&gt;
				&amp;lt;/fullId&amp;gt;&lt;br /&gt;
				&amp;lt;label&amp;gt;has_pages&amp;lt;/label&amp;gt;&lt;br /&gt;
				&amp;lt;type&amp;gt;property&amp;lt;/type&amp;gt;&lt;br /&gt;
				&amp;lt;isObsolete&amp;gt;0&amp;lt;/isObsolete&amp;gt;&lt;br /&gt;
				&amp;lt;relations&amp;gt;&lt;br /&gt;
					&amp;lt;entry&amp;gt;&lt;br /&gt;
						&amp;lt;string&amp;gt;Domain&amp;lt;/string&amp;gt;&lt;br /&gt;
						&amp;lt;classBean&amp;gt;&lt;br /&gt;
							&amp;lt;id&amp;gt;BibliographicReference&amp;lt;/id&amp;gt;&lt;br /&gt;
							&amp;lt;fullId&amp;gt;http://mged.sourceforge.net/ontologies/MGEDOntology.owl#BibliographicReference&lt;br /&gt;
							&amp;lt;/fullId&amp;gt;&lt;br /&gt;
							&amp;lt;label&amp;gt;BibliographicReference&amp;lt;/label&amp;gt;&lt;br /&gt;
							&amp;lt;type&amp;gt;class&amp;lt;/type&amp;gt;&lt;br /&gt;
							&amp;lt;isObsolete&amp;gt;0&amp;lt;/isObsolete&amp;gt;&lt;br /&gt;
							&amp;lt;relations /&amp;gt;&lt;br /&gt;
						&amp;lt;/classBean&amp;gt;&lt;br /&gt;
					&amp;lt;/entry&amp;gt;&lt;br /&gt;
				&amp;lt;/relations&amp;gt;&lt;br /&gt;
			&amp;lt;/propertyBean&amp;gt;&lt;br /&gt;
		&amp;lt;/list&amp;gt;&lt;br /&gt;
	&amp;lt;/data&amp;gt;&lt;br /&gt;
&amp;lt;/success&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=  Instance Services =&lt;br /&gt;
&lt;br /&gt;
== Get all direct instances for a given term ==&lt;br /&gt;
* '''Signature''': ./concepts/instances/{ontlogyVersionId}[?conceptid={uri-encoded concept id}[&amp;amp;{optional args}]&amp;amp;apikey={YourAPIKey} &lt;br /&gt;
* '''Optional arguments:''' &lt;br /&gt;
** pagesize=&amp;lt;pagesize&amp;gt; - the number of results to display in a single request (default: all)&lt;br /&gt;
** pagenum=&amp;lt;pagenum&amp;gt; - the page number to display (pages are calculated using &amp;lt;total results&amp;gt;/&amp;lt;pagesize&amp;gt;) (default: 1)&lt;br /&gt;
&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/concepts/instances/38801?conceptid=SubstrateType&amp;amp;pagesize=10&amp;amp;pagenum=1&amp;amp;apikey=YourAPIKey&lt;br /&gt;
* '''Description''': returns all direct instances for a given term.&lt;br /&gt;
* '''Sample Output:'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;success&amp;gt;&lt;br /&gt;
	&amp;lt;accessedResource&amp;gt;/bioportal/concepts/instances/38801&lt;br /&gt;
	&amp;lt;/accessedResource&amp;gt;&lt;br /&gt;
	&amp;lt;accessDate&amp;gt;20100408 18:17:21.226 PDT&amp;lt;/accessDate&amp;gt;&lt;br /&gt;
	&amp;lt;data&amp;gt;&lt;br /&gt;
		&amp;lt;page&amp;gt;&lt;br /&gt;
			&amp;lt;pageNum&amp;gt;1&amp;lt;/pageNum&amp;gt;&lt;br /&gt;
			&amp;lt;numPages&amp;gt;5&amp;lt;/numPages&amp;gt;&lt;br /&gt;
			&amp;lt;pageSize&amp;gt;1&amp;lt;/pageSize&amp;gt;&lt;br /&gt;
			&amp;lt;numResultsPage&amp;gt;1&amp;lt;/numResultsPage&amp;gt;&lt;br /&gt;
			&amp;lt;numResultsTotal&amp;gt;5&amp;lt;/numResultsTotal&amp;gt;&lt;br /&gt;
			&amp;lt;contents class=&amp;quot;org.ncbo.stanford.bean.concept.InstanceBeanResultListBean&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;list&amp;gt;&lt;br /&gt;
					&amp;lt;instanceBean&amp;gt;&lt;br /&gt;
						&amp;lt;id&amp;gt;unknown_substrate_type&amp;lt;/id&amp;gt;&lt;br /&gt;
						&amp;lt;fullId&amp;gt;&lt;br /&gt;
							http://mged.sourceforge.net/ontologies/MGEDOntology.owl#unknown_substrate_type&lt;br /&gt;
						&amp;lt;/fullId&amp;gt;&lt;br /&gt;
						&amp;lt;label&amp;gt;unknown_substrate_type&amp;lt;/label&amp;gt;&lt;br /&gt;
						&amp;lt;relations&amp;gt;&lt;br /&gt;
							&amp;lt;entry&amp;gt;&lt;br /&gt;
								&amp;lt;propertyBean&amp;gt;&lt;br /&gt;
									&amp;lt;id&amp;gt;rdf:type&amp;lt;/id&amp;gt;&lt;br /&gt;
									&amp;lt;fullId&amp;gt;http://www.w3.org/1999/02/22rdfsyntaxns#type&lt;br /&gt;
									&amp;lt;/fullId&amp;gt;&lt;br /&gt;
									&amp;lt;label&amp;gt;rdf:type&amp;lt;/label&amp;gt;&lt;br /&gt;
									&amp;lt;relations /&amp;gt;&lt;br /&gt;
								&amp;lt;/propertyBean&amp;gt;&lt;br /&gt;
								&amp;lt;list&amp;gt;&lt;br /&gt;
									&amp;lt;instanceBean&amp;gt;&lt;br /&gt;
										&amp;lt;id&amp;gt;SubstrateType&amp;lt;/id&amp;gt;&lt;br /&gt;
										&amp;lt;fullId&amp;gt;&lt;br /&gt;
											http://mged.sourceforge.net/ontologies/MGEDOntology.owl#SubstrateType&lt;br /&gt;
										&amp;lt;/fullId&amp;gt;&lt;br /&gt;
										&amp;lt;label&amp;gt;SubstrateType&amp;lt;/label&amp;gt;&lt;br /&gt;
										&amp;lt;relations /&amp;gt;&lt;br /&gt;
										&amp;lt;instanceType&amp;gt;&lt;br /&gt;
											&amp;lt;list&amp;gt;&lt;br /&gt;
												&amp;lt;classBean&amp;gt;&lt;br /&gt;
													&amp;lt;id&amp;gt;owl:Class&amp;lt;/id&amp;gt;&lt;br /&gt;
													&amp;lt;fullId&amp;gt;http://www.w3.org/2002/07/owl#Class&lt;br /&gt;
													&amp;lt;/fullId&amp;gt;&lt;br /&gt;
													&amp;lt;label&amp;gt;owl:Class&amp;lt;/label&amp;gt;&lt;br /&gt;
													&amp;lt;type&amp;gt;Class&amp;lt;/type&amp;gt;&lt;br /&gt;
													&amp;lt;relations /&amp;gt;&lt;br /&gt;
												&amp;lt;/classBean&amp;gt;&lt;br /&gt;
											&amp;lt;/list&amp;gt;&lt;br /&gt;
										&amp;lt;/instanceType&amp;gt;&lt;br /&gt;
									&amp;lt;/instanceBean&amp;gt;&lt;br /&gt;
								&amp;lt;/list&amp;gt;&lt;br /&gt;
							&amp;lt;/entry&amp;gt;&lt;br /&gt;
							&amp;lt;entry&amp;gt;&lt;br /&gt;
								&amp;lt;propertyBean&amp;gt;&lt;br /&gt;
									&amp;lt;id&amp;gt;:NAME&amp;lt;/id&amp;gt;&lt;br /&gt;
									&amp;lt;fullId&amp;gt;:NAME&amp;lt;/fullId&amp;gt;&lt;br /&gt;
									&amp;lt;label&amp;gt;:NAME&amp;lt;/label&amp;gt;&lt;br /&gt;
									&amp;lt;relations /&amp;gt;&lt;br /&gt;
								&amp;lt;/propertyBean&amp;gt;&lt;br /&gt;
								&amp;lt;list&amp;gt;&lt;br /&gt;
									&amp;lt;string&amp;gt;&lt;br /&gt;
										http://mged.sourceforge.net/ontologies/MGEDOntology.owl#unknown_substrate_type&lt;br /&gt;
									&amp;lt;/string&amp;gt;&lt;br /&gt;
								&amp;lt;/list&amp;gt;&lt;br /&gt;
							&amp;lt;/entry&amp;gt;&lt;br /&gt;
							&amp;lt;entry&amp;gt;&lt;br /&gt;
								&amp;lt;propertyBean&amp;gt;&lt;br /&gt;
									&amp;lt;id&amp;gt;unique_identifier&amp;lt;/id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
									&amp;lt;fullId&amp;gt;&lt;br /&gt;
										http://mged.sourceforge.net/ontologies/MGEDOntology.owl#unique_identifier&lt;br /&gt;
									&amp;lt;/fullId&amp;gt;&lt;br /&gt;
									&amp;lt;label&amp;gt;unique_identifier&amp;lt;/label&amp;gt;&lt;br /&gt;
									&amp;lt;relations /&amp;gt;&lt;br /&gt;
								&amp;lt;/propertyBean&amp;gt;&lt;br /&gt;
								&amp;lt;list&amp;gt;&lt;br /&gt;
									&amp;lt;string&amp;gt;MO_484&amp;lt;/string&amp;gt;&lt;br /&gt;
								&amp;lt;/list&amp;gt;&lt;br /&gt;
							&amp;lt;/entry&amp;gt;&lt;br /&gt;
							&amp;lt;entry&amp;gt;&lt;br /&gt;
								&amp;lt;propertyBean&amp;gt;&lt;br /&gt;
									&amp;lt;id&amp;gt;:DIRECTTYPE&amp;lt;/id&amp;gt;&lt;br /&gt;
									&amp;lt;fullId&amp;gt;:DIRECTTYPE&amp;lt;/fullId&amp;gt;&lt;br /&gt;
									&amp;lt;label&amp;gt;:DIRECTTYPE&amp;lt;/label&amp;gt;&lt;br /&gt;
									&amp;lt;relations /&amp;gt;&lt;br /&gt;
								&amp;lt;/propertyBean&amp;gt;&lt;br /&gt;
								&amp;lt;list&amp;gt;&lt;br /&gt;
									&amp;lt;instanceBean&amp;gt;&lt;br /&gt;
										&amp;lt;id&amp;gt;SubstrateType&amp;lt;/id&amp;gt;&lt;br /&gt;
										&amp;lt;fullId&amp;gt;&lt;br /&gt;
											http://mged.sourceforge.net/ontologies/MGEDOntology.owl#SubstrateType&lt;br /&gt;
										&amp;lt;/fullId&amp;gt;&lt;br /&gt;
										&amp;lt;label&amp;gt;SubstrateType&amp;lt;/label&amp;gt;&lt;br /&gt;
										&amp;lt;relations /&amp;gt;&lt;br /&gt;
										&amp;lt;instanceType&amp;gt;&lt;br /&gt;
											&amp;lt;list&amp;gt;&lt;br /&gt;
												&amp;lt;classBean&amp;gt;&lt;br /&gt;
													&amp;lt;id&amp;gt;owl:Class&amp;lt;/id&amp;gt;&lt;br /&gt;
													&amp;lt;fullId&amp;gt;http://www.w3.org/2002/07/owl#Class&lt;br /&gt;
													&amp;lt;/fullId&amp;gt;&lt;br /&gt;
													&amp;lt;label&amp;gt;owl:Class&amp;lt;/label&amp;gt;&lt;br /&gt;
													&amp;lt;type&amp;gt;Class&amp;lt;/type&amp;gt;&lt;br /&gt;
													&amp;lt;relations /&amp;gt;&lt;br /&gt;
												&amp;lt;/classBean&amp;gt;&lt;br /&gt;
											&amp;lt;/list&amp;gt;&lt;br /&gt;
										&amp;lt;/instanceType&amp;gt;&lt;br /&gt;
									&amp;lt;/instanceBean&amp;gt;&lt;br /&gt;
								&amp;lt;/list&amp;gt;&lt;br /&gt;
							&amp;lt;/entry&amp;gt;&lt;br /&gt;
							&amp;lt;entry&amp;gt;&lt;br /&gt;
								&amp;lt;propertyBean&amp;gt;&lt;br /&gt;
									&amp;lt;id&amp;gt;rdfs:comment&amp;lt;/id&amp;gt;&lt;br /&gt;
									&amp;lt;fullId&amp;gt;http://www.w3.org/2000/01/rdfschema#comment&lt;br /&gt;
									&amp;lt;/fullId&amp;gt;&lt;br /&gt;
									&amp;lt;label&amp;gt;rdfs:comment&amp;lt;/label&amp;gt;&lt;br /&gt;
									&amp;lt;relations /&amp;gt;&lt;br /&gt;
								&amp;lt;/propertyBean&amp;gt;&lt;br /&gt;
&lt;br /&gt;
								&amp;lt;list&amp;gt;&lt;br /&gt;
									&amp;lt;string&amp;gt;SubstrateType of unknown type.&amp;lt;/string&amp;gt;&lt;br /&gt;
								&amp;lt;/list&amp;gt;&lt;br /&gt;
							&amp;lt;/entry&amp;gt;&lt;br /&gt;
						&amp;lt;/relations&amp;gt;&lt;br /&gt;
						&amp;lt;instanceType&amp;gt;&lt;br /&gt;
							&amp;lt;list&amp;gt;&lt;br /&gt;
								&amp;lt;classBean&amp;gt;&lt;br /&gt;
									&amp;lt;id&amp;gt;SubstrateType&amp;lt;/id&amp;gt;&lt;br /&gt;
									&amp;lt;fullId&amp;gt;&lt;br /&gt;
										http://mged.sourceforge.net/ontologies/MGEDOntology.owl#SubstrateType&lt;br /&gt;
									&amp;lt;/fullId&amp;gt;&lt;br /&gt;
									&amp;lt;label&amp;gt;SubstrateType&amp;lt;/label&amp;gt;&lt;br /&gt;
									&amp;lt;type&amp;gt;Class&amp;lt;/type&amp;gt;&lt;br /&gt;
									&amp;lt;relations /&amp;gt;&lt;br /&gt;
								&amp;lt;/classBean&amp;gt;&lt;br /&gt;
							&amp;lt;/list&amp;gt;&lt;br /&gt;
						&amp;lt;/instanceType&amp;gt;&lt;br /&gt;
					&amp;lt;/instanceBean&amp;gt;&lt;br /&gt;
				&amp;lt;/list&amp;gt;&lt;br /&gt;
			&amp;lt;/contents&amp;gt;&lt;br /&gt;
		&amp;lt;/page&amp;gt;&lt;br /&gt;
	&amp;lt;/data&amp;gt;&lt;br /&gt;
&amp;lt;/success&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get an instance and its property/value pairs ==&lt;br /&gt;
* '''Signature''': ./instance/{ontlogyVersionId}[?instanceid={instanceid}&amp;amp;apikey={YourAPIKey}]&lt;br /&gt;
&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/instance/38801?instanceid=glass&amp;amp;apikey=YourAPIKey&lt;br /&gt;
* '''Description''': returns information about an instance and a list of property/value pairs.&lt;br /&gt;
* '''Sample Output:'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;success&amp;gt;&lt;br /&gt;
	&amp;lt;accessedResource&amp;gt;/bioportal/instance/38801&lt;br /&gt;
	&amp;lt;/accessedResource&amp;gt;&lt;br /&gt;
	&amp;lt;accessDate&amp;gt;20100408 18:10:48.760 PDT&amp;lt;/accessDate&amp;gt;&lt;br /&gt;
	&amp;lt;data&amp;gt;&lt;br /&gt;
		&amp;lt;instanceBean&amp;gt;&lt;br /&gt;
			&amp;lt;id&amp;gt;glass&amp;lt;/id&amp;gt;&lt;br /&gt;
			&amp;lt;fullId&amp;gt;&lt;br /&gt;
				http://mged.sourceforge.net/ontologies/MGEDOntology.owl#glass&lt;br /&gt;
			&amp;lt;/fullId&amp;gt;&lt;br /&gt;
			&amp;lt;label&amp;gt;glass&amp;lt;/label&amp;gt;&lt;br /&gt;
			&amp;lt;relations&amp;gt;&lt;br /&gt;
				&amp;lt;entry&amp;gt;&lt;br /&gt;
					&amp;lt;propertyBean&amp;gt;&lt;br /&gt;
						&amp;lt;id&amp;gt;:NAME&amp;lt;/id&amp;gt;&lt;br /&gt;
						&amp;lt;fullId&amp;gt;:NAME&amp;lt;/fullId&amp;gt;&lt;br /&gt;
						&amp;lt;label&amp;gt;:NAME&amp;lt;/label&amp;gt;&lt;br /&gt;
						&amp;lt;relations /&amp;gt;&lt;br /&gt;
					&amp;lt;/propertyBean&amp;gt;&lt;br /&gt;
					&amp;lt;list&amp;gt;&lt;br /&gt;
						&amp;lt;string&amp;gt;&lt;br /&gt;
							http://mged.sourceforge.net/ontologies/MGEDOntology.owl#glass&lt;br /&gt;
						&amp;lt;/string&amp;gt;&lt;br /&gt;
					&amp;lt;/list&amp;gt;&lt;br /&gt;
				&amp;lt;/entry&amp;gt;&lt;br /&gt;
				&amp;lt;entry&amp;gt;&lt;br /&gt;
					&amp;lt;propertyBean&amp;gt;&lt;br /&gt;
						&amp;lt;id&amp;gt;unique_identifier&amp;lt;/id&amp;gt;&lt;br /&gt;
						&amp;lt;fullId&amp;gt;&lt;br /&gt;
							http://mged.sourceforge.net/ontologies/MGEDOntology.owl#unique_identifier&lt;br /&gt;
						&amp;lt;/fullId&amp;gt;&lt;br /&gt;
						&amp;lt;label&amp;gt;unique_identifier&amp;lt;/label&amp;gt;&lt;br /&gt;
						&amp;lt;relations /&amp;gt;&lt;br /&gt;
					&amp;lt;/propertyBean&amp;gt;&lt;br /&gt;
					&amp;lt;list&amp;gt;&lt;br /&gt;
						&amp;lt;string&amp;gt;MO_742&amp;lt;/string&amp;gt;&lt;br /&gt;
					&amp;lt;/list&amp;gt;&lt;br /&gt;
				&amp;lt;/entry&amp;gt;&lt;br /&gt;
				&amp;lt;entry&amp;gt;&lt;br /&gt;
					&amp;lt;propertyBean&amp;gt;&lt;br /&gt;
						&amp;lt;id&amp;gt;rdfs:comment&amp;lt;/id&amp;gt;&lt;br /&gt;
						&amp;lt;fullId&amp;gt;http://www.w3.org/2000/01/rdfschema#comment&lt;br /&gt;
						&amp;lt;/fullId&amp;gt;&lt;br /&gt;
						&amp;lt;label&amp;gt;rdfs:comment&amp;lt;/label&amp;gt;&lt;br /&gt;
						&amp;lt;relations /&amp;gt;&lt;br /&gt;
					&amp;lt;/propertyBean&amp;gt;&lt;br /&gt;
					&amp;lt;list&amp;gt;&lt;br /&gt;
						&amp;lt;string&amp;gt;The array is made on a glass slide.&amp;lt;/string&amp;gt;&lt;br /&gt;
					&amp;lt;/list&amp;gt;&lt;br /&gt;
				&amp;lt;/entry&amp;gt;&lt;br /&gt;
				&amp;lt;entry&amp;gt;&lt;br /&gt;
					&amp;lt;propertyBean&amp;gt;&lt;br /&gt;
						&amp;lt;id&amp;gt;:DIRECTTYPE&amp;lt;/id&amp;gt;&lt;br /&gt;
						&amp;lt;fullId&amp;gt;:DIRECTTYPE&amp;lt;/fullId&amp;gt;&lt;br /&gt;
						&amp;lt;label&amp;gt;:DIRECTTYPE&amp;lt;/label&amp;gt;&lt;br /&gt;
						&amp;lt;relations /&amp;gt;&lt;br /&gt;
					&amp;lt;/propertyBean&amp;gt;&lt;br /&gt;
					&amp;lt;list&amp;gt;&lt;br /&gt;
						&amp;lt;instanceBean&amp;gt;&lt;br /&gt;
							&amp;lt;id&amp;gt;SubstrateType&amp;lt;/id&amp;gt;&lt;br /&gt;
							&amp;lt;fullId&amp;gt;&lt;br /&gt;
								http://mged.sourceforge.net/ontologies/MGEDOntology.owl#SubstrateType&lt;br /&gt;
							&amp;lt;/fullId&amp;gt;&lt;br /&gt;
							&amp;lt;label&amp;gt;SubstrateType&amp;lt;/label&amp;gt;&lt;br /&gt;
							&amp;lt;relations /&amp;gt;&lt;br /&gt;
							&amp;lt;instanceType&amp;gt;&lt;br /&gt;
								&amp;lt;list&amp;gt;&lt;br /&gt;
									&amp;lt;classBean&amp;gt;&lt;br /&gt;
										&amp;lt;id&amp;gt;owl:Class&amp;lt;/id&amp;gt;&lt;br /&gt;
										&amp;lt;fullId&amp;gt;http://www.w3.org/2002/07/owl#Class&lt;br /&gt;
										&amp;lt;/fullId&amp;gt;&lt;br /&gt;
										&amp;lt;label&amp;gt;owl:Class&amp;lt;/label&amp;gt;&lt;br /&gt;
										&amp;lt;type&amp;gt;Class&amp;lt;/type&amp;gt;&lt;br /&gt;
										&amp;lt;relations /&amp;gt;&lt;br /&gt;
									&amp;lt;/classBean&amp;gt;&lt;br /&gt;
								&amp;lt;/list&amp;gt;&lt;br /&gt;
							&amp;lt;/instanceType&amp;gt;&lt;br /&gt;
						&amp;lt;/instanceBean&amp;gt;&lt;br /&gt;
					&amp;lt;/list&amp;gt;&lt;br /&gt;
				&amp;lt;/entry&amp;gt;&lt;br /&gt;
				&amp;lt;entry&amp;gt;&lt;br /&gt;
					&amp;lt;propertyBean&amp;gt;&lt;br /&gt;
						&amp;lt;id&amp;gt;rdf:type&amp;lt;/id&amp;gt;&lt;br /&gt;
						&amp;lt;fullId&amp;gt;http://www.w3.org/1999/02/22rdfsyntaxns#type&lt;br /&gt;
						&amp;lt;/fullId&amp;gt;&lt;br /&gt;
						&amp;lt;label&amp;gt;rdf:type&amp;lt;/label&amp;gt;&lt;br /&gt;
						&amp;lt;relations /&amp;gt;&lt;br /&gt;
					&amp;lt;/propertyBean&amp;gt;&lt;br /&gt;
					&amp;lt;list&amp;gt;&lt;br /&gt;
						&amp;lt;instanceBean&amp;gt;&lt;br /&gt;
							&amp;lt;id&amp;gt;SubstrateType&amp;lt;/id&amp;gt;&lt;br /&gt;
							&amp;lt;fullId&amp;gt;&lt;br /&gt;
								http://mged.sourceforge.net/ontologies/MGEDOntology.owl#SubstrateType&lt;br /&gt;
							&amp;lt;/fullId&amp;gt;&lt;br /&gt;
							&amp;lt;label&amp;gt;SubstrateType&amp;lt;/label&amp;gt;&lt;br /&gt;
							&amp;lt;relations /&amp;gt;&lt;br /&gt;
							&amp;lt;instanceType&amp;gt;&lt;br /&gt;
								&amp;lt;list&amp;gt;&lt;br /&gt;
									&amp;lt;classBean&amp;gt;&lt;br /&gt;
										&amp;lt;id&amp;gt;owl:Class&amp;lt;/id&amp;gt;&lt;br /&gt;
										&amp;lt;fullId&amp;gt;http://www.w3.org/2002/07/owl#Class&lt;br /&gt;
										&amp;lt;/fullId&amp;gt;&lt;br /&gt;
										&amp;lt;label&amp;gt;owl:Class&amp;lt;/label&amp;gt;&lt;br /&gt;
										&amp;lt;type&amp;gt;Class&amp;lt;/type&amp;gt;&lt;br /&gt;
										&amp;lt;relations /&amp;gt;&lt;br /&gt;
									&amp;lt;/classBean&amp;gt;&lt;br /&gt;
								&amp;lt;/list&amp;gt;&lt;br /&gt;
							&amp;lt;/instanceType&amp;gt;&lt;br /&gt;
						&amp;lt;/instanceBean&amp;gt;&lt;br /&gt;
					&amp;lt;/list&amp;gt;&lt;br /&gt;
				&amp;lt;/entry&amp;gt;&lt;br /&gt;
			&amp;lt;/relations&amp;gt;&lt;br /&gt;
			&amp;lt;instanceType&amp;gt;&lt;br /&gt;
				&amp;lt;list&amp;gt;&lt;br /&gt;
					&amp;lt;classBean&amp;gt;&lt;br /&gt;
						&amp;lt;id&amp;gt;SubstrateType&amp;lt;/id&amp;gt;&lt;br /&gt;
						&amp;lt;fullId&amp;gt;&lt;br /&gt;
							http://mged.sourceforge.net/ontologies/MGEDOntology.owl#SubstrateType&lt;br /&gt;
						&amp;lt;/fullId&amp;gt;&lt;br /&gt;
						&amp;lt;label&amp;gt;SubstrateType&amp;lt;/label&amp;gt;&lt;br /&gt;
						&amp;lt;type&amp;gt;Class&amp;lt;/type&amp;gt;&lt;br /&gt;
						&amp;lt;relations /&amp;gt;&lt;br /&gt;
					&amp;lt;/classBean&amp;gt;&lt;br /&gt;
				&amp;lt;/list&amp;gt;&lt;br /&gt;
			&amp;lt;/instanceType&amp;gt;&lt;br /&gt;
		&amp;lt;/instanceBean&amp;gt;&lt;br /&gt;
	&amp;lt;/data&amp;gt;&lt;br /&gt;
&amp;lt;/success&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=  Hierarchy Services =&lt;br /&gt;
&lt;br /&gt;
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.  &lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;font color='red'&amp;gt;NOTE: &amp;lt;/font&amp;gt;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.''' &lt;br /&gt;
&lt;br /&gt;
==  Get paths to root/leaves from a concept in the latest version of a given ontology  ==&lt;br /&gt;
* '''Signature''': ./virtual/[rootpath|leafpath]/{ontologyId}/{conceptId}[?apikey={YourAPIKey}&amp;amp;{optional args}]&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/virtual/rootpath/1032/Melanoma?apikey=YourAPIKey&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/virtual/leafpath/1032/Melanoma?apikey=YourAPIKey&lt;br /&gt;
* '''Optional arguments:''' &lt;br /&gt;
** offset=&amp;lt;integer&amp;gt; – results offset (used for pagination)&lt;br /&gt;
** limit=&amp;lt;integer&amp;gt; – limits the number of results&lt;br /&gt;
** delim=&amp;lt;string&amp;gt; – use a custom delimiter between returned terms. Default is a period (.).&lt;br /&gt;
* '''Description''': The same as the previous services, but takes an ontology id and returns parents from the latest version of that ontology.&lt;br /&gt;
&lt;br /&gt;
==  Get siblings of a given concept in the latest version of a given ontology ==&lt;br /&gt;
* '''Signature''': ./virtual/siblings/{ontlogyId}/{conceptId}?level=&amp;lt;level&amp;gt;&amp;amp;apikey={YourAPIKey}&amp;amp;[&amp;amp;{optional args}]&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/virtual/siblings/1032/Melanoma?level=1&amp;amp;apikey=YourAPIKey&lt;br /&gt;
* '''Required arguments:''' &lt;br /&gt;
** level=&amp;lt;integer&amp;gt; - limits results to a given level in the hierarchy&lt;br /&gt;
* '''Optional arguments:''' &lt;br /&gt;
** offset=&amp;lt;integer&amp;gt; – results offset (used for pagination)&lt;br /&gt;
* '''Description''': The same as the previous service, but takes an ontology id and returns parents from the latest version of that ontology.&lt;br /&gt;
&lt;br /&gt;
= Bio2RDF Dump Service =&lt;br /&gt;
&lt;br /&gt;
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 [http://sourceforge.net/projects/bio2rdf/ Bio2RDF] collection.&lt;br /&gt;
&lt;br /&gt;
* '''Signature''': ./ontology/dump_n3/{ontlogyVersionId}?apikey={YourAPIKey}&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/ontology/dump_n3/40865?apikey=YourAPIKey&lt;br /&gt;
&lt;br /&gt;
= Annotator Service =&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
The Annotator can be tested via a Web interface available through [http://bioportal.bioontology.org/annotate BioPortal]. For more information on using the Annotator Web service, see: http://bioontology.org/wiki/index.php/Annotator_Web_service.&lt;br /&gt;
&lt;br /&gt;
= Ontology Recommender =&lt;br /&gt;
The Ontology Recommender is a Web service that provides information on what ontology is best covered by your text metadata. An in-depth description and links to the Web service documentation and sample clients can be found at: http://www.bioontology.org/wiki/index.php/Ontology_Recommender_Web_service.&lt;br /&gt;
&lt;br /&gt;
= Resource Index Service =&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= RDF Term Service =&lt;br /&gt;
 &lt;br /&gt;
* '''Signature''': ./bioportal/rdf/{ontology version id}/{concept id}?apikey=YourAPIKey&lt;br /&gt;
* '''Alt Signature''': ./bioportal/virtual/rdf/{ontology id}/{concept id}?apikey=YourAPIKey&lt;br /&gt;
* '''Alt Signature''': ./bioportal/virtual/rdf/{ontology id}/{concept id},{concept id},...,{concept id}?apikey=YourAPIKey&lt;br /&gt;
* '''Examples''': &lt;br /&gt;
** http://rest.bioontology.org/bioportal/virtual/rdf/1321/NEMO_0000024?apikey=YourAPIKey&lt;br /&gt;
** http://rest.bioontology.org/bioportal/rdf/42743/NEMO_0000023?apikey=YourAPIKey&lt;br /&gt;
* '''Required arguments:''' &lt;br /&gt;
** ontology version id&lt;br /&gt;
** concept id&lt;br /&gt;
* '''Description''': returns a BioPortal concept as RDF/XML ontology snippet. This is a prototype web service, for updates subscribe to [https://mailman.stanford.edu/mailman/listinfo/bioportal-announce bioportal-announce]. &lt;br /&gt;
** The RDF dump will use URIs that are based on which format the ontology is in:&lt;br /&gt;
*** '''OWL/RDF(S)''': preserve original URIs&lt;br /&gt;
*** '''Protégé &amp;amp; RRF''': &amp;lt;nowiki&amp;gt;http://purl.bioontology.org/ontology/{ACRONYM}/{ID}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*** '''OBO''': &amp;lt;nowiki&amp;gt;http://purl.obolibrary.org/{IDSPACE}_{LOCALID}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* '''Sample Output:'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;rdf:RDF xmlns=&amp;quot;http://purl.bioontology.org/ontology/NEMO#&amp;quot;&lt;br /&gt;
     xml:base=&amp;quot;http://purl.bioontology.org/ontology/NEMO&amp;quot;&lt;br /&gt;
     xmlns:rdfs=&amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&lt;br /&gt;
     xmlns:BPMetadata=&amp;quot;http://purl.bioontology.org/ontology/BPMetadata#&amp;quot;&lt;br /&gt;
     xmlns:owl=&amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&lt;br /&gt;
     xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&lt;br /&gt;
     xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
     xmlns:NEMO=&amp;quot;http://purl.bioontology.org/NEMO/ontology/NEMO.owl#&amp;quot;&lt;br /&gt;
     xmlns:ontology=&amp;quot;http://omv.ontoware.org/2005/05/ontology/&amp;quot;&lt;br /&gt;
     xmlns:skos=&amp;quot;http://www.w3.org/2004/02/skos/core#&amp;quot;&lt;br /&gt;
     xmlns:ontology2=&amp;quot;http://purl.bioontology.org/NEMO/ontology#&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;owl:Ontology rdf:about=&amp;quot;http://purl.bioontology.org/ontology/NEMO&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;ontology:name&amp;gt;Neural ElectroMagnetic Ontologies&amp;lt;/ontology:name&amp;gt;&lt;br /&gt;
        &amp;lt;ontology:acronym&amp;gt;NEMO&amp;lt;/ontology:acronym&amp;gt;&lt;br /&gt;
        &amp;lt;ontology:description&amp;gt;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).&amp;lt;/ontology:description&amp;gt;&lt;br /&gt;
        &amp;lt;BPMetadata:id&amp;gt;45141&amp;lt;/BPMetadata:id&amp;gt;&lt;br /&gt;
        &amp;lt;ontology:hasOntologyLanguage rdf:resource=&amp;quot;http://omv.ontoware.org/2005/05/ontology#owl&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- &lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    //&lt;br /&gt;
    // Annotation properties&lt;br /&gt;
    //&lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;
     --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;owl:AnnotationProperty rdf:about=&amp;quot;http://omv.ontoware.org/2005/05/ontology/name&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;owl:AnnotationProperty rdf:about=&amp;quot;http://purl.bioontology.org/NEMO/ontology#NEMO_synonym&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;rdfs:subPropertyOf rdf:resource=&amp;quot;http://www.w3.org/2004/02/skos/core#altLabel&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/owl:AnnotationProperty&amp;gt;&lt;br /&gt;
    &amp;lt;owl:AnnotationProperty rdf:about=&amp;quot;http://www.w3.org/2004/02/skos/core#prefLabel&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;rdfs:subPropertyOf rdf:resource=&amp;quot;http://www.w3.org/2000/01/rdf-schema#label&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/owl:AnnotationProperty&amp;gt;&lt;br /&gt;
    &amp;lt;owl:AnnotationProperty rdf:about=&amp;quot;http://purl.bioontology.org/NEMO/ontology#NEMO_definition&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;rdfs:subPropertyOf rdf:resource=&amp;quot;http://www.w3.org/2004/02/skos/core#definition&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/owl:AnnotationProperty&amp;gt;&lt;br /&gt;
    &amp;lt;owl:AnnotationProperty rdf:about=&amp;quot;http://www.w3.org/2000/01/rdf-schema#label&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;owl:AnnotationProperty rdf:about=&amp;quot;http://purl.bioontology.org/ontology/BPMetadata#id&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;owl:AnnotationProperty rdf:about=&amp;quot;http://www.w3.org/2004/02/skos/core#broader&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;owl:AnnotationProperty rdf:about=&amp;quot;http://www.w3.org/2000/01/rdf-schema#subClassOf&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;owl:AnnotationProperty rdf:about=&amp;quot;http://purl.bioontology.org/NEMO/ontology#NEMO_pref_label&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;rdfs:subPropertyOf rdf:resource=&amp;quot;http://www.w3.org/2004/02/skos/core#prefLabel&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/owl:AnnotationProperty&amp;gt;&lt;br /&gt;
    &amp;lt;owl:AnnotationProperty rdf:about=&amp;quot;http://omv.ontoware.org/2005/05/ontology/acronym&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;owl:AnnotationProperty rdf:about=&amp;quot;http://www.w3.org/2004/02/skos/core#notation&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;owl:AnnotationProperty rdf:about=&amp;quot;http://omv.ontoware.org/2005/05/ontology/description&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;owl:AnnotationProperty rdf:about=&amp;quot;http://www.w3.org/2004/02/skos/core#definition&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;owl:AnnotationProperty rdf:about=&amp;quot;http://omv.ontoware.org/2005/05/ontology/hasOntologyLanguage&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;owl:AnnotationProperty rdf:about=&amp;quot;http://www.w3.org/2000/01/rdf-schema#subPropertyOf&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;owl:AnnotationProperty rdf:about=&amp;quot;http://www.w3.org/2004/02/skos/core#altLabel&amp;quot;/&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- &lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    //&lt;br /&gt;
    // Classes&lt;br /&gt;
    //&lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;
     --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- http://purl.bioontology.org/NEMO/ontology/NEMO.owl#NEMO_0000010 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;owl:Class rdf:about=&amp;quot;http://purl.bioontology.org/NEMO/ontology/NEMO.owl#NEMO_0000010&amp;quot;/&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- http://purl.bioontology.org/NEMO/ontology/NEMO.owl#NEMO_0000024 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;owl:Class rdf:about=&amp;quot;http://purl.bioontology.org/NEMO/ontology/NEMO.owl#NEMO_0000024&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;rdfs:label&amp;gt;left_posterotemporal_scalp_surface_region&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
        &amp;lt;rdfs:subClassOf rdf:resource=&amp;quot;http://purl.bioontology.org/NEMO/ontology/NEMO.owl#NEMO_0000010&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;skos:prefLabel&amp;gt;left_posterotemporal_scalp_surface_region&amp;lt;/skos:prefLabel&amp;gt;&lt;br /&gt;
        &amp;lt;skos:notation&amp;gt;NEMO_0000024&amp;lt;/skos:notation&amp;gt;&lt;br /&gt;
        &amp;lt;ontology2:NEMO_pref_label&amp;gt;left_posterotemporal_scalp_surface_region&amp;lt;/ontology2:NEMO_pref_label&amp;gt;&lt;br /&gt;
        &amp;lt;skos:broader rdf:resource=&amp;quot;http://purl.bioontology.org/NEMO/ontology/NEMO.owl#NEMO_0000010&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
&amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Generated by the OWL API (version 3.0.0.1451) http://owlapi.sourceforge.net --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= RDF Download Service =&lt;br /&gt;
&lt;br /&gt;
* '''Signature''': ./bioportal/virtual/ontology/rdf/download/{ontology id}?apikey=YourAPIKey&lt;br /&gt;
* '''Examples''': &lt;br /&gt;
** http://rest.bioontology.org/bioportal/virtual/ontology/rdf/download/1537?apikey=YourAPIKey&lt;br /&gt;
''NOTE:'' If using the Web service calls from Firefox, disable the Tabulator Add-on in order to download the files. &lt;br /&gt;
* '''Required arguments:''' &lt;br /&gt;
** ontology version id&lt;br /&gt;
* '''Description''': returns a BioPortal ontology as RDF/XML. This is a prototype web service, for updates subscribe to [https://mailman.stanford.edu/mailman/listinfo/bioportal-announce bioportal-announce]. &lt;br /&gt;
** The RDF dump will use URIs that are based on which format the ontology is in:&lt;br /&gt;
*** '''OWL/RDF(S)''': preserve original URIs&lt;br /&gt;
*** '''Protégé &amp;amp; RRF''': http://purl.bioontology.org/ontology/{abbreviation}/{concept_id}&lt;br /&gt;
*** '''OBO''': http://purl.obolibrary.org/{idspace}_{localid}&lt;br /&gt;
&lt;br /&gt;
= Notes Service =&lt;br /&gt;
* The Notes Web service is described here: http://www.bioontology.org/wiki/index.php/Ontology_Notes.&lt;br /&gt;
&lt;br /&gt;
= Mapping Service = &lt;br /&gt;
* The Mapping Web service is described here: http://www.bioontology.org/wiki/index.php/BioPortal_Mappings_Service.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
= Usage Logging =&lt;br /&gt;
* '''Signature''': ./usage?{args}&lt;br /&gt;
* '''Example''': http://rest.bioontology.org/bioportal/usage?requesturl=ontologies&amp;amp;resourceparameters=13578&amp;amp;email=example@example.org&lt;br /&gt;
* '''Required arguments:''' &lt;br /&gt;
** none specifically, but at least one optional argument is required&lt;br /&gt;
* '''Optional arguments:''' &lt;br /&gt;
** requesturl=&amp;lt;string contained in request url&amp;gt; – limit results to a given string contained in REST service request url. Unique values for the requesturl are: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  /categories&lt;br /&gt;
  /concepts/{ontology version id}/{concept id}&lt;br /&gt;
  /concepts/{children or leafpath or parents or siblings}/{ontology version id}/{concept id}&lt;br /&gt;
  /diffs/{virtual id}&lt;br /&gt;
  /ontologies/{ontology version id} &lt;br /&gt;
  /ontologies/download/{ontology version id}&lt;br /&gt;
  /ontologies/versions/{ontology virtual id}&lt;br /&gt;
  /path/{ontology version id}/{concept id}&lt;br /&gt;
  /search/{search terms}&lt;br /&gt;
  /virtual/{virtual id}&lt;br /&gt;
  /virtual/ontology/{virtual id}/{concept id}&lt;br /&gt;
  /virtual/rootpath/{virtual id}/{concept id}&lt;br /&gt;
  /virtual/siblings/{virtual id}/{concept id}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
** resourceparameters=&amp;lt;string contained in resource parameters&amp;gt; – limit results to a given string contained in resource parameters. For example, in the URL http://rest.bioontology.org/bioportal/search/melanoma, the word &amp;quot;melanoma&amp;quot; is considered a &amp;quot;resource parameter&amp;quot;.&lt;br /&gt;
** startdateaccessed=&amp;lt;date in format mm/dd/yyyy&amp;gt; – limit results to the given starting date (default: no starting date)&lt;br /&gt;
** startdateaccessed=&amp;lt;date in format mm/dd/yyyy&amp;gt; – limit results to the given ending date (default: today's date)&lt;br /&gt;
* '''Description''': returns BioPortal REST services usage data as XML.&lt;br /&gt;
* '''Sample Output:'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;success&amp;gt;&lt;br /&gt;
	&amp;lt;accessedResource&amp;gt;/bioportal/usage&amp;lt;/accessedResource&amp;gt;&lt;br /&gt;
	&amp;lt;accessDate&amp;gt;2009-07-27 14:21:19.728 PDT&amp;lt;/accessDate&amp;gt;&lt;br /&gt;
	&amp;lt;data&amp;gt;&lt;br /&gt;
		&amp;lt;list&amp;gt;&lt;br /&gt;
			&amp;lt;usageLoggingBean&amp;gt;&lt;br /&gt;
				&amp;lt;requestUrl&amp;gt;&lt;br /&gt;
					/search/Certain infectious and parasitic diseases/&lt;br /&gt;
				&amp;lt;/requestUrl&amp;gt;&lt;br /&gt;
				&amp;lt;httpMethod&amp;gt;GET&amp;lt;/httpMethod&amp;gt;&lt;br /&gt;
				&amp;lt;resourceParameters&amp;gt;&lt;br /&gt;
					query=Certain%20infectious%20and%20parasitic%20diseases&lt;br /&gt;
				&amp;lt;/resourceParameters&amp;gt;&lt;br /&gt;
				&amp;lt;requestParameters&amp;gt;&lt;br /&gt;
					pagenum=1&amp;amp;ontologyids=1265&amp;amp;pagesize=20&lt;br /&gt;
				&amp;lt;/requestParameters&amp;gt;&lt;br /&gt;
				&amp;lt;hitCount&amp;gt;1&amp;lt;/hitCount&amp;gt;&lt;br /&gt;
				&amp;lt;dateAccessed class=&amp;quot;sql-timestamp&amp;quot;&amp;gt;&lt;br /&gt;
					2009-07-27 00:00:00.0&lt;br /&gt;
				&amp;lt;/dateAccessed&amp;gt;&lt;br /&gt;
			&amp;lt;/usageLoggingBean&amp;gt;&lt;br /&gt;
			&amp;lt;usageLoggingBean&amp;gt;&lt;br /&gt;
				&amp;lt;requestUrl&amp;gt;/search/Hypertension/&amp;lt;/requestUrl&amp;gt;&lt;br /&gt;
				&amp;lt;httpMethod&amp;gt;GET&amp;lt;/httpMethod&amp;gt;&lt;br /&gt;
				&amp;lt;resourceParameters&amp;gt;&lt;br /&gt;
					query=Hypertension&lt;br /&gt;
				&amp;lt;/resourceParameters&amp;gt;&lt;br /&gt;
				&amp;lt;requestParameters&amp;gt;&lt;br /&gt;
					pagenum=1&amp;amp;ontologyids=1265&amp;amp;pagesize=20&lt;br /&gt;
				&amp;lt;/requestParameters&amp;gt;&lt;br /&gt;
				&amp;lt;hitCount&amp;gt;2&amp;lt;/hitCount&amp;gt;&lt;br /&gt;
				&amp;lt;dateAccessed class=&amp;quot;sql-timestamp&amp;quot;&amp;gt;&lt;br /&gt;
					2009-07-27 00:00:00.0&lt;br /&gt;
				&amp;lt;/dateAccessed&amp;gt;&lt;br /&gt;
			&amp;lt;/usageLoggingBean&amp;gt;&lt;br /&gt;
			&amp;lt;usageLoggingBean&amp;gt;&lt;br /&gt;
				&amp;lt;requestUrl&amp;gt;/search/Melanoma/&amp;lt;/requestUrl&amp;gt;&lt;br /&gt;
				&amp;lt;httpMethod&amp;gt;GET&amp;lt;/httpMethod&amp;gt;&lt;br /&gt;
				&amp;lt;resourceParameters&amp;gt;query=Melanoma&amp;lt;/resourceParameters&amp;gt;&lt;br /&gt;
				&amp;lt;requestParameters&amp;gt;&lt;br /&gt;
					pagenum=1&amp;amp;ontologyids=1265&amp;amp;pagesize=20&lt;br /&gt;
				&amp;lt;/requestParameters&amp;gt;&lt;br /&gt;
				&amp;lt;hitCount&amp;gt;3&amp;lt;/hitCount&amp;gt;&lt;br /&gt;
				&amp;lt;dateAccessed class=&amp;quot;sql-timestamp&amp;quot;&amp;gt;&lt;br /&gt;
					2009-07-27 00:00:00.0&lt;br /&gt;
				&amp;lt;/dateAccessed&amp;gt;&lt;br /&gt;
			&amp;lt;/usageLoggingBean&amp;gt;&lt;br /&gt;
		&amp;lt;/list&amp;gt;&lt;br /&gt;
	&amp;lt;/data&amp;gt;&lt;br /&gt;
&amp;lt;/success&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= XML Schema Definitions for the REST services =&lt;br /&gt;
&lt;br /&gt;
XML Schema for [[#Term_services|Term]] and [[#Hierarchy_Services|Hierarchy]] services have been provided courtesy Eamonn Maguire. An updated XML Schema document will be posted shortly.&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11768</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11768"/>
		<updated>2012-02-17T17:54:20Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Preferred Label, Synonyms and other common predicates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NCBO is releasing a free and open SPARQL endpoint to query ontologies hosted in the BioPortal ontology repository. This SPARQL service, that is in alpha status, is stable for testing by our community of users. If you encounter any errors or unexpected behavior please report it to us [mailto:support@bioontology.org support@bioontology.org]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://alphasparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://alphasparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Eventually the graphs IDs for each ontology will be based on the PURL URIs that use BioPortal abbreviations. Currently, not all ontologies have unique abbreviations. While we resolve this issue the graph IDs are based on the virtual IDs. With the form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/{VIRTUAL ID}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/1407&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The predicate that connects metadata graphs with ontology data graphs is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/metadata/def/hasVersion&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Therefore, a SPARQL query like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT ?graph {&lt;br /&gt;
    ?graph &amp;lt;http://bioportal.bioontology.org/metadata/def/hasVersion&amp;gt; ?version&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... would list all the graphs IDs for all the ontologies in the RDF database.&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
There are problematic cases of label definition. In order to provide a consistent mechanism to query by label across different ontologies we generate labels for the following cases. These label are attached to terms using the predicate '''http://bioportal.bioontology.org/metadata/def/prefLabel''' (bp:prefLabel)&lt;br /&gt;
&lt;br /&gt;
* '''Missing labels''': for every owl:Class that is missing a label we generate a label based on the latest fragment of URI. &lt;br /&gt;
&lt;br /&gt;
* '''Terms that use rdfs:label as preferred name''': BioPortal uses skos:prefLabel and skos:altLabel for preferred names and synonyms respectively. Both skos:prefLabel and skos:altLabel are subproperties of rdfs:label in the SKOS ontology. If someone uses rdfs:label to record preferred names, in the SKOS context, he would be saying that that name can be a preferred name or a synonym. To avoid this confusion we  generate bp:prefLabel(s) for every rdfs:label used as preferred name.&lt;br /&gt;
&lt;br /&gt;
=== Preferred Label, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
When ontologies are submitted to BioPortal the user can select which predicates that ontology uses for:&lt;br /&gt;
&lt;br /&gt;
* Preferred Names.&lt;br /&gt;
* Synonyms or alternative names.&lt;br /&gt;
* Author.&lt;br /&gt;
* Description.&lt;br /&gt;
&lt;br /&gt;
The BioPortal SPARQL endpoint supports rdfs:subPropertyOf reasoning to enable cross querying across all these configurable predicates. In the triple store, the following URI:&lt;br /&gt;
&lt;br /&gt;
 http://bioportal.bioontology.org/ontologies/globals&lt;br /&gt;
&lt;br /&gt;
is used as identifier for the named graph that contains all the sub-property of statements that have been configured by users when uploading their ontologies. The root properties to be used   to trigger the reasoning are the following:&lt;br /&gt;
&lt;br /&gt;
* '''skos:prefLabel''' for Preferred name.&lt;br /&gt;
* '''skos:altLabel''' for Synonyms or alternative names.&lt;br /&gt;
* '''dc:author''' for Author.&lt;br /&gt;
* '''rdfs:comment''' for Description.&lt;br /&gt;
&lt;br /&gt;
When using named graphs if you want to use this reasoning then you should include the globals graph that contains the subproperty statements, i.e:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX owl:  &amp;lt;http://www.w3.org/2002/07/owl#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?termURI ?prefLabel&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/1022&amp;gt;&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/globals&amp;gt; &lt;br /&gt;
WHERE {&lt;br /&gt;
      ?termURI a owl:Class;&lt;br /&gt;
      skos:prefLabel ?prefLabel .&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise the subproperty statements that take part in the query processor will not be taken into account.&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11767</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11767"/>
		<updated>2012-02-17T17:52:27Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Preferred Label, Synonyms and other common predicates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NCBO is releasing a free and open SPARQL endpoint to query ontologies hosted in the BioPortal ontology repository. This SPARQL service, that is in alpha status, is stable for testing by our community of users. If you encounter any errors or unexpected behavior please report it to us [mailto:support@bioontology.org support@bioontology.org]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://alphasparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://alphasparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Eventually the graphs IDs for each ontology will be based on the PURL URIs that use BioPortal abbreviations. Currently, not all ontologies have unique abbreviations. While we resolve this issue the graph IDs are based on the virtual IDs. With the form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/{VIRTUAL ID}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/1407&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The predicate that connects metadata graphs with ontology data graphs is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/metadata/def/hasVersion&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Therefore, a SPARQL query like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT ?graph {&lt;br /&gt;
    ?graph &amp;lt;http://bioportal.bioontology.org/metadata/def/hasVersion&amp;gt; ?version&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... would list all the graphs IDs for all the ontologies in the RDF database.&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
There are problematic cases of label definition. In order to provide a consistent mechanism to query by label across different ontologies we generate labels for the following cases. These label are attached to terms using the predicate '''http://bioportal.bioontology.org/metadata/def/prefLabel''' (bp:prefLabel)&lt;br /&gt;
&lt;br /&gt;
* '''Missing labels''': for every owl:Class that is missing a label we generate a label based on the latest fragment of URI. &lt;br /&gt;
&lt;br /&gt;
* '''Terms that use rdfs:label as preferred name''': BioPortal uses skos:prefLabel and skos:altLabel for preferred names and synonyms respectively. Both skos:prefLabel and skos:altLabel are subproperties of rdfs:label in the SKOS ontology. If someone uses rdfs:label to record preferred names, in the SKOS context, he would be saying that that name can be a preferred name or a synonym. To avoid this confusion we  generate bp:prefLabel(s) for every rdfs:label used as preferred name.&lt;br /&gt;
&lt;br /&gt;
=== Preferred Label, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
When ontologies are submitted to BioPortal the user can select which predicates that ontology uses for:&lt;br /&gt;
&lt;br /&gt;
* Preferred Names.&lt;br /&gt;
* Synonyms or alternative names.&lt;br /&gt;
* Author.&lt;br /&gt;
* Description.&lt;br /&gt;
&lt;br /&gt;
The BioPortal SPARQL endpoint supports rdfs:subPropertyOf reasoning to enable cross querying across all these configurable predicates. In the store the graph:&lt;br /&gt;
&lt;br /&gt;
 http://bioportal.bioontology.org/ontologies&lt;br /&gt;
&lt;br /&gt;
contains all the sub-property of statements that have been configured by users when uploading their ontologies. The root properties that one should use to trigger the reasoning are:&lt;br /&gt;
&lt;br /&gt;
* '''skos:prefLabel''' for Preferred name.&lt;br /&gt;
* '''skos:altLabel''' for Synonyms or alternative names.&lt;br /&gt;
* '''dc:author''' for Author.&lt;br /&gt;
* '''rdfs:comment''' for Description.&lt;br /&gt;
&lt;br /&gt;
When using named graphs if you want to use this reasoning then you should include the globals graph that contains the subproperty statements, i.e:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX owl:  &amp;lt;http://www.w3.org/2002/07/owl#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?termURI ?prefLabel&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/1022&amp;gt;&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/globals&amp;gt; &lt;br /&gt;
WHERE {&lt;br /&gt;
      ?termURI a owl:Class;&lt;br /&gt;
      skos:prefLabel ?prefLabel .&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise the subproperty statements that take part in the query processor will not be taken into account.&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_Release_Notes_And_Usage_Policy&amp;diff=11763</id>
		<title>SPARQL Release Notes And Usage Policy</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_Release_Notes_And_Usage_Policy&amp;diff=11763"/>
		<updated>2012-02-14T18:06:00Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Alpha Release */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Alpha Release ===&lt;br /&gt;
&lt;br /&gt;
This SPARQL endpoint is currently in alpha release. This alpha release is provided with the following limitations: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Item&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Description&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Status/Actions&lt;br /&gt;
|-&lt;br /&gt;
| Ontology Versions&lt;br /&gt;
| At the moment only the last version of each ontology is kept in our RDF database. &lt;br /&gt;
| In the future the data store will keep metadata with links to download old ontology versions. The data store will only contain data for the latest ontology version.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;del&amp;gt;RRF/UMLS&amp;lt;/del&amp;gt;&lt;br /&gt;
| &amp;lt;del&amp;gt;Not all the predicates from RRF/UMLS have been transformed into RDF triples. Labels, descriptions and hierarchies are the only predicates that we support for the moment. &amp;lt;/del&amp;gt;&lt;br /&gt;
| Implemented all the BioPortal UMLS ontologies are available in the triple store. The code to generate this ontologies is available at [https://github.com/ncbo/umls2rdf ncbo/umls2rdf]&lt;br /&gt;
|-&lt;br /&gt;
|Ontology Mappings&lt;br /&gt;
|The ontology mapping data from BioPortal has not been migrated into the SPARQL database yet. &lt;br /&gt;
|Planned to be implemented in 2012 Q1.&lt;br /&gt;
|-&lt;br /&gt;
|Synchronization with BioPortal&lt;br /&gt;
|The offline process that syncs BioPortal with our RDF database runs once a day (6pm PST). Therefore, new ontology uploads in BioPortal will be reflected in the SPARQL endpoint after that time. &lt;br /&gt;
|This policy will remain in-place unless other policy is required.&lt;br /&gt;
|-&lt;br /&gt;
|Hierarchy Closure&lt;br /&gt;
|The SPARQL queries in the alpha release do not handle any semantics. The queries only work on the asserted triples and therefore, closures need to be resolve by recursively issuing SPARQL queries. &lt;br /&gt;
| Planned to be implemented in 2012 Q1.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;del&amp;gt;Synonyms&amp;lt;/del&amp;gt;&lt;br /&gt;
|&amp;lt;del&amp;gt;At the moment, synonyms are not handled in SPARQL queries. We are on the mechanism we will use to implement this feature, probably equivalent property reasoning.&amp;lt;/del&amp;gt;&lt;br /&gt;
| Implemented, see [[SPARQL BioPortal#Preferred Label, Synonyms and other common predicates|Preferred Names, Synonyms and other common predicates]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #FFEFC6; padding: 6px; border: 1px solid #FFD700; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
We understand that some of these points are limitations to the service as is provided today. The NCBO team is addressing these issues and working on the future SPARQL production infrastructure. Meanwhile, we offer this alpha release. Even though, the service is in alpha we plan to keep high up-time ratios. Please, contact us to provide feedback. Our support mailing list is: [mailto:support@bioontology.org support@bioontology.org]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal SPARQL Usage Policy ===&lt;br /&gt;
&lt;br /&gt;
The NCBO team is designing and implementing the infraestructure that will ensure a fair usage of our SPARQL service.&lt;br /&gt;
&lt;br /&gt;
While in ALPHA, the only queries that the service does not accept are the ones with triple patterns containing unbound subject, predicate and object; and unbound graph. For instance, the following are not acceptable queries: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { ?s ?p ?o }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { GRAPH ?g { ?s ?p ?o } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The two queries above are not accepted by the service because they try to retrieve all the triples in the store. Their use is considered problematic in open SPARQL endpoints. On the other side, the following query will be accepted:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { ?s rdf:type ?o }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any combination of triple patterns that enclose any of the two first cases these will be rejected and not processed. For example: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { &lt;br /&gt;
    GRAPH ?g { &lt;br /&gt;
        ?s ?p ?o . &lt;br /&gt;
        ?s rdf:type ?c &lt;br /&gt;
    } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Queries with variables in subjects, predicates and objects but with bound graphs will be accepted. The following query retrieves all triples from a single graph (ontology): &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX bio: &amp;lt;http://bioportal.bioontology.org/ontologies/&amp;gt;&lt;br /&gt;
SELECT * WHERE {&lt;br /&gt;
    GRAPH bio:1422 {&lt;br /&gt;
        ?s ?p ?o .&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX bio: &amp;lt;http://bioportal.bioontology.org/ontologies/&amp;gt;&lt;br /&gt;
SELECT * WHERE { &lt;br /&gt;
    GRAPH bio:1422 { &lt;br /&gt;
        ?s ?p ?o . &lt;br /&gt;
        ?s rdf:type ?c &lt;br /&gt;
    } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We accept two exceptions of queries that use unbound G, S, P and O. Our backend storage is optimized to resolve them and they are considered important SPARQL exploratory queries. These are the queries that list all distinct graphs or properties in the database: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?g WHERE {  GRAPH ?g { ?s ?p ?o } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?p WHERE { ?s ?p ?o }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have any questions about the usage policy or if you have any problems using our SPARQL Service then email our [[mailto:support@bioontology.org support email list]] or visit our [[http://alphasparql.bioontology.org/examples examples]] and code sections.&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_Release_Notes_And_Usage_Policy&amp;diff=11762</id>
		<title>SPARQL Release Notes And Usage Policy</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_Release_Notes_And_Usage_Policy&amp;diff=11762"/>
		<updated>2012-02-14T18:05:20Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Alpha Release */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Alpha Release ===&lt;br /&gt;
&lt;br /&gt;
This SPARQL endpoint is currently in alpha release. This alpha release is provided with the following limitations: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Item&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Description&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Status/Actions&lt;br /&gt;
|-&lt;br /&gt;
| Ontology Versions&lt;br /&gt;
| At the moment only the last version of each ontology is kept in our RDF database. &lt;br /&gt;
| In the future the data store will keep metadata with links to download old ontology versions. The data store will only contain data for the latest ontology version.&lt;br /&gt;
|-&lt;br /&gt;
| RRF/UMLS&lt;br /&gt;
| Not all the predicates from RRF/UMLS have been transformed into RDF triples. Labels, descriptions and hierarchies are the only predicates that we support for the moment. &lt;br /&gt;
| Implemented all the BioPortal UMLS ontologies are available in the triple store. The code to generate this ontologies is available at [https://github.com/ncbo/umls2rdf ncbo/umls2rdf]&lt;br /&gt;
|-&lt;br /&gt;
|Ontology Mappings&lt;br /&gt;
|The ontology mapping data from BioPortal has not been migrated into the SPARQL database yet. &lt;br /&gt;
|Planned to be implemented in 2012 Q1.&lt;br /&gt;
|-&lt;br /&gt;
|Synchronization with BioPortal&lt;br /&gt;
|The offline process that syncs BioPortal with our RDF database runs once a day (6pm PST). Therefore, new ontology uploads in BioPortal will be reflected in the SPARQL endpoint after that time. &lt;br /&gt;
|This policy will remain in-place unless other policy is required.&lt;br /&gt;
|-&lt;br /&gt;
|Hierarchy Closure&lt;br /&gt;
|The SPARQL queries in the alpha release do not handle any semantics. The queries only work on the asserted triples and therefore, closures need to be resolve by recursively issuing SPARQL queries. &lt;br /&gt;
| Planned to be implemented in 2012 Q1.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;del&amp;gt;Synonyms&amp;lt;/del&amp;gt;&lt;br /&gt;
|&amp;lt;del&amp;gt;At the moment, synonyms are not handled in SPARQL queries. We are on the mechanism we will use to implement this feature, probably equivalent property reasoning.&amp;lt;/del&amp;gt;&lt;br /&gt;
| Implemented, see [[SPARQL BioPortal#Preferred Label, Synonyms and other common predicates|Preferred Names, Synonyms and other common predicates]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #FFEFC6; padding: 6px; border: 1px solid #FFD700; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
We understand that some of these points are limitations to the service as is provided today. The NCBO team is addressing these issues and working on the future SPARQL production infrastructure. Meanwhile, we offer this alpha release. Even though, the service is in alpha we plan to keep high up-time ratios. Please, contact us to provide feedback. Our support mailing list is: [mailto:support@bioontology.org support@bioontology.org]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal SPARQL Usage Policy ===&lt;br /&gt;
&lt;br /&gt;
The NCBO team is designing and implementing the infraestructure that will ensure a fair usage of our SPARQL service.&lt;br /&gt;
&lt;br /&gt;
While in ALPHA, the only queries that the service does not accept are the ones with triple patterns containing unbound subject, predicate and object; and unbound graph. For instance, the following are not acceptable queries: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { ?s ?p ?o }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { GRAPH ?g { ?s ?p ?o } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The two queries above are not accepted by the service because they try to retrieve all the triples in the store. Their use is considered problematic in open SPARQL endpoints. On the other side, the following query will be accepted:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { ?s rdf:type ?o }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any combination of triple patterns that enclose any of the two first cases these will be rejected and not processed. For example: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { &lt;br /&gt;
    GRAPH ?g { &lt;br /&gt;
        ?s ?p ?o . &lt;br /&gt;
        ?s rdf:type ?c &lt;br /&gt;
    } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Queries with variables in subjects, predicates and objects but with bound graphs will be accepted. The following query retrieves all triples from a single graph (ontology): &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX bio: &amp;lt;http://bioportal.bioontology.org/ontologies/&amp;gt;&lt;br /&gt;
SELECT * WHERE {&lt;br /&gt;
    GRAPH bio:1422 {&lt;br /&gt;
        ?s ?p ?o .&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX bio: &amp;lt;http://bioportal.bioontology.org/ontologies/&amp;gt;&lt;br /&gt;
SELECT * WHERE { &lt;br /&gt;
    GRAPH bio:1422 { &lt;br /&gt;
        ?s ?p ?o . &lt;br /&gt;
        ?s rdf:type ?c &lt;br /&gt;
    } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We accept two exceptions of queries that use unbound G, S, P and O. Our backend storage is optimized to resolve them and they are considered important SPARQL exploratory queries. These are the queries that list all distinct graphs or properties in the database: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?g WHERE {  GRAPH ?g { ?s ?p ?o } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?p WHERE { ?s ?p ?o }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have any questions about the usage policy or if you have any problems using our SPARQL Service then email our [[mailto:support@bioontology.org support email list]] or visit our [[http://alphasparql.bioontology.org/examples examples]] and code sections.&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=Main_Page&amp;diff=11464</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=Main_Page&amp;diff=11464"/>
		<updated>2011-12-02T22:41:37Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the '''NCBO Public WIKI'''. This WIKI provides information about collaborative ontology development efforts, dissemination events conducted by the NCBO and publically shared materials from the NCBO. &lt;br /&gt;
Please visit our [http://www.bioontology.org Main Site] for more information and materials.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | NCBO Links&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Shared Materials&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | NCBC Links&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.bioontology.org/ Home page]&lt;br /&gt;
| [[Public Requirements Redirect|Public Requirements]]&lt;br /&gt;
| [http://www.bisti.nih.gov/ncbc/ Home page of National Centers for Biomedical Computing]&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.bioontology.org/wiki/index.php/NCBO_FAQ FAQ]&lt;br /&gt;
| [[Shared Materials]]&lt;br /&gt;
| [http://wiki.na-mic.org/Wiki/index.php/SDIWG:Software_and_Data_Integration_Working_Group NCBC Software and Data Integration Working Group (SDIWG) and Centers Discussion]&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.bioontology.org/wiki/index.php/Dissemination_Wiki Dissemination]&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.bioontology.org/wiki/index.php/News_Events_Publications News, Events and Publications]&lt;br /&gt;
| [[Evaluation Activities]]&lt;br /&gt;
| [http://wiki.na-mic.org/Wiki/index.php/SDIWG:_NCBC_Scientific_Ontologies NCBC Scientific Ontologies Working Group]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
*[http://bioportal.bioontology.org BioPortal:Main_Page] - Main page for accessing BioPortal&lt;br /&gt;
*[[OboInOwl:Main_Page]] - Mapping between OBO and OWL formats&lt;br /&gt;
*[[BioPortal Help]] - Brief help text for BioPortal Application&lt;br /&gt;
*[[Phenote:Main_Page]] - A Phenotype Annotation Tool using Ontologies&lt;br /&gt;
*[[NCBO-OOR Development]] - Documentation on how the Open Ontology Repository community can customize and advance BioPortal capabilities.&lt;br /&gt;
*[[SPARQL BioPortal]] early access to the alpha version.&lt;br /&gt;
&lt;br /&gt;
=== User Support Documentation ===&lt;br /&gt;
* [http://www.bioontology.org/wiki/index.php/BioPortal_Help Help] - General BioPortal help documentation. &lt;br /&gt;
* [[BioPortal UI URLs]] - Documentation on how to link back to BioPortal UI pages&lt;br /&gt;
* [[NCBO REST services]] - Documentation on how to use BioPortal functionality as Web services&lt;br /&gt;
* [[View_Extraction]] - Documentation on how to extract subtree views from ontologies&lt;br /&gt;
* [http://www.bioontology.org/wiki/index.php/BioPortal_Mappings_Service Mappings] - Documentation &amp;amp; information about accessing term mapping data&lt;br /&gt;
* [[Ontology Notes]] - Documentation &amp;amp; information about posting and accessing comments and new term proposals submitted on ontologies&lt;br /&gt;
* [[Annotator Web service]] - Documentation &amp;amp; information about the NCBO Annotator&lt;br /&gt;
* [[Resource Index]] - Documentation &amp;amp; information about the annotation-based NCBO biomedical Resources Index&lt;br /&gt;
* [http://www.bioontology.org/wiki/index.php/SampleCodeCookbook Code samples] - Sample code for common tasks with BioPortal Web services &lt;br /&gt;
* ''Retired'' -&amp;gt; See [[BioPortal REST services]] for access to UMLS content. [[UMLS_REST_Services]] - Documentation on how to use our ''prototype'' UMLS services (NetKernel)&lt;br /&gt;
&lt;br /&gt;
=== Ontology Development Area ===&lt;br /&gt;
Below are wikis for some of the current OBO ontologies. Each wiki is housed on the bioontologies.org wiki, in its own partition (wikispace) of the main wiki&lt;br /&gt;
*[[BRO:Main_Page]] - Biomedical Resource Ontology&lt;br /&gt;
*[[TMO:]] - Translational Medicine Ontology &lt;br /&gt;
*[[NPO:Main_Page]] - NanoParticle Ontology&lt;br /&gt;
*[[PATO:Main_Page]] - An ontology of phenotypic qualities&lt;br /&gt;
*[[RO:Main_Page]] - OBO Relations ontology&lt;br /&gt;
*[[CARO:Main_Page]] - Reference anatomical ontology&lt;br /&gt;
*[[CL:Main_Page]] - OBO Cell ontology&lt;br /&gt;
*[[SO:Main_Page]] - Sequence Ontology&lt;br /&gt;
*[[Disease:Main_Page]] - Disease Ontology, and other ontologies pertaining to diseases and disorders&lt;br /&gt;
*[[OCI:Main_Page]] - Ontology of Clinical Investigation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Research projects and Prototypes ===&lt;br /&gt;
*[[RDF Triple Stores]] - Notes, learning and how-tos regarding uploading data to various triple stores (Nipun Bhatia)&lt;br /&gt;
*[[Path to Root]] - Project for consuming the path to root and other OBS rest services (Nipun Bhatia)&lt;br /&gt;
*[[PURL Server]] - Instructions on how to set-up a PURL server and create Master-Slave architecture for redundancy (Nipun Bhatia)&lt;br /&gt;
*[[Ontology Recommender Web service]] - Documentation &amp;amp; information about the NCBO Ontology Recommender (Clement Jonquet)&lt;br /&gt;
*[[Annotation Summarizer]] - Project utilizing OBS REST services to derive information from datasets referencing ontologies in BioPortal (Rob Tirrell)&lt;br /&gt;
*[[Lexicon Builder]] - Project for creating a service that allows building of custom lexicons from bioportal ontologies. (Gautam Parai)&lt;br /&gt;
*[[Medline Analysis]] - Project for applying natural language processing methods on Medline to analyze the frequency and syntactic type distribution of ontology terms. (Rong Xu)&lt;br /&gt;
*[[MetaMap Installation]] - Project to install a custom MetaMap using the NCBO data in order to integrate it in the [[Annotator Web service]] workflow. (Tejaswi Tenneti)&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11463</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11463"/>
		<updated>2011-12-02T00:38:08Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NCBO is releasing a free and open SPARQL endpoint to query ontologies hosted in the BioPortal ontology repository. This SPARQL service, that is in alpha status, is stable for testing by our community of users. If you encounter any errors or unexpected behavior please report it to us [mailto:support@bioontology.org support@bioontology.org]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://alphasparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://alphasparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Eventually the graphs IDs for each ontology will be based on the PURL URIs that use BioPortal abbreviations. Currently, not all ontologies have unique abbreviations. While we resolve this issue the graph IDs are based on the virtual IDs. With the form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/{VIRTUAL ID}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/1407&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The predicate that connects metadata graphs with ontology data graphs is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/metadata/def/hasVersion&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Therefore, a SPARQL query like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT ?graph {&lt;br /&gt;
    ?graph &amp;lt;http://bioportal.bioontology.org/metadata/def/hasVersion&amp;gt; ?version&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... would list all the graphs IDs for all the ontologies in the RDF database.&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
There are problematic cases of label definition. In order to provide a consistent mechanism to query by label across different ontologies we generate labels for the following cases. These label are attached to terms using the predicate '''http://bioportal.bioontology.org/metadata/def/prefLabel''' (bp:prefLabel)&lt;br /&gt;
&lt;br /&gt;
* '''Missing labels''': for every owl:Class that is missing a label we generate a label based on the latest fragment of URI. &lt;br /&gt;
&lt;br /&gt;
* '''Terms that use rdfs:label as preferred name''': BioPortal uses skos:prefLabel and skos:altLabel for preferred names and synonyms respectively. Both skos:prefLabel and skos:altLabel are subproperties of rdfs:label in the SKOS ontology. If someone uses rdfs:label to record preferred names, in the SKOS context, he would be saying that that name can be a preferred name or a synonym. To avoid this confusion we  generate bp:prefLabel(s) for every rdfs:label used as preferred name.&lt;br /&gt;
&lt;br /&gt;
=== Preferred Label, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
When ontologies are submitted to BioPortal the user can select which predicates that ontology uses for:&lt;br /&gt;
&lt;br /&gt;
* Preferred Names.&lt;br /&gt;
* Synonyms or alternative names.&lt;br /&gt;
* Author.&lt;br /&gt;
* Description.&lt;br /&gt;
&lt;br /&gt;
The BioPortal SPARQL endpoint supports rdfsLsubPropertyOf reasoning to enable cross querying across all these configurable predicates. In the store the graph:&lt;br /&gt;
&lt;br /&gt;
 http://bioportal.bioontology.org/ontologies&lt;br /&gt;
&lt;br /&gt;
contains all the sub-property of statements that have been configured by users when uploading their ontologies. The root properties that one should use to trigger the reasoning are:&lt;br /&gt;
&lt;br /&gt;
* '''skos:prefLabel''' for Preferred name.&lt;br /&gt;
* '''skos:altLabel''' for Synonyms or alternative names.&lt;br /&gt;
* '''dc:author''' for Author.&lt;br /&gt;
* '''rdfs:comment''' for Description.&lt;br /&gt;
&lt;br /&gt;
When using named graphs if you want to use this reasoning then you should include the globals graph that contains the subproperty statements, i.e:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX owl:  &amp;lt;http://www.w3.org/2002/07/owl#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?termURI ?prefLabel&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/1022&amp;gt;&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/globals&amp;gt; &lt;br /&gt;
WHERE {&lt;br /&gt;
      ?termURI a owl:Class;&lt;br /&gt;
      skos:prefLabel ?prefLabel .&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise the subproperty statements that take part in the query processor will not be taken into account.&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11462</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11462"/>
		<updated>2011-12-02T00:37:28Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NCBO is releasing a free and open SPARQL endpoint to query ontologies hosted in the BioPortal ontology repository. The service ,which is in alpha status, is stable for testing by our community of users. If you encounter any errors or unexpected behavior please report it to us [mailto:support@bioontology.org support@bioontology.org]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://alphasparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://alphasparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Eventually the graphs IDs for each ontology will be based on the PURL URIs that use BioPortal abbreviations. Currently, not all ontologies have unique abbreviations. While we resolve this issue the graph IDs are based on the virtual IDs. With the form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/{VIRTUAL ID}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/1407&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The predicate that connects metadata graphs with ontology data graphs is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/metadata/def/hasVersion&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Therefore, a SPARQL query like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT ?graph {&lt;br /&gt;
    ?graph &amp;lt;http://bioportal.bioontology.org/metadata/def/hasVersion&amp;gt; ?version&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... would list all the graphs IDs for all the ontologies in the RDF database.&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
There are problematic cases of label definition. In order to provide a consistent mechanism to query by label across different ontologies we generate labels for the following cases. These label are attached to terms using the predicate '''http://bioportal.bioontology.org/metadata/def/prefLabel''' (bp:prefLabel)&lt;br /&gt;
&lt;br /&gt;
* '''Missing labels''': for every owl:Class that is missing a label we generate a label based on the latest fragment of URI. &lt;br /&gt;
&lt;br /&gt;
* '''Terms that use rdfs:label as preferred name''': BioPortal uses skos:prefLabel and skos:altLabel for preferred names and synonyms respectively. Both skos:prefLabel and skos:altLabel are subproperties of rdfs:label in the SKOS ontology. If someone uses rdfs:label to record preferred names, in the SKOS context, he would be saying that that name can be a preferred name or a synonym. To avoid this confusion we  generate bp:prefLabel(s) for every rdfs:label used as preferred name.&lt;br /&gt;
&lt;br /&gt;
=== Preferred Label, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
When ontologies are submitted to BioPortal the user can select which predicates that ontology uses for:&lt;br /&gt;
&lt;br /&gt;
* Preferred Names.&lt;br /&gt;
* Synonyms or alternative names.&lt;br /&gt;
* Author.&lt;br /&gt;
* Description.&lt;br /&gt;
&lt;br /&gt;
The BioPortal SPARQL endpoint supports rdfsLsubPropertyOf reasoning to enable cross querying across all these configurable predicates. In the store the graph:&lt;br /&gt;
&lt;br /&gt;
 http://bioportal.bioontology.org/ontologies&lt;br /&gt;
&lt;br /&gt;
contains all the sub-property of statements that have been configured by users when uploading their ontologies. The root properties that one should use to trigger the reasoning are:&lt;br /&gt;
&lt;br /&gt;
* '''skos:prefLabel''' for Preferred name.&lt;br /&gt;
* '''skos:altLabel''' for Synonyms or alternative names.&lt;br /&gt;
* '''dc:author''' for Author.&lt;br /&gt;
* '''rdfs:comment''' for Description.&lt;br /&gt;
&lt;br /&gt;
When using named graphs if you want to use this reasoning then you should include the globals graph that contains the subproperty statements, i.e:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX owl:  &amp;lt;http://www.w3.org/2002/07/owl#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?termURI ?prefLabel&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/1022&amp;gt;&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/globals&amp;gt; &lt;br /&gt;
WHERE {&lt;br /&gt;
      ?termURI a owl:Class;&lt;br /&gt;
      skos:prefLabel ?prefLabel .&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise the subproperty statements that take part in the query processor will not be taken into account.&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11461</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11461"/>
		<updated>2011-12-02T00:24:58Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Preferred Label, Synonyms and other common predicates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://alphasparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://alphasparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Eventually the graphs IDs for each ontology will be based on the PURL URIs that use BioPortal abbreviations. Currently, not all ontologies have unique abbreviations. While we resolve this issue the graph IDs are based on the virtual IDs. With the form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/{VIRTUAL ID}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/1407&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The predicate that connects metadata graphs with ontology data graphs is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/metadata/def/hasVersion&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Therefore, a SPARQL query like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT ?graph {&lt;br /&gt;
    ?graph &amp;lt;http://bioportal.bioontology.org/metadata/def/hasVersion&amp;gt; ?version&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... would list all the graphs IDs for all the ontologies in the RDF database.&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
There are problematic cases of label definition. In order to provide a consistent mechanism to query by label across different ontologies we generate labels for the following cases. These label are attached to terms using the predicate '''http://bioportal.bioontology.org/metadata/def/prefLabel''' (bp:prefLabel)&lt;br /&gt;
&lt;br /&gt;
* '''Missing labels''': for every owl:Class that is missing a label we generate a label based on the latest fragment of URI. &lt;br /&gt;
&lt;br /&gt;
* '''Terms that use rdfs:label as preferred name''': BioPortal uses skos:prefLabel and skos:altLabel for preferred names and synonyms respectively. Both skos:prefLabel and skos:altLabel are subproperties of rdfs:label in the SKOS ontology. If someone uses rdfs:label to record preferred names, in the SKOS context, he would be saying that that name can be a preferred name or a synonym. To avoid this confusion we  generate bp:prefLabel(s) for every rdfs:label used as preferred name.&lt;br /&gt;
&lt;br /&gt;
=== Preferred Label, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
When ontologies are submitted to BioPortal the user can select which predicates that ontology uses for:&lt;br /&gt;
&lt;br /&gt;
* Preferred Names.&lt;br /&gt;
* Synonyms or alternative names.&lt;br /&gt;
* Author.&lt;br /&gt;
* Description.&lt;br /&gt;
&lt;br /&gt;
The BioPortal SPARQL endpoint supports rdfsLsubPropertyOf reasoning to enable cross querying across all these configurable predicates. In the store the graph:&lt;br /&gt;
&lt;br /&gt;
 http://bioportal.bioontology.org/ontologies&lt;br /&gt;
&lt;br /&gt;
contains all the sub-property of statements that have been configured by users when uploading their ontologies. The root properties that one should use to trigger the reasoning are:&lt;br /&gt;
&lt;br /&gt;
* '''skos:prefLabel''' for Preferred name.&lt;br /&gt;
* '''skos:altLabel''' for Synonyms or alternative names.&lt;br /&gt;
* '''dc:author''' for Author.&lt;br /&gt;
* '''rdfs:comment''' for Description.&lt;br /&gt;
&lt;br /&gt;
When using named graphs if you want to use this reasoning then you should include the globals graph that contains the subproperty statements, i.e:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX owl:  &amp;lt;http://www.w3.org/2002/07/owl#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?termURI ?prefLabel&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/1022&amp;gt;&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/globals&amp;gt; &lt;br /&gt;
WHERE {&lt;br /&gt;
      ?termURI a owl:Class;&lt;br /&gt;
      skos:prefLabel ?prefLabel .&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise the subproperty statements that take part in the query processor will not be taken into account.&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11460</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11460"/>
		<updated>2011-12-02T00:23:59Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Preferred Label, Synonyms and other common predicates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://alphasparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://alphasparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Eventually the graphs IDs for each ontology will be based on the PURL URIs that use BioPortal abbreviations. Currently, not all ontologies have unique abbreviations. While we resolve this issue the graph IDs are based on the virtual IDs. With the form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/{VIRTUAL ID}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/1407&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The predicate that connects metadata graphs with ontology data graphs is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/metadata/def/hasVersion&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Therefore, a SPARQL query like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT ?graph {&lt;br /&gt;
    ?graph &amp;lt;http://bioportal.bioontology.org/metadata/def/hasVersion&amp;gt; ?version&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... would list all the graphs IDs for all the ontologies in the RDF database.&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
There are problematic cases of label definition. In order to provide a consistent mechanism to query by label across different ontologies we generate labels for the following cases. These label are attached to terms using the predicate '''http://bioportal.bioontology.org/metadata/def/prefLabel''' (bp:prefLabel)&lt;br /&gt;
&lt;br /&gt;
* '''Missing labels''': for every owl:Class that is missing a label we generate a label based on the latest fragment of URI. &lt;br /&gt;
&lt;br /&gt;
* '''Terms that use rdfs:label as preferred name''': BioPortal uses skos:prefLabel and skos:altLabel for preferred names and synonyms respectively. Both skos:prefLabel and skos:altLabel are subproperties of rdfs:label in the SKOS ontology. If someone uses rdfs:label to record preferred names, in the SKOS context, he would be saying that that name can be a preferred name or a synonym. To avoid this confusion we  generate bp:prefLabel(s) for every rdfs:label used as preferred name.&lt;br /&gt;
&lt;br /&gt;
=== Preferred Label, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
When ontologies are submitted to BioPortal the user can select which predicates that ontology uses for:&lt;br /&gt;
&lt;br /&gt;
* Preferred Names.&lt;br /&gt;
* Synonyms or alternative names.&lt;br /&gt;
* Author.&lt;br /&gt;
* Description.&lt;br /&gt;
&lt;br /&gt;
The BioPortal SPARQL endpoint supports rdfsLsubPropertyOf reasoning to enable cross querying across all these configurable predicates. In the store the graph:&lt;br /&gt;
&lt;br /&gt;
 http://bioportal.bioontology.org/ontologies&lt;br /&gt;
&lt;br /&gt;
contains all the sub-property of statements that have been configured by users when uploading their ontologies. The root properties that one should use to trigger the reasoning are:&lt;br /&gt;
&lt;br /&gt;
* '''skos:prefLabel''' for Preferred name.&lt;br /&gt;
* '''skos:altLabel''' for Synonyms or alternative names.&lt;br /&gt;
* '''dc:author''' for Author.&lt;br /&gt;
* '''rdfs:comment''' for Description.&lt;br /&gt;
&lt;br /&gt;
When using named graphs if you want to use this reasoning then you should include the globals graph that contains the subproperty statements, i.e:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX owl:  &amp;lt;http://www.w3.org/2002/07/owl#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?termURI ?prefLabel&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/1022&amp;gt;&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/globals&amp;gt; &lt;br /&gt;
WHERE {&lt;br /&gt;
      ?termURI a owl:Class;&lt;br /&gt;
      skos:prefLabel ?prefLabel .&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11459</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11459"/>
		<updated>2011-12-01T20:49:17Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Preferred Label, Synonyms and other common predicates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://alphasparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://alphasparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Eventually the graphs IDs for each ontology will be based on the PURL URIs that use BioPortal abbreviations. Currently, not all ontologies have unique abbreviations. While we resolve this issue the graph IDs are based on the virtual IDs. With the form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/{VIRTUAL ID}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/1407&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The predicate that connects metadata graphs with ontology data graphs is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/metadata/def/hasVersion&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Therefore, a SPARQL query like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT ?graph {&lt;br /&gt;
    ?graph &amp;lt;http://bioportal.bioontology.org/metadata/def/hasVersion&amp;gt; ?version&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... would list all the graphs IDs for all the ontologies in the RDF database.&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
There are problematic cases of label definition. In order to provide a consistent mechanism to query by label across different ontologies we generate labels for the following cases. These label are attached to terms using the predicate '''http://bioportal.bioontology.org/metadata/def/prefLabel''' (bp:prefLabel)&lt;br /&gt;
&lt;br /&gt;
* '''Missing labels''': for every owl:Class that is missing a label we generate a label based on the latest fragment of URI. &lt;br /&gt;
&lt;br /&gt;
* '''Terms that use rdfs:label as preferred name''': BioPortal uses skos:prefLabel and skos:altLabel for preferred names and synonyms respectively. Both skos:prefLabel and skos:altLabel are subproperties of rdfs:label in the SKOS ontology. If someone uses rdfs:label to record preferred names, in the SKOS context, he would be saying that that name can be a preferred name or a synonym. To avoid this confusion we  generate bp:prefLabel(s) for every rdfs:label used as preferred name.&lt;br /&gt;
&lt;br /&gt;
=== Preferred Label, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
When ontologies are submitted to BioPortal the user can select which predicates that ontology uses for:&lt;br /&gt;
&lt;br /&gt;
* Preferred Names.&lt;br /&gt;
* Synonyms or alternative names.&lt;br /&gt;
* Author.&lt;br /&gt;
* Description.&lt;br /&gt;
&lt;br /&gt;
The BioPortal SPARQL endpoint supports rdfsLsubPropertyOf reasoning to enable cross querying across all these configurable predicates. In the store the graph:&lt;br /&gt;
&lt;br /&gt;
 http://bioportal.bioontology.org/ontologies&lt;br /&gt;
&lt;br /&gt;
contains all the sub-property of statements that have been configured by users when uploading their ontologies. The root properties that one should use to trigger the reasoning are:&lt;br /&gt;
&lt;br /&gt;
* '''skos:prefLabel''' for Preferred name.&lt;br /&gt;
* '''skos:altLabel''' for Synonyms or alternative names.&lt;br /&gt;
* '''dc:author''' for Author.&lt;br /&gt;
* '''rdfs:comment''' for Description.&lt;br /&gt;
&lt;br /&gt;
When querying a single graphs one should always include the globals graph that contains the subproperty statements, i.e:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX owl:  &amp;lt;http://www.w3.org/2002/07/owl#&amp;gt;&lt;br /&gt;
PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?termURI ?prefLabel&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/1022&amp;gt;&lt;br /&gt;
 FROM &amp;lt;http://bioportal.bioontology.org/ontologies/globals&amp;gt; &lt;br /&gt;
WHERE {&lt;br /&gt;
      ?termURI a owl:Class;&lt;br /&gt;
      skos:prefLabel ?prefLabel .&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11458</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11458"/>
		<updated>2011-12-01T20:36:16Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* BioPortal Preferred Label */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://alphasparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://alphasparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Eventually the graphs IDs for each ontology will be based on the PURL URIs that use BioPortal abbreviations. Currently, not all ontologies have unique abbreviations. While we resolve this issue the graph IDs are based on the virtual IDs. With the form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/{VIRTUAL ID}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/1407&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The predicate that connects metadata graphs with ontology data graphs is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/metadata/def/hasVersion&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Therefore, a SPARQL query like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT ?graph {&lt;br /&gt;
    ?graph &amp;lt;http://bioportal.bioontology.org/metadata/def/hasVersion&amp;gt; ?version&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... would list all the graphs IDs for all the ontologies in the RDF database.&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
There are problematic cases of label definition. In order to provide a consistent mechanism to query by label across different ontologies we generate labels for the following cases. These label are attached to terms using the predicate '''http://bioportal.bioontology.org/metadata/def/prefLabel''' (bp:prefLabel)&lt;br /&gt;
&lt;br /&gt;
* '''Missing labels''': for every owl:Class that is missing a label we generate a label based on the latest fragment of URI. &lt;br /&gt;
&lt;br /&gt;
* '''Terms that use rdfs:label as preferred name''': BioPortal uses skos:prefLabel and skos:altLabel for preferred names and synonyms respectively. Both skos:prefLabel and skos:altLabel are subproperties of rdfs:label in the SKOS ontology. If someone uses rdfs:label to record preferred names, in the SKOS context, he would be saying that that name can be a preferred name or a synonym. To avoid this confusion we  generate bp:prefLabel(s) for every rdfs:label used as preferred name.&lt;br /&gt;
&lt;br /&gt;
=== Preferred Label, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_Release_Notes_And_Usage_Policy&amp;diff=11457</id>
		<title>SPARQL Release Notes And Usage Policy</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_Release_Notes_And_Usage_Policy&amp;diff=11457"/>
		<updated>2011-12-01T19:16:20Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Alpha Release ===&lt;br /&gt;
&lt;br /&gt;
This SPARQL endpoint is currently in alpha release. This alpha release is provided with the following limitations: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Item&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Description&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Status/Actions&lt;br /&gt;
|-&lt;br /&gt;
| Ontology Versions&lt;br /&gt;
| At the moment only the last version of each ontology is kept in our RDF database. &lt;br /&gt;
| In the future the data store will keep metadata with links to download old ontology versions. The data store will only contain data for the latest ontology version.&lt;br /&gt;
|-&lt;br /&gt;
| RRF/UMLS&lt;br /&gt;
| Not all the predicates from RRF/UMLS have been transformed into RDF triples. Labels, descriptions and hierarchies are the only predicates that we support for the moment. &lt;br /&gt;
| Actions to fully transform the UMLS database into RDF are scheduledf for 2012 Q1.&lt;br /&gt;
|- &lt;br /&gt;
|NCI Metathesaurus&lt;br /&gt;
|Currently the process that transforms RRF/UMLS into RDF triples is unable to process NCI Metathesaurus. We are working to fix this issue but meanwhile NCI Metathesaurus cannot be accessed via our SPARQL service. &lt;br /&gt;
| This issue will be addressed together with the RRF/UMLS conversion (2012 Q1).&lt;br /&gt;
|-&lt;br /&gt;
|Ontology Mappings&lt;br /&gt;
|The ontology mapping data from BioPortal has not been migrated into the SPARQL database yet. &lt;br /&gt;
|Planned to be implemented in 2012 Q1.&lt;br /&gt;
|-&lt;br /&gt;
|Synchronization with BioPortal&lt;br /&gt;
|The offline process that syncs BioPortal with our RDF database runs once a day (6pm PST). Therefore, new ontology uploads in BioPortal will be reflected in the SPARQL endpoint after that time. &lt;br /&gt;
|This policy will remain in-place unless other policy is required.&lt;br /&gt;
|-&lt;br /&gt;
|Hierarchy Closure&lt;br /&gt;
|The SPARQL queries in the alpha release do not handle any semantics. The queries only work on the asserted triples and therefore, closures need to be resolve by recursively issuing SPARQL queries. &lt;br /&gt;
| Planned to be implemented in 2012 Q1.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;del&amp;gt;Synonyms&amp;lt;/del&amp;gt;&lt;br /&gt;
|&amp;lt;del&amp;gt;At the moment, synonyms are not handled in SPARQL queries. We are on the mechanism we will use to implement this feature, probably equivalent property reasoning.&amp;lt;/del&amp;gt;&lt;br /&gt;
| Implemented, see [[SPARQL BioPortal#Preferred Label, Synonyms and other common predicates|Preferred Names, Synonyms and other common predicates]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #FFEFC6; padding: 6px; border: 1px solid #FFD700; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
We understand that some of these points are limitations to the service as is provided today. The NCBO team is addressing these issues and working on the future SPARQL production infrastructure. Meanwhile, we offer this alpha release. Even though, the service is in alpha we plan to keep high up-time ratios. Please, contact us to provide feedback. Our support mailing list is: [mailto:support@bioontology.org support@bioontology.org]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal SPARQL Usage Policy ===&lt;br /&gt;
&lt;br /&gt;
The NCBO team is designing and implementing the infraestructure that will ensure a fair usage of our SPARQL service.&lt;br /&gt;
&lt;br /&gt;
While in ALPHA, the only queries that the service does not accept are the ones with triple patterns containing unbound subject, predicate and object; and unbound graph. For instance, the following are not acceptable queries: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { ?s ?p ?o }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { GRAPH ?g { ?s ?p ?o } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The two queries above are not accepted by the service because they try to retrieve all the triples in the store. Their use is considered problematic in open SPARQL endpoints. On the other side, the following query will be accepted:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { ?s rdf:type ?o }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any combination of triple patterns that enclose any of the two first cases these will be rejected and not processed. For example: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { &lt;br /&gt;
    GRAPH ?g { &lt;br /&gt;
        ?s ?p ?o . &lt;br /&gt;
        ?s rdf:type ?c &lt;br /&gt;
    } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Queries with variables in subjects, predicates and objects but with bound graphs will be accepted. The following query retrieves all triples from a single graph (ontology): &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX bio: &amp;lt;http://bioportal.bioontology.org/ontologies/&amp;gt;&lt;br /&gt;
SELECT * WHERE {&lt;br /&gt;
    GRAPH bio:1422 {&lt;br /&gt;
        ?s ?p ?o .&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX bio: &amp;lt;http://bioportal.bioontology.org/ontologies/&amp;gt;&lt;br /&gt;
SELECT * WHERE { &lt;br /&gt;
    GRAPH bio:1422 { &lt;br /&gt;
        ?s ?p ?o . &lt;br /&gt;
        ?s rdf:type ?c &lt;br /&gt;
    } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We accept two exceptions of queries that use unbound G, S, P and O. Our backend storage is optimized to resolve them and they are considered important SPARQL exploratory queries. These are the queries that list all distinct graphs or properties in the database: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?g WHERE {  GRAPH ?g { ?s ?p ?o } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?p WHERE { ?s ?p ?o }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have any questions about the usage policy or if you have any problems using our SPARQL Service then email our [[mailto:support@bioontology.org support email list]] or visit our [[http://alphasparql.bioontology.org/examples examples]] and code sections.&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11456</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11456"/>
		<updated>2011-12-01T19:15:46Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://alphasparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://alphasparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Eventually the graphs IDs for each ontology will be based on the PURL URIs that use BioPortal abbreviations. Currently, not all ontologies have unique abbreviations. While we resolve this issue the graph IDs are based on the virtual IDs. With the form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/{VIRTUAL ID}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/1407&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The predicate that connects metadata graphs with ontology data graphs is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/metadata/def/hasVersion&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Therefore, a SPARQL query like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT ?graph {&lt;br /&gt;
    ?graph &amp;lt;http://bioportal.bioontology.org/metadata/def/hasVersion&amp;gt; ?version&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... would list all the graphs IDs for all the ontologies in the RDF database.&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
ssssss&lt;br /&gt;
&lt;br /&gt;
=== Preferred Label, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11455</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11455"/>
		<updated>2011-12-01T19:14:59Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://alphasparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://alphasparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Eventually the graphs IDs for each ontology will be based on the PURL URIs that use BioPortal abbreviations. Currently, not all ontologies have unique abbreviations. While we resolve this issue the graph IDs are based on the virtual IDs. With the form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/{VIRTUAL ID}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/1407&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The predicate that connects metadata graphs with ontology data graphs is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/metadata/def/hasVersion&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Therefore, a SPARQL query like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT ?graph {&lt;br /&gt;
    ?graph &amp;lt;http://bioportal.bioontology.org/metadata/def/hasVersion&amp;gt; ?version&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... would list all the graphs IDs for all the ontologies in the RDF database.&lt;br /&gt;
&lt;br /&gt;
=== BioPortal Preferred Label ===&lt;br /&gt;
&lt;br /&gt;
ssssss&lt;br /&gt;
&lt;br /&gt;
=== Preferred Names, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11445</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11445"/>
		<updated>2011-11-30T03:14:56Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Database Named Graph Structure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://alphasparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://alphasparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
Eventually the graphs IDs for each ontology will be based on the PURL URIs that use BioPortal abbreviations. Currently, not all ontologies have unique abbreviations. While we resolve this issue the graph IDs are based on the virtual IDs. With the form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/{VIRTUAL ID}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/ontologies/1407&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The predicate that connects metadata graphs with ontology data graphs is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://bioportal.bioontology.org/metadata/def/hasVersion&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Therefore, a SPARQL query like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT ?graph {&lt;br /&gt;
    ?graph &amp;lt;http://bioportal.bioontology.org/metadata/def/hasVersion&amp;gt; ?version&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... would list all the graphs IDs for all the ontologies in the RDF database.&lt;br /&gt;
&lt;br /&gt;
=== Preferred Names, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11444</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11444"/>
		<updated>2011-11-30T02:56:17Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL Release Notes And Usage Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://alphasparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://alphasparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;br /&gt;
&lt;br /&gt;
=== Preferred Names, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11443</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11443"/>
		<updated>2011-11-30T02:55:16Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Web Interface and Query Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL_Release_Notes_And_Usage_Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://alphasparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested here http://alphasparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;br /&gt;
&lt;br /&gt;
=== Preferred Names, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_Release_Notes_And_Usage_Policy&amp;diff=11442</id>
		<title>SPARQL Release Notes And Usage Policy</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_Release_Notes_And_Usage_Policy&amp;diff=11442"/>
		<updated>2011-11-30T02:53:11Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Alpha Release */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Alpha Release ===&lt;br /&gt;
&lt;br /&gt;
This SPARQL endpoint is currently in alpha release. This alpha release is provided with the following limitations: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Item&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Description&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Status/Actions&lt;br /&gt;
|-&lt;br /&gt;
| Ontology Versions&lt;br /&gt;
| At the moment only the last version of each ontology is kept in our RDF database. &lt;br /&gt;
| In the future the data store will keep metadata with links to download old ontology versions. The data store will only contain data for the latest ontology version.&lt;br /&gt;
|-&lt;br /&gt;
| RRF/UMLS&lt;br /&gt;
| Not all the predicates from RRF/UMLS have been transformed into RDF triples. Labels, descriptions and hierarchies are the only predicates that we support for the moment. &lt;br /&gt;
| Actions to fully transform the UMLS database into RDF are scheduledf for 2012 Q1.&lt;br /&gt;
|- &lt;br /&gt;
|NCI Metathesaurus&lt;br /&gt;
|Currently the process that transforms RRF/UMLS into RDF triples is unable to process NCI Metathesaurus. We are working to fix this issue but meanwhile NCI Metathesaurus cannot be accessed via our SPARQL service. &lt;br /&gt;
| This issue will be addressed together with the RRF/UMLS conversion (2012 Q1).&lt;br /&gt;
|-&lt;br /&gt;
|Ontology Mappings&lt;br /&gt;
|The ontology mapping data from BioPortal has not been migrated into the SPARQL database yet. &lt;br /&gt;
|Planned to be implemented in 2012 Q1.&lt;br /&gt;
|-&lt;br /&gt;
|Synchronization with BioPortal&lt;br /&gt;
|The offline process that syncs BioPortal with our RDF database runs once a day (6pm PST). Therefore, new ontology uploads in BioPortal will be reflected in the SPARQL endpoint after that time. &lt;br /&gt;
|This policy will remain in-place unless other policy is required.&lt;br /&gt;
|-&lt;br /&gt;
|Hierarchy Closure&lt;br /&gt;
|The SPARQL queries in the alpha release do not handle any semantics. The queries only work on the asserted triples and therefore, closures need to be resolve by recursively issuing SPARQL queries. &lt;br /&gt;
| Planned to be implemented in 2012 Q1.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;del&amp;gt;Synonyms&amp;lt;/del&amp;gt;&lt;br /&gt;
|&amp;lt;del&amp;gt;At the moment, synonyms are not handled in SPARQL queries. We are on the mechanism we will use to implement this feature, probably equivalent property reasoning.&amp;lt;/del&amp;gt;&lt;br /&gt;
| Implemented, see [[SPARQL BioPortal#Preferred Names, Synonyms and other common predicates|Preferred Names, Synonyms and other common predicates]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #FFEFC6; padding: 6px; border: 1px solid #FFD700; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
We understand that some of these points are limitations to the service as is provided today. The NCBO team is addressing these issues and working on the future SPARQL production infrastructure. Meanwhile, we offer this alpha release. Even though, the service is in alpha we plan to keep high up-time ratios. Please, contact us to provide feedback. Our support mailing list is: [mailto:support@bioontology.org support@bioontology.org]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal SPARQL Usage Policy ===&lt;br /&gt;
&lt;br /&gt;
The NCBO team is designing and implementing the infraestructure that will ensure a fair usage of our SPARQL service.&lt;br /&gt;
&lt;br /&gt;
While in ALPHA, the only queries that the service does not accept are the ones with triple patterns containing unbound subject, predicate and object; and unbound graph. For instance, the following are not acceptable queries: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { ?s ?p ?o }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { GRAPH ?g { ?s ?p ?o } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The two queries above are not accepted by the service because they try to retrieve all the triples in the store. Their use is considered problematic in open SPARQL endpoints. On the other side, the following query will be accepted:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { ?s rdf:type ?o }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any combination of triple patterns that enclose any of the two first cases these will be rejected and not processed. For example: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { &lt;br /&gt;
    GRAPH ?g { &lt;br /&gt;
        ?s ?p ?o . &lt;br /&gt;
        ?s rdf:type ?c &lt;br /&gt;
    } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Queries with variables in subjects, predicates and objects but with bound graphs will be accepted. The following query retrieves all triples from a single graph (ontology): &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX bio: &amp;lt;http://bioportal.bioontology.org/ontologies/&amp;gt;&lt;br /&gt;
SELECT * WHERE {&lt;br /&gt;
    GRAPH bio:1422 {&lt;br /&gt;
        ?s ?p ?o .&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX bio: &amp;lt;http://bioportal.bioontology.org/ontologies/&amp;gt;&lt;br /&gt;
SELECT * WHERE { &lt;br /&gt;
    GRAPH bio:1422 { &lt;br /&gt;
        ?s ?p ?o . &lt;br /&gt;
        ?s rdf:type ?c &lt;br /&gt;
    } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We accept two exceptions of queries that use unbound G, S, P and O. Our backend storage is optimized to resolve them and they are considered important SPARQL exploratory queries. These are the queries that list all distinct graphs or properties in the database: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?g WHERE {  GRAPH ?g { ?s ?p ?o } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?p WHERE { ?s ?p ?o }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have any questions about the usage policy or if you have any problems using our SPARQL Service then email our [[mailto:support@bioontology.org support email list]] or visit our [[http://alphasparql.bioontology.org/examples examples]] and code sections.&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11441</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11441"/>
		<updated>2011-11-30T02:49:37Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL_Release_Notes_And_Usage_Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Interface and Query Examples ===&lt;br /&gt;
&lt;br /&gt;
There is a Web interface to test SPARQL queries at http://alphasparql.bioontology.org/&lt;br /&gt;
&lt;br /&gt;
Also, interactive examples can be tested at the following page http://alphasparql.bioontology.org/examples&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Database Named Graph Structure ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;br /&gt;
&lt;br /&gt;
=== Preferred Names, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11440</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11440"/>
		<updated>2011-11-30T02:42:53Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
Before using the BioPortal SPARQL service please read our [[SPARQL_Release_Notes_And_Usage_Policy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
A github project contains examples to query our SPARQL service programmatically:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples &lt;br /&gt;
&lt;br /&gt;
A tarball with these examples is for download here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/ncbo/sparql-code-examples/tarball/master&lt;br /&gt;
&lt;br /&gt;
This project contains examples in Java, Python, JavaScript and Perl. Some of the examples use just language built-in capabilities and other need third-party libraries like Jena, Sesame or SPARQLWrapper. The github project and the tarball are self-contained, no need to download and install extra libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #F6F9ED; padding: 6px; border: 1px solid #aaaaaa; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
To run these examples or any other SPARQL queries programmatically an API key from BioPortal is required. If you do not have a BioPortal account go to [[http://bioportal.bioontology.org/accounts/new New Account]]  and create one. Once you have the BioPortal account, login in BioPortal and go to your account details. You should see your API Key as part of your account profile.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Preferred Names, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11439</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11439"/>
		<updated>2011-11-30T02:25:55Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: Replaced content with &amp;quot;Before using the BioPortal SPARQL service please read SPARQL_Release_Notes_And_Usage_Policy

=== Submitting SPARQL queries programmatically ===

yyyyyyyyyyy


=== Preferr...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Before using the BioPortal SPARQL service please read [[SPARQL_Release_Notes_And_Usage_Policy]]&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Preferred Names, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_Release_Notes_And_Usage_Policy&amp;diff=11438</id>
		<title>SPARQL Release Notes And Usage Policy</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_Release_Notes_And_Usage_Policy&amp;diff=11438"/>
		<updated>2011-11-30T02:23:49Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: Created page with &amp;quot;=== Alpha Release ===  This SPARQL endpoint is currently in alpha release. This alpha release is provided with the following limitations:   {| class=&amp;quot;wikitable&amp;quot; |- ! style=&amp;quot;backg...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Alpha Release ===&lt;br /&gt;
&lt;br /&gt;
This SPARQL endpoint is currently in alpha release. This alpha release is provided with the following limitations: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Item&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Description&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Status/Actions&lt;br /&gt;
|-&lt;br /&gt;
| Ontology Versions&lt;br /&gt;
| At the moment only the last version of each ontology is kept in our RDF database. &lt;br /&gt;
| In the future the data store will keep metadata with links to download old ontology versions. The data store will only contain data for the latest ontology version.&lt;br /&gt;
|-&lt;br /&gt;
| RRF/UMLS&lt;br /&gt;
| Not all the predicates from RRF/UMLS have been transformed into RDF triples. Labels, descriptions and hierarchies are the only predicates that we support for the moment. &lt;br /&gt;
| Actions to fully transform the UMLS database into RDF are scheduledf for 2012 Q1.&lt;br /&gt;
|- &lt;br /&gt;
|NCI Metathesaurus&lt;br /&gt;
|Currently the process that transforms RRF/UMLS into RDF triples is unable to process NCI Metathesaurus. We are working to fix this issue but meanwhile NCI Metathesaurus cannot be accessed via our SPARQL service. &lt;br /&gt;
| This issue will be addressed together with the RRF/UMLS conversion (2012 Q1).&lt;br /&gt;
|-&lt;br /&gt;
|Ontology Mappings&lt;br /&gt;
|The ontology mapping data from BioPortal has not been migrated into the SPARQL database yet. &lt;br /&gt;
|Planned to be implemented in 2012 Q1.&lt;br /&gt;
|-&lt;br /&gt;
|Synchronization with BioPortal&lt;br /&gt;
|The offline process that syncs BioPortal with our RDF database runs once a day (6pm PST). Therefore, new ontology uploads in BioPortal will be reflected in the SPARQL endpoint after that time. &lt;br /&gt;
|This policy will remain in-place unless other policy is required.&lt;br /&gt;
|-&lt;br /&gt;
|Hierarchy Closure&lt;br /&gt;
|The SPARQL queries in the alpha release do not handle any semantics. The queries only work on the asserted triples and therefore, closures need to be resolve by recursively issuing SPARQL queries. &lt;br /&gt;
| Planned to be implemented in 2012 Q1.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;del&amp;gt;Synonyms&amp;lt;/del&amp;gt;&lt;br /&gt;
|&amp;lt;del&amp;gt;At the moment, synonyms are not handled in SPARQL queries. We are on the mechanism we will use to implement this feature, probably equivalent property reasoning.&amp;lt;/del&amp;gt;&lt;br /&gt;
| Implemented, see ''Preferred Names, Synonyms and other common predicates''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #FFEFC6; padding: 6px; border: 1px solid #FFD700; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
We understand that some of these points are limitations to the service as is provided today. The NCBO team is addressing these issues and working on the future SPARQL production infrastructure. Meanwhile, we offer this alpha release. Even though, the service is in alpha we plan to keep high up-time ratios. Please, contact us to provide feedback. Our support mailing list is: [mailto:support@bioontology.org support@bioontology.org]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal SPARQL Usage Policy ===&lt;br /&gt;
&lt;br /&gt;
The NCBO team is designing and implementing the infraestructure that will ensure a fair usage of our SPARQL service.&lt;br /&gt;
&lt;br /&gt;
While in ALPHA, the only queries that the service does not accept are the ones with triple patterns containing unbound subject, predicate and object; and unbound graph. For instance, the following are not acceptable queries: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { ?s ?p ?o }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { GRAPH ?g { ?s ?p ?o } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The two queries above are not accepted by the service because they try to retrieve all the triples in the store. Their use is considered problematic in open SPARQL endpoints. On the other side, the following query will be accepted:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { ?s rdf:type ?o }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any combination of triple patterns that enclose any of the two first cases these will be rejected and not processed. For example: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { &lt;br /&gt;
    GRAPH ?g { &lt;br /&gt;
        ?s ?p ?o . &lt;br /&gt;
        ?s rdf:type ?c &lt;br /&gt;
    } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Queries with variables in subjects, predicates and objects but with bound graphs will be accepted. The following query retrieves all triples from a single graph (ontology): &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX bio: &amp;lt;http://bioportal.bioontology.org/ontologies/&amp;gt;&lt;br /&gt;
SELECT * WHERE {&lt;br /&gt;
    GRAPH bio:1422 {&lt;br /&gt;
        ?s ?p ?o .&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX bio: &amp;lt;http://bioportal.bioontology.org/ontologies/&amp;gt;&lt;br /&gt;
SELECT * WHERE { &lt;br /&gt;
    GRAPH bio:1422 { &lt;br /&gt;
        ?s ?p ?o . &lt;br /&gt;
        ?s rdf:type ?c &lt;br /&gt;
    } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We accept two exceptions of queries that use unbound G, S, P and O. Our backend storage is optimized to resolve them and they are considered important SPARQL exploratory queries. These are the queries that list all distinct graphs or properties in the database: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?g WHERE {  GRAPH ?g { ?s ?p ?o } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?p WHERE { ?s ?p ?o }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have any questions about the usage policy or if you have any problems using our SPARQL Service then email our [[mailto:support@bioontology.org support email list]] or visit our [[http://alphasparql.bioontology.org/examples examples]] and code sections.&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11437</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11437"/>
		<updated>2011-11-30T02:21:03Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* BioPortal SPARQL Usage Policy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;lorem ipsu ....&lt;br /&gt;
&lt;br /&gt;
=== Alpha Release ===&lt;br /&gt;
&lt;br /&gt;
This SPARQL endpoint is currently in alpha release. This alpha release is provided with the following limitations: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Item&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Description&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Status/Actions&lt;br /&gt;
|-&lt;br /&gt;
| Ontology Versions&lt;br /&gt;
| At the moment only the last version of each ontology is kept in our RDF database. &lt;br /&gt;
| In the future the data store will keep metadata with links to download old ontology versions. The data store will only contain data for the latest ontology version.&lt;br /&gt;
|-&lt;br /&gt;
| RRF/UMLS&lt;br /&gt;
| Not all the predicates from RRF/UMLS have been transformed into RDF triples. Labels, descriptions and hierarchies are the only predicates that we support for the moment. &lt;br /&gt;
| Actions to fully transform the UMLS database into RDF are scheduledf for 2012 Q1.&lt;br /&gt;
|- &lt;br /&gt;
|NCI Metathesaurus&lt;br /&gt;
|Currently the process that transforms RRF/UMLS into RDF triples is unable to process NCI Metathesaurus. We are working to fix this issue but meanwhile NCI Metathesaurus cannot be accessed via our SPARQL service. &lt;br /&gt;
| This issue will be addressed together with the RRF/UMLS conversion (2012 Q1).&lt;br /&gt;
|-&lt;br /&gt;
|Ontology Mappings&lt;br /&gt;
|The ontology mapping data from BioPortal has not been migrated into the SPARQL database yet. &lt;br /&gt;
|Planned to be implemented in 2012 Q1.&lt;br /&gt;
|-&lt;br /&gt;
|Synchronization with BioPortal&lt;br /&gt;
|The offline process that syncs BioPortal with our RDF database runs once a day (6pm PST). Therefore, new ontology uploads in BioPortal will be reflected in the SPARQL endpoint after that time. &lt;br /&gt;
|This policy will remain in-place unless other policy is required.&lt;br /&gt;
|-&lt;br /&gt;
|Hierarchy Closure&lt;br /&gt;
|The SPARQL queries in the alpha release do not handle any semantics. The queries only work on the asserted triples and therefore, closures need to be resolve by recursively issuing SPARQL queries. &lt;br /&gt;
| Planned to be implemented in 2012 Q1.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;del&amp;gt;Synonyms&amp;lt;/del&amp;gt;&lt;br /&gt;
|&amp;lt;del&amp;gt;At the moment, synonyms are not handled in SPARQL queries. We are on the mechanism we will use to implement this feature, probably equivalent property reasoning.&amp;lt;/del&amp;gt;&lt;br /&gt;
| Implemented, see ''Preferred Names, Synonyms and other common predicates''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #FFEFC6; padding: 6px; border: 1px solid #FFD700; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
We understand that some of these points are limitations to the service as is provided today. The NCBO team is addressing these issues and working on the future SPARQL production infrastructure. Meanwhile, we offer this alpha release. Even though, the service is in alpha we plan to keep high up-time ratios. Please, contact us to provide feedback. Our support mailing list is: [mailto:support@bioontology.org support@bioontology.org]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal SPARQL Usage Policy ===&lt;br /&gt;
&lt;br /&gt;
The NCBO team is designing and implementing the infraestructure that will ensure a fair usage of our SPARQL service.&lt;br /&gt;
&lt;br /&gt;
While in ALPHA, the only queries that the service does not accept are the ones with triple patterns containing unbound subject, predicate and object; and unbound graph. For instance, the following are not acceptable queries: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { ?s ?p ?o }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { GRAPH ?g { ?s ?p ?o } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The two queries above are not accepted by the service because they try to retrieve all the triples in the store. Their use is considered problematic in open SPARQL endpoints. On the other side, the following query will be accepted:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { ?s rdf:type ?o }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any combination of triple patterns that enclose any of the two first cases these will be rejected and not processed. For example: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { &lt;br /&gt;
    GRAPH ?g { &lt;br /&gt;
        ?s ?p ?o . &lt;br /&gt;
        ?s rdf:type ?c &lt;br /&gt;
    } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Queries with variables in subjects, predicates and objects but with bound graphs will be accepted. The following query retrieves all triples from a single graph (ontology): &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX bio: &amp;lt;http://bioportal.bioontology.org/ontologies/&amp;gt;&lt;br /&gt;
SELECT * WHERE {&lt;br /&gt;
    GRAPH bio:1422 {&lt;br /&gt;
        ?s ?p ?o .&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX bio: &amp;lt;http://bioportal.bioontology.org/ontologies/&amp;gt;&lt;br /&gt;
SELECT * WHERE { &lt;br /&gt;
    GRAPH bio:1422 { &lt;br /&gt;
        ?s ?p ?o . &lt;br /&gt;
        ?s rdf:type ?c &lt;br /&gt;
    } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We accept two exceptions of queries that use unbound G, S, P and O. Our backend storage is optimized to resolve them and they are considered important SPARQL exploratory queries. These are the queries that list all distinct graphs or properties in the database: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?g WHERE {  GRAPH ?g { ?s ?p ?o } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?p WHERE { ?s ?p ?o }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have any questions about the usage policy or if you have any problems using our SPARQL Service then email our [[mailto:support@bioontology.org support email list]] or visit our [[http://alphasparql.bioontology.org/examples examples]] and code sections.&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Preferred Names, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11436</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11436"/>
		<updated>2011-11-30T02:20:27Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* BioPortal SPARQL Usage Policy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;lorem ipsu ....&lt;br /&gt;
&lt;br /&gt;
=== Alpha Release ===&lt;br /&gt;
&lt;br /&gt;
This SPARQL endpoint is currently in alpha release. This alpha release is provided with the following limitations: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Item&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Description&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Status/Actions&lt;br /&gt;
|-&lt;br /&gt;
| Ontology Versions&lt;br /&gt;
| At the moment only the last version of each ontology is kept in our RDF database. &lt;br /&gt;
| In the future the data store will keep metadata with links to download old ontology versions. The data store will only contain data for the latest ontology version.&lt;br /&gt;
|-&lt;br /&gt;
| RRF/UMLS&lt;br /&gt;
| Not all the predicates from RRF/UMLS have been transformed into RDF triples. Labels, descriptions and hierarchies are the only predicates that we support for the moment. &lt;br /&gt;
| Actions to fully transform the UMLS database into RDF are scheduledf for 2012 Q1.&lt;br /&gt;
|- &lt;br /&gt;
|NCI Metathesaurus&lt;br /&gt;
|Currently the process that transforms RRF/UMLS into RDF triples is unable to process NCI Metathesaurus. We are working to fix this issue but meanwhile NCI Metathesaurus cannot be accessed via our SPARQL service. &lt;br /&gt;
| This issue will be addressed together with the RRF/UMLS conversion (2012 Q1).&lt;br /&gt;
|-&lt;br /&gt;
|Ontology Mappings&lt;br /&gt;
|The ontology mapping data from BioPortal has not been migrated into the SPARQL database yet. &lt;br /&gt;
|Planned to be implemented in 2012 Q1.&lt;br /&gt;
|-&lt;br /&gt;
|Synchronization with BioPortal&lt;br /&gt;
|The offline process that syncs BioPortal with our RDF database runs once a day (6pm PST). Therefore, new ontology uploads in BioPortal will be reflected in the SPARQL endpoint after that time. &lt;br /&gt;
|This policy will remain in-place unless other policy is required.&lt;br /&gt;
|-&lt;br /&gt;
|Hierarchy Closure&lt;br /&gt;
|The SPARQL queries in the alpha release do not handle any semantics. The queries only work on the asserted triples and therefore, closures need to be resolve by recursively issuing SPARQL queries. &lt;br /&gt;
| Planned to be implemented in 2012 Q1.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;del&amp;gt;Synonyms&amp;lt;/del&amp;gt;&lt;br /&gt;
|&amp;lt;del&amp;gt;At the moment, synonyms are not handled in SPARQL queries. We are on the mechanism we will use to implement this feature, probably equivalent property reasoning.&amp;lt;/del&amp;gt;&lt;br /&gt;
| Implemented, see ''Preferred Names, Synonyms and other common predicates''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #FFEFC6; padding: 6px; border: 1px solid #FFD700; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
We understand that some of these points are limitations to the service as is provided today. The NCBO team is addressing these issues and working on the future SPARQL production infrastructure. Meanwhile, we offer this alpha release. Even though, the service is in alpha we plan to keep high up-time ratios. Please, contact us to provide feedback. Our support mailing list is: [mailto:support@bioontology.org support@bioontology.org]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal SPARQL Usage Policy ===&lt;br /&gt;
&lt;br /&gt;
The NCBO team is designing and implementing the infraestructure that will ensure a fair usage of our SPARQL service.&lt;br /&gt;
&lt;br /&gt;
While in ALPHA, the only queries that the service does not accept are the ones with triple patterns containing unbound subject, predicate and object; and unbound graph. For instance, the following are not acceptable queries: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { ?s ?p ?o }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { GRAPH ?g { ?s ?p ?o } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The two queries above are not accepted by the service because they try to retrieve all the triples in the store. Their use is considered problematic in open SPARQL endpoints. On the other side, the following query will be accepted:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { ?s rdf:type ?o }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any combination of triple patterns that enclose any of the two first cases these will be rejected and not processed. For example: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * WHERE { &lt;br /&gt;
    GRAPH ?g { &lt;br /&gt;
        ?s ?p ?o . &lt;br /&gt;
        ?s rdf:type ?c &lt;br /&gt;
    } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Queries with variables in subjects, predicates and objects but with bound graphs will be accepted. The following query retrieves all triples from a single graph (ontology): &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX bio: &amp;lt;http://bioportal.bioontology.org/ontologies/&amp;gt;&lt;br /&gt;
SELECT * WHERE {&lt;br /&gt;
    GRAPH bio:1422 {&lt;br /&gt;
        ?s ?p ?o .&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX bio: &amp;lt;http://bioportal.bioontology.org/ontologies/&amp;gt;&lt;br /&gt;
SELECT * WHERE { &lt;br /&gt;
    GRAPH bio:1422 { &lt;br /&gt;
        ?s ?p ?o . &lt;br /&gt;
        ?s rdf:type ?c &lt;br /&gt;
    } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We accept two exceptions of queries that use unbound G, S, P and O. Our backend storage is optimized to resolve them and they are considered important SPARQL exploratory queries. These are the queries that list all distinct graphs or properties in the database: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?g WHERE {  GRAPH ?g { ?s ?p ?o } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT ?p WHERE { ?s ?p ?o }&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have any questions about the usage policy or if you have any problems using our SPARQL Service then email our [[mailto:support@bioontology.org support email list]] or visit our [[http://alphasparql.bioontology.org/examples examples]] and code sections.&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Preferred Names, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11435</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11435"/>
		<updated>2011-11-30T02:09:01Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: /* Alpha Release */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;lorem ipsu ....&lt;br /&gt;
&lt;br /&gt;
=== Alpha Release ===&lt;br /&gt;
&lt;br /&gt;
This SPARQL endpoint is currently in alpha release. This alpha release is provided with the following limitations: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Item&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Description&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Status/Actions&lt;br /&gt;
|-&lt;br /&gt;
| Ontology Versions&lt;br /&gt;
| At the moment only the last version of each ontology is kept in our RDF database. &lt;br /&gt;
| In the future the data store will keep metadata with links to download old ontology versions. The data store will only contain data for the latest ontology version.&lt;br /&gt;
|-&lt;br /&gt;
| RRF/UMLS&lt;br /&gt;
| Not all the predicates from RRF/UMLS have been transformed into RDF triples. Labels, descriptions and hierarchies are the only predicates that we support for the moment. &lt;br /&gt;
| Actions to fully transform the UMLS database into RDF are scheduledf for 2012 Q1.&lt;br /&gt;
|- &lt;br /&gt;
|NCI Metathesaurus&lt;br /&gt;
|Currently the process that transforms RRF/UMLS into RDF triples is unable to process NCI Metathesaurus. We are working to fix this issue but meanwhile NCI Metathesaurus cannot be accessed via our SPARQL service. &lt;br /&gt;
| This issue will be addressed together with the RRF/UMLS conversion (2012 Q1).&lt;br /&gt;
|-&lt;br /&gt;
|Ontology Mappings&lt;br /&gt;
|The ontology mapping data from BioPortal has not been migrated into the SPARQL database yet. &lt;br /&gt;
|Planned to be implemented in 2012 Q1.&lt;br /&gt;
|-&lt;br /&gt;
|Synchronization with BioPortal&lt;br /&gt;
|The offline process that syncs BioPortal with our RDF database runs once a day (6pm PST). Therefore, new ontology uploads in BioPortal will be reflected in the SPARQL endpoint after that time. &lt;br /&gt;
|This policy will remain in-place unless other policy is required.&lt;br /&gt;
|-&lt;br /&gt;
|Hierarchy Closure&lt;br /&gt;
|The SPARQL queries in the alpha release do not handle any semantics. The queries only work on the asserted triples and therefore, closures need to be resolve by recursively issuing SPARQL queries. &lt;br /&gt;
| Planned to be implemented in 2012 Q1.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;del&amp;gt;Synonyms&amp;lt;/del&amp;gt;&lt;br /&gt;
|&amp;lt;del&amp;gt;At the moment, synonyms are not handled in SPARQL queries. We are on the mechanism we will use to implement this feature, probably equivalent property reasoning.&amp;lt;/del&amp;gt;&lt;br /&gt;
| Implemented, see ''Preferred Names, Synonyms and other common predicates''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #FFEFC6; padding: 6px; border: 1px solid #FFD700; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
We understand that some of these points are limitations to the service as is provided today. The NCBO team is addressing these issues and working on the future SPARQL production infrastructure. Meanwhile, we offer this alpha release. Even though, the service is in alpha we plan to keep high up-time ratios. Please, contact us to provide feedback. Our support mailing list is: [mailto:support@bioontology.org support@bioontology.org]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal SPARQL Usage Policy ===&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Preferred Names, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11434</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11434"/>
		<updated>2011-11-30T02:08:00Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;lorem ipsu ....&lt;br /&gt;
&lt;br /&gt;
=== Alpha Release ===&lt;br /&gt;
&lt;br /&gt;
This SPARQL endpoint is currently in alpha release. This alpha release is provided with the following limitations: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Item&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Description&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Status/Actions&lt;br /&gt;
|-&lt;br /&gt;
| Ontology Versions&lt;br /&gt;
| At the moment only the last version of each ontology is kept in our RDF database. &lt;br /&gt;
| In the future the data store will keep metadata with links to download old ontology versions. But the triple store will only contain data for the latest ontology version.&lt;br /&gt;
|-&lt;br /&gt;
| RRF/UMLS&lt;br /&gt;
| Not all the predicates from RRF/UMLS have been transformed into RDF triples. Labels, descriptions and hierarchies are the only predicates that we support for the moment. &lt;br /&gt;
| Actions to fully transform the UMLS database into RDF are scheduledf for 2012 Q1.&lt;br /&gt;
|- &lt;br /&gt;
|NCI Metathesaurus&lt;br /&gt;
|Currently the process that transforms RRF/UMLS into RDF triples is unable to process NCI Metathesaurus. We are working to fix this issue but meanwhile NCI Metathesaurus cannot be accessed via our SPARQL service. &lt;br /&gt;
| This issue will be addressed together with the RRF/UMLS conversion (2012 Q1).&lt;br /&gt;
|-&lt;br /&gt;
|Ontology Mappings&lt;br /&gt;
|The ontology mapping data from BioPortal has not been migrated into the SPARQL database yet. &lt;br /&gt;
|Planned to be implemented in 2012 Q1.&lt;br /&gt;
|-&lt;br /&gt;
|Synchronization with BioPortal&lt;br /&gt;
|The offline process that syncs BioPortal with our RDF database runs once a day (6pm PST). Therefore, new ontology uploads in BioPortal will be reflected in the SPARQL endpoint after that time. &lt;br /&gt;
|This policy will remain in-place unless other policy is required.&lt;br /&gt;
|-&lt;br /&gt;
|Hierarchy Closure&lt;br /&gt;
|The SPARQL queries in the alpha release do not handle any semantics. The queries only work on the asserted triples and therefore, closures need to be resolve by recursively issuing SPARQL queries. &lt;br /&gt;
| Planned to be implemented in 2012 Q1.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;del&amp;gt;Synonyms&amp;lt;/del&amp;gt;&lt;br /&gt;
|&amp;lt;del&amp;gt;At the moment, synonyms are not handled in SPARQL queries. We are on the mechanism we will use to implement this feature, probably equivalent property reasoning.&amp;lt;/del&amp;gt;&lt;br /&gt;
| Implemented, see ''Preferred Names, Synonyms and other common predicates''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #FFEFC6; padding: 6px; border: 1px solid #FFD700; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
We understand that some of these points are limitations to the service as is provided today. The NCBO team is addressing these issues and working on the future SPARQL production infrastructure. Meanwhile, we offer this alpha release. Even though, the service is in alpha we plan to keep high up-time ratios. Please, contact us to provide feedback. Our support mailing list is: [mailto:support@bioontology.org support@bioontology.org]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal SPARQL Usage Policy ===&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Preferred Names, Synonyms and other common predicates ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11433</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11433"/>
		<updated>2011-11-30T01:46:12Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;lorem ipsu ....&lt;br /&gt;
&lt;br /&gt;
=== Alpha Release ===&lt;br /&gt;
&lt;br /&gt;
This SPARQL endpoint is currently in alpha release. This alpha release is provided with the following limitations: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Item&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Description&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Status/Actions&lt;br /&gt;
|-&lt;br /&gt;
| Ontology Versions&lt;br /&gt;
| At the moment only the last version of each ontology is kept in our RDF database. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 10px; background: #FFEFC6; padding: 6px; border: 1px solid #FFD700; margin-bottom: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
We understand that some of these points are limitations to the service as is provided today. The NCBO team is addressing these issues and working on the production infrastructure for the BioPortal project. Meanwhile, we offer this alpha release. Even though, the service is in alpha we plan to keep high up-time ratios.&lt;br /&gt;
Please, contact us to provide feedback. Our support mailing list is: [mailto:support@bioontology.org support@bioontology.org]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BioPortal SPARQL Usage Policy ===&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Queries across common predicates (preferred names, synonyms, ...) ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11432</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11432"/>
		<updated>2011-11-30T01:31:47Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;lorem ipsu ....&lt;br /&gt;
&lt;br /&gt;
=== Alpha Release ===&lt;br /&gt;
&lt;br /&gt;
This SPARQL endpoint is currently in alpha release. This alpha release is provided with the following limitations: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Item&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Description&lt;br /&gt;
! style=&amp;quot;background:#efefef;&amp;quot; | Status&lt;br /&gt;
|-&lt;br /&gt;
| Ontology Versions&lt;br /&gt;
| [[Public Requirements Redirect|Public Requirements]]&lt;br /&gt;
| [http://www.bisti.nih.gov/ncbc/ Home page of National Centers for Biomedical Computing]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We understand that these points are limitations to the service as is provided today. The NCBO team is addressing these issues and working on the production infrastructure for the BioPortal project. Meanwhile, we offer this alpha release. Even though, the service is in alpha we plan to keep high up-time ratios.&lt;br /&gt;
Please, contact us to provide feedback. Our support mailing list is: support@bioontology.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BioPortal SPARQL Usage Policy ===&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Queries across common predicates (preferred names, synonyms, ...) ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11431</id>
		<title>SPARQL BioPortal</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=SPARQL_BioPortal&amp;diff=11431"/>
		<updated>2011-11-30T01:25:04Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: Created page with &amp;quot; lorem ipsu ....  === Alpha Release ===  xxxxxxxxxxx  === BioPortal SPARQL Usage Policy ===  === Submitting SPARQL queries programmatically ===  yyyyyyyyyyy&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
lorem ipsu ....&lt;br /&gt;
&lt;br /&gt;
=== Alpha Release ===&lt;br /&gt;
&lt;br /&gt;
xxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
=== BioPortal SPARQL Usage Policy ===&lt;br /&gt;
&lt;br /&gt;
=== Submitting SPARQL queries programmatically ===&lt;br /&gt;
&lt;br /&gt;
yyyyyyyyyyy&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
	<entry>
		<id>https://www.bioontology.org//mediawiki/index.php?title=News_Events_Publications&amp;diff=11430</id>
		<title>News Events Publications</title>
		<link rel="alternate" type="text/html" href="https://www.bioontology.org//mediawiki/index.php?title=News_Events_Publications&amp;diff=11430"/>
		<updated>2011-11-30T01:21:34Z</updated>

		<summary type="html">&lt;p&gt;Manuel Salvadores: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please see the new [http://www.bioontology.org/news_and_events NCBO News Site]&lt;br /&gt;
&lt;br /&gt;
You can also find information on the latest NCBO [http://www.bioontology.org/publications Publications] and [http://www.bioontology.org/events.html Events]&lt;/div&gt;</summary>
		<author><name>Manuel Salvadores</name></author>
	</entry>
</feed>