using "undeclared" properties and classes

From: Frank van Harmelen (
Date: 12/25/00

In the ammended version of our introductory example (at there are a few places where I refer to a property without having declared it as a property first. 

For example:

<rdfs:Class rdf:about="#Person">
      <onProperty rdf:resource="#spouse"/>
      <hasClassQ rdf:resource="#Person"/>

places a qualified cardinality restriction on the property spouse applied to persons, while there has never been a statement declaring spouse to be a property, ie nothing like
  <rdf:Property rdf:ID="spouse/>
appears anywhere (earlier or later) in the file. 

QUESTION: is this legal? In DAML? In RDF? in RDF Schema? 

The same happens with a class that is mentioned but never defined:

<Disjoint parseType="daml:collection">
  <rdfs:Class rdf:about="#Car">
  <rdfs:Class rdf:about="#Person">
  <rdfs:Class rdf:about="#Plant">

appears without there ever being anywere anything like:

<rdfs:Class rdf:ID="Plant"/>



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