Re: RDF Core WG draft of RDF/XML Syntax Specification (Revised) for review

Hi Dave,

The spec is looking great. Here are some comments on the RDF/XML
Syntax Specification (Revised) you archived here:

My implementation is mostly synced up with this latest spec, but not
completely, so I may have more feedback as I finish syncing up this
week. I hope the comments are helpful.



2.1 Introduction

Why does the introduction now refer to URIs instead of URIRefs? Also,
could the terms be linked to where they are defined in the other

2.4 Empty Property Elements

Typo in first sentence: with -> which

2.9 Datatyped Literals

Typo in third sentence: syntax syntax -> syntax

2.10 Identifying Blank Nodes

To me, the difference between a bNode and a URIRef is whether or not
the label is universal. In the context of a single document, thinking
of bNodes as not having a label (blank) only creates confusion in my
mind. I think bNodes would be less confusing if they where described
as having a non-universal resource identifier. And to note somewhere
that non-universal resource identifiers are good when one does *not*
want *anybody* to be able to say anything about the resource, but only
the one document.

The fact that bNode identifiers may not need to be written out in some
cases[1] does not mean they need to be thought of as blank.

[1] When the document does not need to reference the bNode identifier
from more than one place in the document.

2.17 Reifying Statements

It might be nice to allow rdf:nodeID here too... So that one has a
choice of whether or not the reified statement itself will have a
universal identifier or just an identifier that can only be used
within the scope of the document.

Section 5.1 The RDF Namespace

Syntax names is missing: nodeID, datatype

> Any other names are not defined and SHOULD generate a warning when
> encountered in an application, but should otherwise behave normally,
> and treated as properties and/or classes as appropriate for their
> use.

If the syntax is not being constrained and what happens with the
syntax behaves normally then the matter is no longer one for the
syntax spec. I can only guess that "SHOULD generate a warning" instead
of "MUST generate an error" is due to backward compatibility? If not,
then why not define the productions with anyURI in them as follows:

    nodeElementURIs = rdf:Description | classURI | rdf:nil | anyURI
                      except from the RDF namespace

    propertyElementURIs = rdf:li | propertyURI | anyURI except from
                          the RDF namespace

    propertyAttributeURIs = anyURI except from the RDF namespace



                   | REST | _n

Section 6.1.1 Identifier Event

Typo in second to last sentence: for the for the -> for the

Section 7.2.2 Production syntaxTerms 
( )

Defining syntaxTerms so that it is not slightly different from the
list of Syntax names, but one in the same, would make the section
using syntaxTerms read better (after they have been changed
accordingly). Also, the use of syntaxTerms in section 8 would be more
correct (since it would include rdf:Description).

Section 7.2.3 Production nodeElementURIs
Section 7.2.4 Production propertyElementURIs

It looks like rdf:aboutEach and rdf:aboutEachPrefix are allowed by
these productions. Which causes the following four test cases to
fail. Hum, unless a warning that gets generated as described in
section 5.1 is enough to make the negative test cases pass.

Why is rdf:nil not allowed as a propertyElementURI or
propertyAttributeURI, but is allowed as a nodeElementURI?

Received on Monday, 28 October 2002 14:30:24 UTC