RE: Resources with more than one type

The approach taken with the DAML API [1] that we have written allows both
situations to some extent. There is a delineated, "the" type, which has a
get/set methods. But, rdf:type properties can also be added to a resource's
properties collection. The set/getType() methods are intended to determine
which type to use as a primary type (as DatatypeProperty is used in the
example below), but with the Stanford RDF API, there is no way to make this
happen as far as I know. I have not looked at the Jena RDF interface close
enough to know if it can be with using it.

Our API does not currently perform validation/reasoning using resources
types (or subPropertyOf/subClassesOf) at this point, so the semantic
implications have not been addressed.

Perhaps it is just my Java viewpoint, but I have found that I don't
generally use multi-typed resources in my ontologies. 

- Lewis

[1] The latest version of the CODIP DAML API,  V0.5.2,can be found at:
 http://grcinet.grci.com/maria/www/codipsite/Tools/Components.html
___________________________________________
Lewis L Hart 
GRC International                 lhart@grci.com
1900 Gallows Rd.                  Voice (703)506-5938
Vienna, Va 22182                    Fax (703)556-4261

-----Original Message-----
>From: Dickinson, Ian J [mailto:Ian_J_Dickinson@hplb.hpl.hp.com]
>Sent: Friday, July 13, 2001 1:17 PM
>To: www-rdf-logic@w3.org
>Subject: Resources with more than one type
>
>
>In the DAML 2001/3 spec, the way to create a transitive, unique or
>unambiguous DatatypeProperty is as follows:
>  <daml:DatatypeProperty rdf:ID="p">
>    <rdf:type
>rdf:resource="http://www.daml.org/2001/03/daml+oil#UniqueProperty />
>  </daml:DatatypeProperty>
>
>(and equivalently for transitive and unambiguous properties).  Thus p has
>two rdf:type's - daml:DatatypeProperty and daml:UniqueProperty.  Now I know
>that where a resource has multiple constraints upon it, the general
position
>is to treat them as a conjunction. Hence, p is a member of the class of
>Properties that are both datatypes and unique.  This kind of thing is done
>elsewhere in DAML, but not usually by overloading rdf:type ... more
commonly
>subPropertyOf is used.  
>
>The reason I bring this up is in thinking about API's for DAML.  Typically,
>resources have at most one rdf:type property, and indeed, DAML defaults the
>type to daml:Thing.  So, ordinarily, we can talk about *the* type of an
>object, and an API could comfortable support a get/set semantics for *the*
>type.  If, OTOH, rdf:type should always be thought of as multi-valued, then
>the semantics for the API will have to be modelled on
>adding/removing/listing the types plural, with an attendant increase in
>complexity.
>
>So, my question is whether unique (transitive, unambiguous) datatypes, with
>multiple rdf:type's, are the exception or the rule.  If they are the
>exception, is it more reasonable to (a) trap them as special cases in an
>API, or (b) change the spec so that there is a more elegant way of
>expressing the additional semantic qualifiers on datatype properties?
>
>Regards,
>Ian
>
>____________________________________________________________________
>Ian Dickinson    HP Labs, Bristol, UK    mailto:Ian_Dickinson@hp.com
>

Received on Tuesday, 17 July 2001 08:25:55 UTC