- From: Mark Birbeck <mark.birbeck@x-port.net>
- Date: Mon, 25 Oct 2004 18:04:29 +0100
- To: "'Jeremy Carroll'" <jjc@hplb.hpl.hp.com>
- Cc: "'public-rdf-in-xhtml task force''" <public-rdf-in-xhtml-tf@w3.org>
Hi Jeremy, Thanks for your continued comments. > Friday I took an action to review RDF/A > http://www.formsplayer.com/notes/rdf-a.html > 11 October 2004 > > to see whether it addresses the nodeID issue. > > It seems to, but I felt there were still a few rough edges. > > Two were: > > 1) > > from section 5.2 the example > > [[ > <link nodeID="a" rel="foaf:mbox" > href="mailto:daniel.brickley@bristol.ac.uk" /> > <link nodeID="b" rel="foaf:mbox" > href="mailto:libby.miller@bristol.ac.uk" /> <link > about="#bnode(a)" rel="foaf:knows" href="#bnode(b)" /> ]] > > the x-ppinter like notation #bnode(a) seems to confuse blank > nodes and > URIref nodes. I think it is significantly cleaner not to provide such > syntax, but require, say: > > > <link nodeID="a" rel="foaf:knows"> > <link nodeID="b"/> > </link> > > which cannot be read as introducing URIref nodes. I looked first at doing what you describe, since that's effectively what RDF/XML does -- allow @nodeID in the position of either subject or object. However, your example won't work, because in the second line we cannot tell whether we have a subject or an object. You can get away with this in RDF/XML since there cannot be such a confusion, but in RDF/A we need to distinguish between them. So, the alternatives that came to mind were: * have a different attribute for the object if the target is a bnode, e.g., <link nodeID="a" rel="foaf:knows" foo="b" /> <link nodeID="b" rel="foaf:knows" foo="a" /> * modify the @href in some way to indicate that it is actually a bnode that is being referred to. I thought we had enough attributes already (!) so opted for the latter, and although there seemed to be a couple of ways that this could be done, the most likely to be accepted seemed to be to create an XPointer. I of course agree with you that we have actually created a URIref, but I looked at this for quite a while and concluded that the definition of blank node identifiers in RDF-CONCEPTS allowed the graph representation syntax some leeway to decide what exactly a blank node identifier was. As far as I could see, as long as the processor (or GRDDLiser) knew to map these to something else, all would be well. However, looking at it again I can see that there is no way with this approach to prevent the following (i.e., someone making statements about your blank nodes): <link about="http://example.com/your-doc#bnode(b)" ... /> so it would seem the XPointer approach is flawed in that it breaks a fundamental aspect of blank nodes. Thanks again for the extremely useful input and for spotting this; it would seem we need another attribute then (although I'm all out of attribute names at the moment). Regards, Mark Mark Birbeck CEO x-port.net Ltd. e: Mark.Birbeck@x-port.net t: +44 (0) 20 7689 9232 w: http://www.formsPlayer.com/ Download our XForms processor from http://www.formsPlayer.com/
Received on Monday, 25 October 2004 17:21:28 UTC