Ontology Development Software

From Evolutionary Informatics Working Group
Jump to: navigation, search

Notes from our analysis and decision

Here are our notes in case we decide to revisit this issue.

Protege was easy to use initially. We needed Protege 4 to allow property chaining. But this has numerous flaws:

  • reasoners don't always work and sometimes cause crashes
    • built-in Fact++ seems stable under Windows, but crashes on Mac
    • Interface does not provide full access to full querying capabilities of Pellet; older versions of Protege allowed this, Protege 4 does not.
    • can't use external reasoners, either: [Enrico] actually I was unable to load any of the formats produced by Protege 4 into Racer; some produce a parser error (e.g., functional syntax), others simply do not produce any data in Racer (e.g., OWL/XML)
  • allows invalid edits (can edit and save a file that cannot be parsed again)
    • allowed "Annotation" class in output file, but this could not be parsed (fixed in recent release)
    • allowed double-quoted strings to be embedded in annotation values, but these could not be parsed again (fixed in recent release of Protege 4)
  • output formats seem to be flawed (flat XML) and are not interchangeable
    • The format creates occasional confusions; for example, OWL functional syntax occasionally confuses classes and individuals
    • OWL functional syntax output format apparently results in loss of data
    • OWL functional syntax output not intelligible to racer
    • Swoop recognizes OWL/XML but not the other formats
  • apparent inability to create separate files for instance data
    • It is probably possible to edit a separate ontology that contains only instances; this did not work in our case though; I have tried to create an ontology in Protege which imports CDAO (and which was meant to contain our instances), but Protege failed to import CDAO.
  • limited graphics (can't see how to show object properties or change how classes are labeled)
  • apparently allows OWL-full properties to be added to OWL-DL ontologies
    • note: can label classes with "label" by changing preferences under rendering

We want a software environment with the following features:

  • stable implementation of OWL-DL
  • validating editor
  • ability to create separate instance files
  • interoperable formats (especially, interoperable with racer)
  • ability to visualize more than just class names and is_a relationships.

The candidates:

  • swoop
  • doddle
  • Altova SemanticWorks [1] It's a commercial product. It has a very nice visualization of ontologies (including properties). I am trying to understand whether it can handle OWL 1.1. It SEEMS to be able to read the RDF/XML version from Protege!
  • jena is an API, not a stand-alone editor
  • alphaworks
  • the following project appear to be inactive or inadequate in scope
    • oil-ed
    • sofa, latest updates are from 2005
    • SWeDe [2] extension of Eclipse, not supported since 2005
    • CmapTools [3] Very nice graphical interface (you build the ontology by actually drawing classes and links), but very limited expressive power (e.g., no way to describe features of a property, e.g., transitivity or functional behavior)

additional resources

Later I discovered an amazing collection of links to resources and tools