Re: Validating daml+oil-ex.daml

From: Jeff Heflin (
Date: 11/01/01


I agree that you should be able to refer to classes before they are
defined (as long as they are defined somewhere in the file), but I have
strong misgivings about being able to refer to undefined classes. In my
opinion, an ontology is supposed to provide two things: a standard
vocabulary and formal definitions for that vocabulary. If you allow the
use of undefined classes, you defeat the purpose of a standard
vocabulary. This will also have very serious side effects in practical
usage of the ontology. It means that any time somebody makes a typo,
they've just created a new class. Is that really the way we want the
Semantic Web to work? 

As Mike said in an earlier message, I think we need to strike a balance
between database-style integrity constraints and inference
I think the way to address the problem is to consider the tradeoffs. In
this case, the reference of undefined classes opens up a door for simple
typos to result in misuse of the ontology. And what do we really gain
from this? A shorthand way for creating classes that have no semantics?
I think this is a case where the integrity constraints approach makes
more sense. That is, I believe if you reference a class (or a property)
in a particular namespace, that class (or property) MUST be defined in
that namespace! Otherwise, your reference is in error.

Note, that this does not mean that I come down on the side of
"database-style integrity constraints" in every case. As I said before,
I think a case-by-case cost/benefit analysis needs to be done.


Frank van Harmelen wrote:
> Jeff wrote:
> > > 2) The Person class has a restriction stating the a person can have only
> > > one FullTimeOccupation, but FullTimeOccupation is not defined in the
> > > ontology. The FullTimeOccupation class should be added to the ontology.
> Peter answered:
> > It probably should be, but it is not strictly necessary, as its position in a
> > restriction makes it an rdf:Class.
> We've discussed this a few times in the past. It was then considered a deliberate feature of the example to show that DAML+OIL allows the usage of (e.g.) classes before they are "defined", or even when they are not "defined" at all (particularly in a Web context).
> I still consider this a feature of the example, not a bug.
> Frank.
>    ----

This archive was generated by hypermail 2.1.4 : 04/02/02 EST