- From: Massimo Marchiori <massimo@w3.org>
- Date: Fri, 23 Oct 1998 18:16:17 -0400
- To: swick@w3.org
- CC: www-rdf-comments@w3.org
Hi Ralph, I had a last read of the spec this week (last call helps to push....;-) BTW, compliments for the latest spec, it is really a great improvement over the past. Just few technical comments, hope they are useful: 1) I think the BNF as it is is wrong. The problem is a systematic lack of proper spacings. For example, [2] would give <rdf:DescriptionID=....> since you have no space after the "<rdf:Description" part. This is systematic and occurs everywhere in these situations. The easy solution is just to add a space before every attribute (eg, in [5] having ' ID="' in place of 'ID="'). 2) The optional RDF:rdf tag issue: a) as it is now (in [1]) it is wrong: unfortunately optional tags can't be expressed this way in BNF. The point is that RDF ::= ['<rdf:RDF>'] description* ['</rdf:RDF>'] can give things like '<rdf:RDF>' description* or description* '</rdf:RDF>' The proper way is to split the cases in advance, eg with something like: RDF ::= description* | ('<rdf:RDF>' description* '</rdf:RDF>') b) In any case, the optional tag is not reflected in the final RDF formal grammar ([6.1]), where the RDF:rdf tag is mandatory. c) just a warning that omitting the RDF tag can lead to non well-formed XML can be useful 3) RDF allows tags to be used both in compact form (self-closed, like <rdf:Description .... />), or more generally in long form as in <rdf:Description...> .... </rdf:Description> A word of warning that simultaneous use of these two forms within the same document can be dangerous for compatibility with SGML processors can be useful. 4) The Bag container: as it is now, its model representation is probably too specific; now, a bag with {Joe, Ann, Mary} has a different model representation than {Ann, Joe, Mary}. This forces you to put much more effort in the model equivalence, or in other words, makes the model representation unnecessarily fine-grained. The point is the use of RDF:_1 RDF:_2 etc. I agree this way is consistent with Alt and Seq, but, here we're talking about a different data structure, where the order doesn't matter. So, it would be probably better to encode this in the model using just a unique rdf:_bag (for example) predicate. This is a simple edit to do, and gives you the important property that a Bag has one model representation and not many different ones, something not true now (and therefore, rather tricky imho...). Ok, hoping this is of some help, and good luck with the (last! :-) edits. Cheers, -Massimo /---------------------------------------------------------------\ | Massimo Marchiori Room NE43-350 | | The World Wide Web Consortium (W3C) 545 Technology Square | | MIT Laboratory for Computer Science Cambridge, MA 02139, USA | | WWW: http://w3.org/People/Massimo Phone: +1 (617) 253 2442 | | Email: massimo@w3.org Fax: +1 (617) 258 5999 | \---------------------------------------------------------------/
Received on Friday, 23 October 1998 18:16:20 UTC