Snorocket is an implementation of the Dresden algorithm that is tuned for classifying the SNOMED CT clinical terminology. As the name suggests, Snorocket is fast, able to classify SNOMED CT at least an order of magnitude faster than other known classifiers. Snorocket will underpin the development of other solutions at AEHRC which use the SNOMED CT terminology for integrating, querying or retrieving health and health related data. Snorocket provides a simple API for supporting third party tools with the need for fast classification of large ontologies.

A number of extensions of SNOMED CT are now being developed by standards bodies world-wide. The development and use of specific extensions, for particular diseases or domains (e.g., pharmaceuticals) will require tools, such as Snorocket, that can process these complex knowledge bases. Below is an image displaying a small part of the SNOMED CT ontology with ICD 10 codes added as a specific extension. Snorocket is able to process the complete extended ontology in under a minute.


Snorocket for Protégé and OWL API 3

Snorocket for Protégé is a Java implementation of the polynomial classification algorithm described by Baader et al in Pushing the EL Envelope and packaged for use as a reasoner in Protégé. It has been developed as part of the CSIRO's Health Informatics and Clinical Terminologies research program.

Snorocket supports the Description Logic EL+ and is capable of classifying SNOMED CT in less than 1 minute; some performance measures are shown in Figures 1 and 2.


Absolute speed comparisons (logarithmic scale)


Relative speed comparisons (logarithmic scale)


Note, maximum times have been assigned for classifiers that did not finish.Also, some input ontologies have been modified to conform to EL+. See here for details.


Please cite this paper:

M.J. Lawley and C. Bousquet. Fast classification in Protégé: Snorocket as an OWL 2 EL reasoner. In T. Meyer, M.A. Orgun, and K. Taylor, editors, Australasian Ontology Workshop 2010 (AOW 2010): Advances in Ontologies, volume 122 of CRPIT, pages 45–50, Adelaide, Australia, 2010. ACS. Winner of Payne-Scott Best Paper Award. [PDF] [BiBTeX]


Protégé 4.1+



2.0.6 Bug fix in concrete domain support
2.0.0 Concrete Domain and Concurrent Classification support
1.3.4 Fixed bug when performing incremental classification.
1.3.3 Fixed obscure bug that may have caused incorrect results.
1.3.2 Fixed support for property paths

Historical Downloads


Benchmarking Snorocket via OWL API 3

Snorocket can be run independently of Protégé using the OWL API (v3) for benchmarking purposes. Sample code doing this is available here.

Last Updated on Monday, 03 June 2013 16:26

Go to top


Dr Michael Lawley

 +61 7 3253 3609
This email address is being protected from spambots. You need JavaScript enabled to view it.