Software Development Tools

From BiopaxWiki
Revision as of 21:13, 4 January 2010 by Rodche (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

OWL Editors/Browsers

  • Protege - The defacto standard for editing OWL. Written using the Jena framework. Warning: Protege uses the DIG protocol to communicate with a reasoner. DIG is not able to fully represent OWL-DL ontologies and so conclusions of the reasoner are suspect when warnings about unsupported constructs are given in the reasoner progress window in Protege.
  • SWOOP - A lightweight browser of OWL documents written using the OWL API library. Much faster than Protege. See their page on debugging using SWOOP
  • SWeDE [1] - The Semantic Web Development Environment is an extensible framework for integrating new and existing tools for the Semantic Web. The toolkit, built on the Eclipse IDE includes an OWL editor with helpful features like syntax highlighting, autocompletion, and error-detection. It also currently integrates existing tools like the OWL Validator, Kazuki (OWL to Java code generator), and DumpOnt (Ontology Visualizer)..
  • OWL Ontology HTML Presentation Service Drop in a URL of an OWL ontology and browse the ontology in html. Quick and Dirty.

Automatic code generation from OWL


  • Jastor - A Javabean code generator mirroring the structure of an OWL document. Built on top of Jena. (Note: Pre-generated BioPAX classes are made available with the Jastor distribution)
  • Protege OWL API - Java code generator built on top of Protege, which is built on top of Jena. (Note: there is currently a dependency on GUI libraries, so this may not be suitable for headless mode servers, though this may be updated in the future)

In both cases, the generated code is very useful, but the underlying libraries are very slow.

OWL Libraries

  • Jena - A Java based library for ontology development and processing. This library is the most mature option and in its latest version include native OWL support. Jena can read an RDF description and create a model on which it can performs several classes of inference, including some of the most common in OWL and RDFS.
  • OWL API - A Java based library written from the ground up to support OWL processing. It is still in alpha stage, so may not be stable enough to use in production systems.
*SNOBASE - IBM Ontology Management System (also known as SNOBASE, for Semantic Network Ontology Base) is a Java framework for loading ontologies from files and via the Internet and for locally creating, modifying, querying, and storing ontologies. Currently won't load OWL file unless you remove all instances of the string `rdf:datatype=""` from the owl file. Bug report filed with the developer.
  • Sesame is an open source RDF database with support for RDF Schema inferencing and querying.
  • OWLIM "is a high-performance semantic repository, packaged as a Storage and Inference Layer (SAIL) for the Sesame RDF database.


  • Uli Sattler's list
  • Pellet - Developed by Mindswap this is a java based API for reasoning on OWL documents specifically. Alan Ruttenberg currently recommends this one for command line usage or in conjunction with Protege. See Using Pellet
  • FaCT++ - Latest version should be complete for OWL. Lacks ability to directly import OWL/RDF, however. Works with Protege, and can be faster than Pellet. Alan Ruttenberg recommends this one or Pellet for use with Protege.
  • kaon2 - Newer reasoner oriented towards use of OWL and SWRL. Not yet complete for OWL-DL, but is promised soon. Supports all of OWL-Lite at the moment.
  • RacerPro - A commercial product, with free educational use license after approval, for validating and reasoning with OWL DL Files. Alan Ruttenberg applied for a license, but was denied as he is associated with a commercial institution (otherwise known as the day job). Academics may be more successful at getting a free license, though with the availability of Pellet and Fact++ Racer may be less necessary than it used to be.
  • FaCT - Free software which can reason which can, in principle, reason about OWL DL class hierarchies, but not individuals.
  • KRIS - Stronger, but presumably slower, reasoner. Has ABOX reasoning.
  • Instance Store - The instance Store (iS) is a Java application for performing efficient and scalable Description Logic (DL) reasoning over individuals.
  • BOR - BOR is a reasoner that complies with the DAML+OIL model-theoretical semantics.
  • [2] provides a custom rule engine that can be extended to support reasoning.

Background on Reasoners