- From: Bijan Parsia <bparsia@cs.man.ac.uk>
- Date: Sat, 25 Nov 2006 21:23:08 +0000
- To: Bijan Parsia <bparsia@cs.man.ac.uk>
- Cc: Soonho Kim <soonho.kim@fao.org>, public-owl-dev@w3.org
Just to make clear the difference between using an annotation and using punning, let me do the comparison using the functional syntax <http://owl1_1.cs.manchester.ac.uk/owl_specification.html>. Consider the following ontology, O1 (taken from the above document, without ontology header stuff): Declaration(OWLClass(Human) Documentation("The set of all humans.")) Declaration(OWLClass(Animal) Documentation("The set of all animals.")) SubClassOf( Documentation("Humans are a type of animals.") Human Animal) And compare with O2 Declaration(OWLClass(Human)) Declaration(OWLClass(Animal)) SubClassOf( Documentation("Humans are a type of animals.") Human Animal) DataPropertyAssertion( Documentation Human "The set of all humans.") DataPropertyAssertion( Documentation Animal "The set of all animals.") (Each term in this example is meant to be an IRI, so imagine Human, Animal, and Documentation all have appropriate IRI expansions.) In O1 there is no punning. A reasoner will strip out all the "Documentations" because they are *merely* annotations (or, as they are called in the overview, "semantics free annotations"). This is not to say that some preprocessor or extension couldn't peek in there of course! just that OWL 1.1 semantics ignores them. In O2 the documentation asserts are actual *assertions* in the ABox of the ontology. "Human" and "Animal" play two distinct roles, as classes (in the subclass axioms) and as individuals (in the DataPropertyAssertions). So, in O1 there are *no* named individuals, whereas in O2 there are *2*. Now, in O2 you can do everything with Human and Animal that you can do with any other individual, so you have the full power of the reasoner to deal with them *as* individuals. Cheers, Bijan.
Received on Saturday, 25 November 2006 21:23:22 UTC