We provide some Web Services for programmatic access to the content of the Systems Biology Ontology.
List of services available
All the services provided are listed in detail here.
Alternatively, you can access to the WSDL file here.
The SBO Web Services evolved in order to be more coherent and easier to use. If you were using the previous Web Services, here are the things which changed:
Official identifiers (for example SBO:0000029) are now used as parameters of all methods available (instead of the number only part previously used). New methods have therefore been created, using the official identifiers as parameters; and old methods, using number only identifiers, became obsolete. Have a look at the list of available services in order to know which methods are obsolete and which methods you should use instead.
A conversion method (only available via the Java library) allows one to convert number only identifiers into official ones.
When a method returns a list of values (for example getTerms()), the result can be null or an empty list.
In order to communicate with the Web Services within a Java program, you can use the library below (distributed under the terms of the GNU General Public License). Two versions are provided:
- sbows-demo.jar (basic version: you need a couple of external jars to use it)
- sbows-standalone-demo.jar (standalone version: all the dependencies are included in the jar)
Here are the dependencies (for the basic version):
Most of them come from the JAX-WS RI:
A full sample program showing the usage of the library is available for download.
The results retrieved should be similar to these ones.
Here is an overview of the usage of the library and some useful methods provided:
// creation of the link to the SBO Web Services SBOLink link = new SBOLink(); // is your library the latest available? boolean libraryUpdated = link.isLibraryUpdated(); // conversion of identifier (integer one into the official one) String id = link.convertId(192); // should return 'SBO:0000192' // term retrieval (with direct access to its details) Term term = link.getTerm("SBO:0000192"); String name = term.getName(); String mathml = term.getMathml(); // OWL retrieval String owl = link.getOWLTerm("SBO:0000144"); // generic search List<Term> terms = link.search("Henri-Michaelis-Menten"); // framework retrieval String frameworkId = link.getFramework("SBO:0000076"); // parents retrieval List<String> parentIds = link.getParents("SBO:0000028"); // and much more...