Snorocket software

Snorocket is an implementation of the Dresden algorithm that is tuned for classifying the SNOMED CT clinical terminology.


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.

Reasoner Comparison

Reasoner Comparison Log

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 these papers:

Alejandro Metke Jimenez and Michael John Lawley. Snorocket 2.0: Concrete Domains and Concurrent Classification. OWL Reasoner Evaluation Workshop (ORE 2103), Ulm, Germany, July 2013. To appear in CEUR Workshop Proceedings ( [PDF]

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+


The latest version of Snorocket for Protégé including a concurrent algorithm and support for concrete domains is now available via GitHub and a packaged jar can be obtained from Maven Central Repository

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.