Re: I am he and you are me and we can all ID together

Hi Aaron,

> > is treated differently when attribute syntax is used and when element syntax
> > is used.  It seemed the only interpretation that worked.  I wonder what the
> > different parsers do.
> 
> This would be possible, but seems difficult since the syntax for referencing
> resources is identical in both element and attribute syntax. Because of
> this, a Description that only had resources as objects would be exactly the
> same whether using attribute syntax or not. Example:
> 
> <rdf:Description>
>   <a:b rdf:resource="#a">
> </rdf:Description>

I see no rdf:ID attributes in this example.

> 
> > Having ID denote the reified statement in attribute syntax doesn't work in
> > general as there may be more than one attribute, thus more than one statement.
> 
> I may be mistaken, but it was always my belief that an ID used in attribute
> syntax would fall on the Description element and thus would be interpreted
> as the ID of the subject, not the reified statement.

Ahh.  Maybe I've missed something here.  Let me try to be clearer about
my
understanding:

The two cases I was trying to distinguish are:

  <rdf:Description>
    <foo:bar rdf:ID="a">
       property value
    </foo:bar>
  </rdf:Description>

In this case, the ID identifies the reified statement.

  <rdf:Description>
    <foo:bar rdf:ID="b" bar:foo="c"/>
  </rdf:description>

In this case the ID identifies the resource which is the object
of the foo:bar property.

And hence my statement ...

> 
> > So its my belief that the intent of the spec was to specify different
> > interpretations for ID in these different circumstances, so I've added a
> > reference to this thread under:


> 
> If this is true, then it should be clarified how implementers are to
> determine which format is being used, since, as I have shown above, in some
> cases they are indistinguishable.

So you are saying, what about:

  <rdf:Description>
    <a:b rdf:resource="#a">
  </rdf:Description>

I don't see an ID so I don't see any ambiguity.

One thing to bear in the mind, is that the section you quoted in your
original
submission:

  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.

is guarded by:

  Specifically; each propertyElt start tag containing attribute
specifications
  other than ID, resource, bagID, xml:lang, or any attribute starting
with the
  characters xmlns results ...

So, for example:

  <rdf:Description>
    <a:b rdf:ID="#a"/>
  </rdf:Description>

doesn't satisfy the guard condition.

The issue you are raising, as I currently understand it, is that the
text:

  Within propertyElt (production [6.12]), the URI used in a resource
attribute
  identifies (after resolution) the resource that is the object of the  
statement (i.e., the value of this property). The value of the ID
attribute,
  if specified, is the identifier for the resource that represents   the
reification of the statement.

appears to state the value of the ID attribute on a property element
ALWAYS is
the reified statement, but this is contradicted later by the text you
quoted in
your original submission:

  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.

Do let me know if I have not understood the issue correctly.  This is
the reason I try to respond to each issue raised - to make sure that
these tired old neurons of mine haven't misfired.

Brian

Received on Monday, 16 April 2001 15:07:38 UTC