problems with DAML+OIL

From: Peter F. Patel-Schneider (
Date: 01/12/01

[I expect that I will also send this out to rdf-logic (possibly modified),
but I wanted to send it to the committee now, and I can't send it to
rdf-logic until DAML+OIL is released.  peter] 

OK, now that there is a DAML+OIL release, it is time to try to put a
spanner in the works.  (Not that it is time to sabotage the release, it is
just that it is now time to see what problems remain, so that the next
release can fix them.)  I expect that this list is not complete!

Problem 1:  The lack of a theory of identity (or equality, or equivalence)

RDF and RDFS don't appear to have any need to determine whether two
``things'' are identical.  They have no notion of equality, nor do they
have any notion of cardinality or even uniqueness or functionality.
However, DAML+OIL does include notions having to do with cardinality and
uniqueness, so it needs to have access to a theory of identity.

There are several aspects to the theory of identity (or equality) that is
needed in DAML+OIL. 

There is the basic idea of when two ``normal'' resources are identical.
(By normal resources, I mean resources that do not play any special role in
DAML+OIL or RDF or RDFS.)  There has been some talk about using a unique
names assumption in DAML+OIL.   I don't see how this can work because two
different names (URIs) can refer to the same resource.  We thus need to
have some explicit notion of identity or equality in DAML+OIL, even for
normal resources.

There is the notion of identity of containers.  Are two bags with the same
members identical?  Are they equal?  Is there any difference between
identity and equality here?  Are two lists with the same elements in the
same order identical?  Are they equal?

There is the notion of identity of statements.  Are two statements with
identital subjects, predicates, and objects identical?

There is the notion of identity (and equality) of classes.  Are two
restrictions with the same content identical?  Are they equal?
Are two (non-restriction) classes with the same (non-primitive) definition
equal?  Are two classes with equivalent definitions equal?    Are two
classes that have the same members equal?

Problem 2:  Underspecified containers

Even aside from problems of identity and equality, there are other problems
with RDF containers.

Can a container contain itself (directly or indirectly)?  If so, the
notions of identity (and equality) for containers become even more complex.

Can a container be partially specified?  If so, what does it mean?  If not,
how can it be prevented?

Problem 3:  The theory of classes.

There are several aspects of classes that are underspecified in RDF and

Can a class contain itself?  It has to, as a type of rdfs:Class is
rdfs:Class.  This means that determining whether two classes have the same
members is quite complex.

Can an entity be treated as both a class and an instance?  In some sense it
has to, because rdfs:Class is an instance of itself.  

Is a container a class?  If so, are its elements instances of the class?

Problem 4:  The intent of RDF and RDFS and its interaction with DAML+OIL

There are several aspects of RDF and RDFS that one might think affect
DAML+OIL.  For example, if we create a subclass of rdfs:Class and create an
instance of this new subclass there is some expectation that we have just
created a DAML+OIL class.  However if we want this to happen, we have to
formally specify the meaning of these portions of RDF and RDFS.

The intended meanings of RDF and RDFS that may affect DAML+OIL include
- the interaction between rdfs:subClass and rdf:type
- the universality of rdfs:Resource
- the meaning of distributive referents
- the relationship between a statement and its reification

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