SPARQL Release Notes And Usage Policy

From NCBO Wiki
Revision as of 11:16, 1 December 2011 by Manuel Salvadores (talk | contribs)
Jump to navigation Jump to search

Alpha Release

This SPARQL endpoint is currently in alpha release. This alpha release is provided with the following limitations:

Item Description Status/Actions
Ontology Versions At the moment only the last version of each ontology is kept in our RDF database. 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.
RRF/UMLS 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. Actions to fully transform the UMLS database into RDF are scheduledf for 2012 Q1.
NCI Metathesaurus 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. This issue will be addressed together with the RRF/UMLS conversion (2012 Q1).
Ontology Mappings The ontology mapping data from BioPortal has not been migrated into the SPARQL database yet. Planned to be implemented in 2012 Q1.
Synchronization with BioPortal 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. This policy will remain in-place unless other policy is required.
Hierarchy Closure 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. Planned to be implemented in 2012 Q1.
Synonyms 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. Implemented, see Preferred Names, Synonyms and other common predicates

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: support@bioontology.org

BioPortal SPARQL Usage Policy

The NCBO team is designing and implementing the infraestructure that will ensure a fair usage of our SPARQL service.

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:

SELECT * WHERE { ?s ?p ?o }
SELECT * WHERE { GRAPH ?g { ?s ?p ?o } }

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:

SELECT * WHERE { ?s rdf:type ?o }

Any combination of triple patterns that enclose any of the two first cases these will be rejected and not processed. For example:

SELECT * WHERE { 
    GRAPH ?g { 
        ?s ?p ?o . 
        ?s rdf:type ?c 
    } }

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):

PREFIX bio: <http://bioportal.bioontology.org/ontologies/>
SELECT * WHERE {
    GRAPH bio:1422 {
        ?s ?p ?o .
    }
}
PREFIX bio: <http://bioportal.bioontology.org/ontologies/>
SELECT * WHERE { 
    GRAPH bio:1422 { 
        ?s ?p ?o . 
        ?s rdf:type ?c 
    } }

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:

SELECT DISTINCT ?g WHERE {  GRAPH ?g { ?s ?p ?o } }
SELECT DISTINCT ?p WHERE { ?s ?p ?o }


If you have any questions about the usage policy or if you have any problems using our SPARQL Service then email our [support email list] or visit our [examples] and code sections.