- From: Bob MacGregor <macgregor@ISI.EDU>
- Date: Thu, 25 Jul 2002 21:08:37 -0700
- To: <phayes@ai.uwf.edu>
- Cc: <www-rdf-interest@w3.org>
I have to disagree with Pat on the issue of allowing a class and a property to share the same name. >From Pat Hayes: >It might help if we were to add that one way to think about this is >that the use of the same name for a class and a property is really >only a 'pun'; it doesn't imply that the class extension (which is >often thought of as being the class itself) and the property >extension (similarly) are the same extension. But this kind of '>punning' is harmless in the RDF semantics; and since in this case it >seems natural, we have decided to take advantage of it. We implemented the kind of punning that Pat describes above when we built the Loom KR system, and we regretted that particular decision. When we built PowerLoom, we mandated that class and property names (in the RDF sense) be disjoint. Briefly, the use of the same name to denote both a class and a property (a binary relation), is OK until you make (syntactially) second-order statements, in which case it is NOT OK. For example: To assert that the class xsdr:decimal has arity one (using someone's arity property) would be: <xsdr:decimal> <arity> 1 To assert that the property xsdr:decimal has arity two would be: <xsdr:decimal> <arity> 2 I will (partially) rescind my objection if someone can tell me how to distinguish between the two denotations of <xsdr:decimal> (or whatever class and property), using a triples syntax. I say "partially" because I still believe that punning is more trouble than it is worth. The short summary is, punning is not OK for any language where a class/property can be reified. - Bob ----- Original Message ----- > Message-Id: <p05111b05b95b5cb86c02@[65.217.30.45]> > Date: Wed, 17 Jul 2002 12:48:51 -0500 > To: Brian McBride <bwm@hplb.hpl.hp.com> > From: pat hayes <phayes@ai.uwf.edu> > Cc: Piotr Kaminski <piotr@ideanest.com>, www-rdf-interest@w3.org > Subject: Re: Input sought on datatyping tradeoff > > >At 13:43 11/07/2002 -0700, Piotr Kaminski wrote: > >>A side comment on the datatype question: > >> > >>From: "Brian McBride" <bwm@hplb.hpl.hp.com>: > >>> Test D: > >>> > >>> <Jenny> <ageInYears> "10" . > >>> <ageInYears> <rdfs:range> <xsdr:decimal> . > >>> > >>> <John> <ageInYears> _:a . > >>> _:a <xsdr:decimal> "10" . > >> > >>According to RDF Model Theory rules, this means that <xsdr:decimal> is both > >>a class and a property. As far as I can tell this is legal (?), > > > >Yes > > > >> but is it > >>the desired effect? > > > >Yes. We did at one point in our discussions have different terms > >for the value space (Class) and lexical to value mapping (property) > >of the datatype. We decided however that it was simpler, and easier > >for the non-expert user, to have just one term to represent the > >datatype. Fortunately, the way the semantics are defined this works. > > > >> What does it mean? > > > >Remember, that in the model theory, a class is not a set of things, > >it is a resource which has an associated set, the class extension, > >which is the set of members of the class. This is how we addressed > >the issue of Class being a member of itself. A class can be a > >member of its own extension, and we can do that and stick with the > >most commonly understood set theory. > > > >Similarly a Property is not a set of pairs, but is a resource with a > >property extension which is the set of pairs defining the relation. > > > >A resource can have both a Class extension and a property extension > >and it all works fine (so Pat tells me - I'm not a mathematician). > > > >The way we have defined datatypes, a datatype is a resource which > >has both a class and property extension. The advantage of doing > >things this way is, as I said above, users need only understand one > >concept, the datatype and don't have to use different names in > >different contexts. > > > >Pat: feel free to jump in here if I'm getting this wrong. > > No, you have it just right. > > It might help if we were to add that one way to think about this is > that the use of the same name for a class and a property is really > only a 'pun'; it doesn't imply that the class extension (which is > often thought of as being the class itself) and the property > extension (similarly) are the same extension. But this kind of > 'punning' is harmless in the RDF semantics; and since in this case it > seems natural, we have decided to take advantage of it. > > BTW, notice that it would NOT be OK to have 'punning' between two > different classes or two different properties. But since classes and > properties are distinct syntactic categories in RDF, it is harmless > to use the same name for a class and a property; it couldn't ever be > ambiguous which you meant. > > Pat > -- > --------------------------------------------------------------------- > IHMC (850)434 8903 home > 40 South Alcaniz St. (850)202 4416 office > Pensacola, FL 32501 (850)202 4440 fax > phayes@ai.uwf.edu > http://www.coginst.uwf.edu/~phayes > =========================================== Bob MacGregor macgregor@isi.edu Project Leader voice: 310.448.8423 Distributed Scalable Systems Division cell: 310.251.8488 University of Southern California fax: 310.822.6592 Information Sciences Institute 4676 Admiralty Way Marina del Rey, CA 90292
Received on Friday, 26 July 2002 00:07:20 UTC