thoughts on the new rdfs:subClassOf

From: Peter F. Patel-Schneider (pfps@research.bell-labs.com)
Date: 08/29/01


Here are some thoughts on rdfs:subClassOf.  

peter


	Notes on the new definition of rdfs:subClassOf

The RDF Core working group has modified the definition of rdfs:subClassOf
to indicate that rdfs:subClassOf means proper subclass.  In his model
theory for RDF(S) Pat Hayes gives this the meaning that if A is a subclass
of B then in each model of the entire knowledge base the extension of A
must be a proper subclass of the extension of B.

This definition of rdfs:subClassOf has several unfortunate consequences.
These unfortunate consequences do not appear to affect RDF(S), they only
arise if one wants to create a more-expressive formalism that uses
rdfs:subClass as its generalization primitive, such as DAML+OIL.  

1/ If A is an rdfs:subClassOf of B and if B is necessarily empty then the
entire knowledge base is inconsistent.  For example, any knowledge base
containing the two following classes
	<daml:Class rdf:ID="Confused">
	  <rdfs:subClassOf>
	    <daml:Restriction daml:minCardinalty="2">
	      <daml:onProperty rdf:resource="children">
	    </daml:Restriction>
	  </rdfs:subClassOf>
	  <rdfs:subClassOf>
	    <daml:Restriction daml:maxCardinalty="1">
	      <daml:onProperty rdf:resource="children">
	    </daml:Restriction>
	  </rdfs:subClassOf>
	</daml:Class>
	<daml:Class rdf:ID="SubConfused">
	  <rdfs:subClassOf rdf:resource="#Confused">
	</daml:Class>
is inconsistent.  It is strange that the definitions of two classes, which
may not be used anywhere else in the knowledge base can cause the entire
knowledge base to become inconsistent.

This is a consequence of any reasonable definition that makes
rdfs:subClassOf a proper subclass, not just Pat Hayes's model theory.

2/ If A is an rdfs:subClassOf of B then B has at least one member in every
model.  This means that B cannot even be contingently empty.  Thus
from 
        <daml:Class rdf:ID="Confused">
	</daml:Class>
	<daml:Class rdf:ID="SubConfused">
	  <rdfs:subClassOf rdf:resource="#Confused">
	</daml:Class>
it follows that Confused has cardinality at least one.  Again, it is
strange that simply having a subclass provides a minimum cardinality for a
class.

This is a consequence of Pat Hayes's model theory, and need not be true in
other definitions that make rdfs:subClassOf be a proper subclass.

3/ If Ai is an rdfs:subClassOf of Ai+1 for i running from 0 to n, then An
has at least n members in every model.  As a consequence, the minimum
number of resources in a model for a knowledge base with an rdfs:subClass
chain of length n is n.

This is a consequence of Pat Hayes's model theory, and need not be true in
other definitions that make rdfs:subClassOf be a proper subclass.

Peter F. Patel-Schneider


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