Re: WD-rdf-syntax-grammar-20010906 in RELAX NG

>>>James Clark said:
> So propAttr is supposed to match anything other than
> 
> + a non-namespace attribute
> + rdf:type
> 
> ? Don't you also need to exclude rdf:ID, rdf:about, rdf:aboutEach?
> Otherwise an element could have both an rdf:ID and, say, an rdf:about
> attribute, even though the syntax has a choice of rdf:ID and rdf:about,
> because one of them would match propAttr.
> 
> What exactly is the list of RDF attribute names that propAttr cannot match?
> Probably rdf:bagID, rdf:parseType, rdf:resource need to be excluded in
> addition to rdf:ID, rdf:about, rdf:aboutEach. rdf:type.

Consulting my handy reference (not official)
  http://www.redland.opensource.ac.uk/notes/concepts.html

Syntax concepts:
  rdf:RDF rdf:Description rdf:about rdf:aboutEach
  rdf:ID rdf:bagID rdf:resource rdf:parseType

(rdf:aboutEachPrefix now removed from language although in above doc)

All the above match propAttr but have no defined meaning in the
model.  This strongly suggests we should exclude them from matching.

In your second mail you note rdf:li might need to be excluded as an
attribute.  I can't find the decision that specifically forbids the
attribute form - we will have to investigate this.  The original
proposal has examples where it is allowed:

  http://www-uk.hpl.hp.com/people/bwm/rdf/issues/containersyntax/current.htm

but as you note, it is an error case in the test suites accompanying
the decision:
  http://www.w3.org/2000/10/rdf-tests/rdfcore/rdf-containers-syntax-vs-schema/error001.rdf


> What about propertyElt and typedNode? Can they match element names from the
> rdf namespace?

Same thing applies here I guess - the list above should not match
element names too but all other rdf: names such as rdf:type are OK
including rdf:li and rdf:_<number>

All this confusion comes from including syntax-only concepts in the
same namespace as built-in concepts (RDF properties, types, classes).

<snip>
> Dave said:
> >   * specifying something like "rdf:type OR any other property that
> >      isn't  rdf:type"
> 
> Specifying "anything other than rdf:type" is easy in RELAX NG and has a
> clean, precise semantics.  In the non-XML syntax it would be just
> 
> attribute * - rdf:type { ... }

I'm happy to use something like that form in the next WD version.

I like where this schema is heading, teasing out ambiguities in our
docs and providing validation.   Have you any thoughts on how to do
the mapping to RDF statements with RelaxNG?

Dave

Received on Monday, 17 September 2001 09:12:55 UTC