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

Re: Issue http://www.w3.org/2000/03/rdf-tracking/#rdfms-not-id-and-resource-attr

From: Art Barstow <barstow@w3.org>
Date: Tue, 22 May 2001 08:40:55 -0400
To: Brian McBride <bwm@hplb.hpl.hp.com>
Cc: Dave Beckett <dave.beckett@bristol.ac.uk>, w3c-rdfcore-wg@w3.org
Message-ID: <20010522084055.B7803@w3.org>

On Mon, May 21, 2001 at 03:11:41PM +0100, Brian McBride wrote:
> 
> Dave Beckett wrote:
> 
> > 
> > In case #1 (empty element) since rdf:ID points to the target
> > resource, adding rdf:resource as well would have two statement
> > objects which does not make sense.
> 
> I'm not following you here Dave.
> 
>   <rdf:Description>
>     <foo:bar rdf:ID="rs">foobar</foo:bar>
>   </rdf:Desscription>
> 
> is clearly legal and the rdf:ID attribute defines the URI of the refied
> statement the property represents.  

My take on Dave's comments in:

 http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2001May/0088.html

is that you two agree in this case (non-empty propertyElt) but
I should let Dave speak for himself :-).

> The question that arises is whether
> 
>   <rdf:Description>
>     <foo:bar rdf:resource="http://foo/" rdf:ID="rs"/>
>   </rdf:Description>
> 
> is legal, with again the rdf:ID attribute defining the URI of the reifed
> statement.  It does seem a bit irregular to allow the use of an rdf:ID
> attribute to identify the reifed statement in the case where the object
> is a literal, but not in the case where it is a resource.  And strictly
> speaking, the grammar does not rule it out as the rdf:resource attribute
> matches the idAboutAttr? 

I think it does rule this out - see below.

> in the production and the rdf:ID attribute
> matches the propAttr*.

But when a propertElt is empty, idAboutAttr is not part of the grammar:

 [6.12] propertyElt    ::= '<' propName idAttr? '>' value '</' propName '>'
                         | '<' propName idAttr? parseLiteral '>'
                               literal '</' propName '>'
                         | '<' propName idAttr? parseResource '>'
                               propertyElt* '</' propName '>'
                         | '<' propName idRefAttr? bagIdAttr? propAttr* '/>'

It seems like the intent of the idRefAttr (in the last option of
[6.12]) is to make it illegal for an empty propertyElt to contain 
both an id and resource attribute.

Art
---
Received on Tuesday, 22 May 2001 08:42:01 EDT

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