Ontology Development Software
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.
- Altova SemanticWorks  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
- the following project appear to be inactive or inadequate in scope
- sofa, latest updates are from 2005
- SWeDe  extension of Eclipse, not supported since 2005
- CmapTools  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)
Later I discovered an amazing collection of links to resources and tools