- From: Brian McBride <bwm@hplb.hpl.hp.com>
- Date: Mon, 16 Apr 2001 20:07:32 +0100
- To: Aaron Swartz <aswartz@upclink.com>
- CC: RDF Comments <www-rdf-comments@w3.org>
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