Here are some random comments on the OWL 1.1 proposal. I am writing
this with two roles: we are writing ontologies in OWL and we are
writing an introductory AI textbook and want to include OWL. My main
comments are with the second role. We want to keep it simple, but not
oversimplify; which, as you know, is difficult.
1. Getting rid of "onProperty" is good (this is the main reason I
would rather use 1.1 than 1.0 in our book).
2. There is too much proliferation of terms. It is *much* better to
have just ObjectProperty and DatatypeProperty and use these
conjoined with the other class constructors or properties, rather
than duplicating virtually every class constructor. This is one
area where 1.1 is worse than than 1.0 for no apparent gain.
The 1.1 constructs are less expressive and more verbose than 1.0
constructs with no particular advantage. For example, I may want to
write an axiom that only depends on whether the property is
functional, and not care if it is an object property or a
functional property. In the 1.1 constructs it is a real pain to
3. You need to make up your mind what the elements of a class
are. They either should be "individuals" or "objects" (I don't care
which, but please be consistent), then use this terminology
consistently in OWL and in the documentation.
- If you want to use "object" then have "ObjectProperty" is a
property whose value is an object. But then you should have
"sameObject" not "sameIndividual".
- If you want to use "individual" then you should have
"IndividualProperty" is a property whose value is an individual.
At the moment you state in the http://www.w3.org/TR/owl11-syntax/ that "OWL 1.1 objects (ontologies, axioms, etc.)" but then
ObjectProperty is a property whose value is an individual. The
terminology should be consistent between the syntax and the
semantics documents and the language itself.