- From: Hart, Lewis <lhart@grci.com>
- Date: Tue, 17 Jul 2001 08:22:06 -0400
- To: "Dickinson, Ian J" <Ian_J_Dickinson@hplb.hpl.hp.com>, www-rdf-logic@w3.org
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