- From: Jeff Heflin <heflin@cse.lehigh.edu>
- Date: Fri, 30 Aug 2002 17:23:56 -0400
- To: "Smith, Michael K" <michael.smith@eds.com>
- CC: www-webont-wg@w3.org
I have also come to believe that collection was a bad choice of keyword. In hindsight, I think "daml:ClosedList" would have made its purpose much clearer. Does anybody else care enough that I should raise this as an issue for OWL? Jeff "Smith, Michael K" wrote: > > Ok. I find the choice of keyword bizarre. Mixing syntax > and semantics in an odd way. > > So the difference between > > <daml:oneOf rdf:parseType="daml:collection"> > <rdf:li> <Person rdf:id="John" /> </rdf:li> > <rdf:li> <Person rdf:id="Bill" /> </rdf:li> > </daml:oneOf> > and > <daml:oneOf> > <rdf:li> <Person rdf:id="John" /> </rdf:li> > <rdf:li> <Person rdf:id="Bill" /> </rdf:li> > </daml:oneOf> > > is that I can prove that the first one has exactly 2 elements? > While I can't extend the second one (since I can't reference it), the > semantics don't require that it be closed. > > -----Original Message----- > From: Peter F. Patel-Schneider [mailto:pfps@research.bell-labs.com] > Sent: Thursday, August 29, 2002 9:37 AM > To: Smith, Michael K > Cc: www-webont-wg@w3.org > Subject: Re: GUIDE: Syntax query re parseType= > > From: "Smith, Michael K" <michael.smith@eds.com> > Subject: GUIDE: Syntax query re parseType= > Date: Thu, 29 Aug 2002 09:25:04 -0500 > > > > > Help. I'm trying to explain some syntax in the Guide document. > > > > Why do we have rdfs:parseType tacked onto the various set operators? > > Obviously, we inherited it from DAML+OIL, but I don't understand the need > > for it there, either. > > > > As far as I can tell, it is completely redundant in the XML syntax. That > > is, there is no other possible interpretion of the children of oneOf, > > unionOf, and intersectionOf. > > > > What am I missing? > > > > - Mike > > The reason for rdf:parseType="daml:collection" is to allow for a convenient > way of supplying lists. The problem is that a construct like > > <daml:oneOf rdf:id="MySet"> > <rdf:li> <Person rdf:id="John" /> </rdf:li> > <rdf:li> <Person rdf:id="Bill" /> </rdf:li> > </daml:oneOf> > > is not closed. Anyone can do something like > > <daml:oneOf rdf:id="peter:MySet"> > <rdf:li> <Person rdf:id="Susan" /> </rdf:li> > </daml:oneOf> > > to add another element of the set. > > There are very bad consequences of a construct like this. > > To get around this inadequacy of RDF, DAML+OIL has a list construct and > > <daml:oneOf rdf:parseType="daml:collection"> > <Person rdf:id="John" /> > <Person rdf:id="Bill" /> > </daml:oneOf> > which expands to > > <daml:oneOf> > <daml:List> > <daml:first> > <Person rdf:id="John" /> > </daml:first> > <daml:rest> > <daml:List> > <daml:first> > <Person rdf:id="Bill" /> > </daml:first> > <daml:rest> > <daml:list > rdf:id="daml:nil"> > </daml:rest> > </daml:List> > </daml:rest> > </daml:List> > </daml:oneOf> > > and cannot be non-monotonically messed with. > > (I may have some of the details wrong, but you should be able to get the > idea.) > > peter
Received on Friday, 30 August 2002 17:24:04 UTC