As I posted about before, I have a little project I’m working on. Over the past couple of days, I managed to implement annotations in the system, which is basically the ability to add an arbitrary RDF triple to a separate model that “describes” another model. For example, take the pizza ontology. Of course this file is read-only because it’s on someone else’s site. Annotations in Ontrospect would allow you to add extra triples to another model (let’s call it “Annotations: Pizza”) that make statements about resources in the pizza ontology.
The annotation could be a regular OWL or RDF assertion (such as indicating the type of a resource, or claiming that something is a subclass of something else) but it could also be a comment, a text tag, or more importantly a link to a completely different ontology.
I’m interested in this as a prototype system for building mappings between ontologies. Hypothetically, you could for example take two upper ontologies and create links between them using these annotations. For example, load the SUMO ontology into the program, and then link specific classes in SUMO to classes within DOLCE-lite. (It could be something as simple as owl:sameAs, but would probably need to be something more sophisticated)
Where this becomes useful is when you union multiple models together with their annotation models. You can then use that as a basis for reasoning across multiple ontologies, allowing you to work with mixed data. An interesting other consequence is that it (hopefully) could make the semantic web read/write, instead of just read only. The pizza ontology is out there, and you can’t change it. What you can do is create your own set of annotations, and then publish a new model that is the pizza ontology union’d with your annotations – in effect a different model.