- 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