AberOWL Help

AberOWL (pronounced /ˌæbəˈraʊl/) is a framework for ontology-based access to biological data. It consists of a repository of bio-ontologies, a set of webservices which provide access to OWL(-EL) reasoning over the ontologies, and several frontends which utilise the ontology repository and reasoning services to provide access to specific biological datasets.

Web Repository

The web-based repository front-end provides many features underpinned by reasoned access to ontologies.

Uploading ontologies

To do this you must first create an account, then fill out the form on the upload page. It is probably a good idea to check whether an ontology exists first. You can also upload new versions of an existing ontology once you have claimed it.

Claiming ontologies

To claim an ontology, and gain the ability to manage it and upload new versions, you should send an email to Luke or robert.hoehndorf@kaust.edu.sa.

Querying ontologies

Class Query

AberOWL provides semantic access to ontologies. It performs OWL-EL reasoning over a repository of ontologies using the ELK reasoner and answers queries over single ontologies or the full AberOWL ontology repository. Ontologies in AberOWL are identified by their name, and queries are performed in Manchester OWL Syntax. Class names in Manchester OWL syntax are rendered using the rdfs:label property of the class, and class names containing a space are surrounded by single quotes. To query an OWL class description, type the class description in Manchester OWL syntax in the query box. Make sure to select the kind of query: retrieve subclasses, equivalent classes, or superclasses of the class description.

PubMed Query

AberOWL: Pubmed is a semantic search engine for Pubmed and Pubmed Central. We maintain an index of Medline abstracts and fulltext articles in Pubmed Central. AberOWL: Pubmed takes an OWL query as input, an ontology, and query type (subclass, superclass, equivalent), retrieves all classes satisfying the query from AberOWL, and constructs a query based on the disjunction of class names. Relevant documents are then retrieved from a local Apache Lucene-based repository of abstracts and articles. PubMed queries can be accessed on the frontpage or for each ontology. When the PubMed tab in an ontology view is opened, a PubMed query is automatically executed to retrieve documents from PubMed and PubMed Central in which the queried concept occurs.

SPARQL Query

AberOWL: SPARQL provides semantic access to Linked Data by incorporating OWL reasoning within the SPARQL syntax. In particular, AberOWL: SPARQL performs query expansion based on SPARQL syntax extended by the following construct:

OWL [querytype] [<AberOWL service URI>] [<ontology name>] { [OWL query] }
For example, the query
OWL subclass <http://aber-owl.net/aber-owl/service/> <GO> { part_of some 'apoptotic process' } 
will return a set of class URIs that satisfy the query part_of some 'apoptotic process' in the Gene Ontology.

There are two main forms in which the OWL statement can be embedded within a SPARQL query. The first is the VALUES form, in which the results of the OWL query are bound to a variable using the SPARQL VALUES statement. For example,

 VALUES ?ontid { 
   OWL subclass <http://aber-owl.net/aber-owl/service/> <> { part_of some 'apoptotic process' }
 }
will bind the ontology URIs resulting from the OWL query (part_of some 'apoptotic process') to the variable ?ontid.

The second use of the OWL statement is in the form of a FILTER statement. For example, the query

 FILTER ( 
   ?ontid IN ( OWL subclass <http://aber-owl.net/aber-owl/service/> <http://purl.obolibrary.org/obo/hp.owl> { arrhythmia } )
 )
will filter the results of a SPARQL query such that the values of ?ontid must be in the result list of the OWL query.

As many SPARQL endpoints use different IRIs to refer to classes in ontologies, we have added the possibility to redefine prefixes for the

resulting ontology classes such that they match the IRI scheme used by a particular SPARQL endpoint. To use this feature, the "Use OBO-style URIs" checkbox must be selected. This will transform the class IRIs resulting from an OWL query into OBO-style prefix form and will add the appropriate prefix to the SPARQL query if it has not been defined in the query itself. For example, the UniProt SPARQL endpoint (http://beta.sparql.uniprot.org) uses the URI pattern "http://purl.uniprot.org/go/<id>" to refer to Gene Ontology classes (instead of the standard "http://purl.obolibrary.org/obo/GO_<id>". Adding the prefix definition
PREFIX GO: <http://purl.uniprot.org/go/>
to the SPARQL query and selecting the "Use OBO-style URIs" option will perform the query over UniProt.

AberOWL API

The API root is http://aber-owl.net/service/api/

runQuery.groovy

This runs a Manchester OWL Syntax query against the server.

Examples

A query for subclasses and equivalent classes in GO for 'part of' some 'apoptotic process': http://aber-owl.net/service/api/runQuery.groovy?type=subeq&query='part of' some 'apoptotic process'&ontology=GO&labels=true,

The same query using IRIs instead of labels: http://aber-owl.net/service/api/runQuery.groovy?type=subeq&query=<http://purl.obolibrary.org/obo/BFO_0000050> some <http://purl.obolibrary.org/obo/GO_0006915>&ontology=GO.

Parameters

NameTypeOptionalDefaultDescription
querystringnoNoneThe Manchester OWL Syntax query
typestringyessubeqThe classes to return related to the query. One of subclass, superclass, subeq, supeq, equivalent.
ontologystringyes An ontology to run the query against. If not provided, query will be run against all ontologies in the repository.
labelsbooleanyesfalseWhether to allow labels in the query. By default, URIs must be used.
directbooleanyesfalseWhether to retrieve only direct subclasses or superclasses. Ignored for equivalent queries.

queryNames.groovy

This provides partial matches on labels.

Examples

A query for 'ventricular' in the Human Phenotype Ontology: http://aber-owl.net/service/api/queryNames.groovy?term=ventricular&ontology=HP

and the same query over all ontologies: http://aber-owl.net/service/api/queryNames.groovy?term=ventricular&ontology=

Parameters

NameTypeOptionalDefaultDescription
termstringnoNoneA partial class name.
ontologystringyes An ontology to run the query against. If not provided, query will be run against all ontologies in the repository.

getClass.groovy

Retrieve one particular class from an ontology, by label name.

Parameters

NameTypeOptionalDefaultDescription
querystringnoNoneA label of the class to retrieve.
ontologystringnoNoneAn ontology to run the query against.

findRoot.groovy

Given a reference to a particular class by label and ontology, retrieve a route back to the root of the ontology.

Parameters

NameTypeOptionalDefaultDescription
querystringnoNoneA label of the class to retrieve.
ontologystringnoNoneAn ontology to run the query against.

getStats.groovy

This provides stats on either one ontology, or all ontologies in the database.

Parameters

NameTypeOptionalDefaultDescription
ontologystringyes An ontology to retrieve stats for. If not provided, total stats will be returned for the whole repository.

listOntologies.groovy

Return a list of all the ontologies in the repository.

getStatuses.groovy

Return a list of all the ontologies in the repository, with associated load statuses.

Frequently Asked Questions

Where can I read more?

You can read the paper about AberOWL here.

What technology does AberOWL use?

The AberOWL server is built using the Groovy programming language, and builds on the OWL-API library. Reasoning is performed using the ELK reasoner.

The ontology repository is built using NodeJS, and, er, HTML (Jade) and shares a Redis instance with the AberOWL server backend.

Where is the source?

Check it at GitHub

Where to get more help or send feature requests/suggesetions?

You can open an issue on our GitHub or ask questions on our mailing list.

Can I get a log of the queries performed on AberOWL, and their execution time?

Yes, you can find a log at http://aber-owl.net/queries.log. The log is updated in real time and shows the query that is run, the type of query (empty means subeq), the ontology that is queries (empty means all ontologies), a flag that shows whether only direct sub- or superclasses are queried (empty means false), whether labels are used in the query (empty means false), the number of classes returned, and the execution time of the query..

Who works on AberOWL?

Can you show me all the unsatisfiable classes across all ontologies?

Yes: http://aber-owl.net/service/api/runQuery.groovy?type=equivalent&query=%3Chttp://www.w3.org/2002/07/owl%23Nothing%3E

How do I cite AberOWL?

To cite AberOWL, please use the following reference:

AberOWL: a framework for ontology-based data access in biology. Hoehndorf, R; Slater, L; Schofield, PN; Gkoutos, Georgios V. BMC Bioinformatics 16:26, 2015.