Adding properties to classes

Question about current RDF Schemas working draft WD-rdf-schema-19980409.

I am confused about whether properties of arbitrary type can be attached
to resources.  In section 3, example 2 of WD-rdf-schema-19980409, it is
stated that the allowedPropertyType constraint is used to express that
resources of a given class may have properties of a given type.  This
implies (to me, anyway) that if an allowedPropertyType statement
allowing a certain property type doesn't appear somewhere in connection
with a class, then resources belonging to that class may not have
properties of that type.  Is this what is intended?  If so, I believe
that this may prove somewhat cumbersome for certain classes of objects
which could have many types of properties, e.g. Person.  It is clearly
not practical to enumerate all of the types of properties a Person may
have, and different sets of property types will be relevant to different
organizations for different purposes.

My second question is, if allowedPropertyType statements are needed to
allow resources of a given class to have properties of a certain type,
can property types be added to a class by making assertions in a
different place than the class definition?  For example, suppose class
Person is defined in a 
schema called People_Schema at the W3, and I wished to extend it to have 
another property, diastolic_blood_pressure:

<?xml:namespace ns='http://www.w3.org/TR/People_Schema/' prefix='PEOPLE'
?>

<RDF:assertions PEOPLE:HREF="#Person">
   <RDFS:comment>Adding a PropertyType to class Person</RDFS:comment>
   <RDFS:allowedPropertyType>
     <RDF:Description ID="diastolic_blood_pressure">
       <RDFS:comment>The Person's diastolic blood pressure at most
recent physical   
          </RDFS:comment>
       <RDFS:range
RDF:HREF=http://www.w3.org/FictSchema/usefultypes#Integer"/>
       <RDFS:necessity RDF:HREF="#ZeroOrMore"/>
    </RDF:Description>
   </RDFS:allowedPropertyType>
</RDF:assertions>


Is this legal?  If so, it provides a way to extend classes without
having to subclass them, but I think it is needlessly cumbersome.  If
the purpose of requiring allowedPropertyType statements is to make it
possible to constrain the domains of ProperyTypes, then I suggest that
this is better done by adding a domain constraint to the PropertyType
class, similar to the range constraint.  In my view, implementing domain
constraints on PropertyTypes is more naturally done explicitly on the
PropertyTypes themselves, rather than implicitly on the Classes.

Please contact me if anything is unclear about my message.

					Thanks, 
					Keith

-- 
             Keith Vanderveen, Member of Technical Staff
             Systems and Software Research Center, Bell Labs
             +1-732-949-8592 (Phone), +1-732-949-0399 (Fax)
	     vandervn@lucent.com

Received on Wednesday, 6 May 1998 14:00:03 UTC