Difference between revisions of "SPARQL BioPortal"
m |
|||
Line 58: | Line 58: | ||
=== BioPortal Preferred Label === | === BioPortal Preferred Label === | ||
− | + | 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) | |
+ | |||
+ | * '''Missing labels''': for every owl:Class that is missing a label we generate a label based on the latest fragment of URI. | ||
+ | |||
+ | * '''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. | ||
=== Preferred Label, Synonyms and other common predicates === | === Preferred Label, Synonyms and other common predicates === | ||
yyyyyyyyyyy | yyyyyyyyyyy |
Revision as of 12:36, 1 December 2011
Before using the BioPortal SPARQL service please read our SPARQL Release Notes And Usage Policy
Web Interface and Query Examples
There is a Web interface to test SPARQL queries at http://alphasparql.bioontology.org/
Also, interactive examples can be tested here http://alphasparql.bioontology.org/examples
Submitting SPARQL queries programmatically
A github project contains examples to query our SPARQL service programmatically:
https://github.com/ncbo/sparql-code-examples
A tarball with these examples is for download here:
https://github.com/ncbo/sparql-code-examples/tarball/master
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.
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 [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.
Database Named Graph Structure
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:
http://bioportal.bioontology.org/ontologies/{VIRTUAL ID}
For example:
http://bioportal.bioontology.org/ontologies/1407
The predicate that connects metadata graphs with ontology data graphs is:
http://bioportal.bioontology.org/metadata/def/hasVersion
Therefore, a SPARQL query like:
SELECT ?graph { ?graph <http://bioportal.bioontology.org/metadata/def/hasVersion> ?version }
... would list all the graphs IDs for all the ontologies in the RDF database.
BioPortal Preferred Label
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)
- Missing labels: for every owl:Class that is missing a label we generate a label based on the latest fragment of URI.
- 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.
Preferred Label, Synonyms and other common predicates
yyyyyyyyyyy