W3C home > Mailing lists > Public > w3c-rdfcore-wg@w3.org > October 2001

Re: SYNTAX: RDF/XML Syntax WD work

From: Dave Beckett <dave.beckett@bristol.ac.uk>
Date: Wed, 17 Oct 2001 11:19:12 +0100
To: Jeremy Carroll <jjc@hplb.hpl.hp.com>
cc: w3c-rdfcore-wg@w3.org
Message-ID: <13834.1003313952@tatooine.ilrt.bris.ac.uk>
>>>Jeremy Carroll said:
> 
> 
> Of the issue resolutions currently in the draft 1.67 I am only uneasy
> with:
> 
>   rdfms-not-id-and-resource-attr
> 
>   Action: The grammar has[will be] been modified to forbid the use of
>   an rdf:ID attribute when a rdf:resource attribute is also
>   given. This removes an ambiguity of which statement is reified but
>   is relatively harmless since the statement can be precisely reified
>   using the non-empty version of the property element with an
>   <rdf:Description> block

Which I wrote just so people could argue / support.  Plus I own this
issue and want to close it.  :)


> I prefer to go other way, to allow an rdf:ID on any propertyElt
> production and to uniformly understand it as reifying the triple created
> by that propertyElt. (Personally I don't see the ambiguity referred to
> in your text).

There has patently been plenty of implementer and WG confusion given
previous long threads discussing this artifact, lack of coherent
implementation and use, so I was proposing a clarification by
removing it, since it can be done another way.

In addition, it is consistent with the recent rdf:ID="attr"
abbreviates rdf:about="#attr" near-decision; since this rdf:ID
doesn't do that, it is an alternative for rdf:resource

The existing grammar says very complex things near
http://ioctl.org/rdf/ms/rdfms#229 but in http://ioctl.org/rdf/ms/rdfms#232
  "r2 is the resource named by the resource attribute if present or
   a new resource. If the ID attribute is given it is the identifier
   of this new resource."

so the following example is illegal in RDF/XML M&S 1.0

  <?xml version="1.0"?>
  <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
           xmlns:ex="http://example.org/schema#">
    <rdf:Description rdf:about="http://example.org/r">
     <ex:property rdf:ID="foo" rdf:resource="http://example.org/blah" ex:prop="lit"/>
   </rdf:Description>
  </rdf:RDF>

since rdf:ID and rdf:resource are alternatives.

> 
> Is the intent of your text to delete para 232, i.e. we forbid reading
> the rdf:ID on some propertyElt's as something other than a reification?

I am not doing any deletion on old text, but constructing a new one.
However, I was proposing not allowing rdf:ID in the new grammar in
this place, to ease the confusion and consistent with the
rdf:ID/rdf:about choice.

The rdf:ID above is on a property that introduces 2 statements (in my
example; can be more with extra property attributes) so can't reify
both.  It could reify one, but this abbreviated form still seems
rather odd.


> Should your text (the intent) read:
>       .... 
>        when a rdf:resource attribute is also *possible*. ...

I'd rather you proposed this as change rather than ask me to justify
why you want it!

Replacing your proposed change

   Action: The grammar has[will be] been modified to forbid the use
   of an rdf:ID attribute when a rdf:resource attribute is also
   possible. This removes an ambiguity of which statement is reified
   but is relatively harmless since the statement can be precisely
   reified using the non-empty version of the property element with
   an <rdf:Description> block

Hmm, I don't like that at all actually.  Maybe:

   Action: The grammar has[will be] been modified to forbid the use
   of an rdf:ID attribute on an empty property element. This is
   consistent with using rdf:ID="attr" as an abbreviation for
   rdf:about="#attr" and removes the suggestion that it reifys a
   statement, which it never did in the original grammar form.

Dave
Received on Wednesday, 17 October 2001 06:22:24 EDT

This archive was generated by hypermail pre-2.1.9 : Wednesday, 3 September 2003 09:41:05 EDT