- From: Brian McBride <bwm@hplb.hpl.hp.com>
- Date: Sat, 10 Mar 2001 17:54:24 +0000
- To: Jonathan Borden <jborden@mediaone.net>
- CC: www-rdf-comments@w3.org
Jonathan, Thank you for the clarification. I have added a reference to your suggestion under the 'Further Discussion' heading to: http://www.w3.org/2000/03/rdf-tracking/Overview.html#rdfms-identity-anon-resources This will appear on the W3C site in due course. Brian Jonathan Borden wrote: > > Brian McBride wrote: > > > > > > Jonathan, > > > > I'm not sure exactly what it is you are suggesting. Can you provide > > some > > concrete examples of the application of this suggestion, outlining the > > benefits that it brings. > > > > I have some more abstract questions that I'm wary of as abstract > > discussions > > on this topic don't always seem to clarify my understanding. However, > > they might give you some idea of what it is I'm not understanding. > > In general my position is that the issues of naming and addressing often get > conflated when assigning a URI to a 'resource'. > > I am going to resist the temptation to answer these questions because I've > seen these abstract discussions go round and round without apparent > resolution. In general whether something is abstract or concrete, > theoretical or physical depends on how you look at it and is ultimately a > matter of local convention. > > Let's start with these definitions and see how far we get: > > When parsing an XML document, for the moment an XML document that conforms > to the RDF syntax, a series of triples (p,s,o) are emitted. This set of > triples is incorporated into an RDF model, or abstract syntax. For each > (p,s,o) the RDF M&S 1.0 recommendation specifies a set of rules for > generating URI references from the document being parsed. > > It may occur that the syntax provides no explicit 'name' for a resource. > Such a resource is termed 'anonymous'. The parser must assign a name to the > resource for the purpose of generating a URI ('Skolemize'). Such functions > e.g. generate-id() produce names such as: "genid12345". > > It has been pointed out (TimBL) that such naming of anonymous resources has > problems. > > I propose that instead of 'naming' such anonymous resources, the resource > can be addressed by its position in the originating document hence producing > a URI reference that is an address but not a proper name. > > The XPointer 'child sequence' syntax provides such addresses _with the > benefit that syntax of these addresses does not clash with the symbol space > of proper names_ i.e. a child sequence is of the form: > > /1/2/3/4 and this can _always_ be disambiguated from an XPointer 'raw name' > such as might be produced by an rdf:ID label (actually only if rdf:ID were a > proper ID). > > Examples: > > A name: "Fred Jones" > An address of an anonymous person "The man third from the left in the first > row of the photo" > > <person rdf:ID="ABC123" rdf:parseType="Resource"> > <person.name> > <first>John</first> > <last>Doe</last> > <person.name> > <ssn>12345</ssn> > </person> > > the node corresponding to the element "person.name" will be 'anonymous'. It > can be referred to with the child seq: > > /1/2 > > it can also be referred to using the xpath > > person[@rdf:ID='ABC123']/person.name > > which combines a name and an address but the child seq form is a 'pure' > address. > > > > > o does this suggestion work when the variable is represented in N3 and > > there is no XML representation for it? > > A proper ENBF syntax or property set for N3 would enable an addressing > scheme for N3 documents. To my knowledge no such addressing syntax has been > defined for N3 as yet (one can always punt and refer to the 'statement > beginning at character 45 in the document', third statement in the document > etc. choose. ) > > > > > o are you suggesting that any resource identified by an XPointer is an > > anonymous resource? > > no. XPointer defines several forms: > > raw name: this directly corresponds to an ID and is hence a name > child sequence: this is an address > combined raw name/child sequence > full xpointer > > what I am saying is that a child sequence -- which is identified by the > starting '/' _is_ always an address and hence corresponds to an anonymous > resource. One can identify a URI as denoting an anonymous resource by > detecting a '/' immediately following the '#' -- i.e. in the first character > of the fragment identifier. This is not to say that _only_ child seqs > identify anonymous resources. > > > > > Brian > > > > > > Jonathan Borden wrote: > > > > > > Regarding anon resources. At the RDF IG F2F I made the point > > that one can > > > use XPointers to identify 'anonymous' resources using three forms (of > > > XPointer) > > > > > > 1) raw name - ID > > > 2) child sequence e.g. /1/2/3 > > > 3) full xpointer e.g. #xpointer(//xxx:foo[@name='bar']) > > > > > > TimBL noted that it is useful to know when a resource is anonymous. I > > > pointed out that assuming child seqs or full xpointers are used that the > > > lexical space of a URI reference naming anonymous resource is > > distinct (e.g. > > > test for '/' or 'xpointer(' immediately following '#'. Hence it will be > > > known that the URI is an 'address' not a 'name'. > > > > > Jonathan Borden > The Open Healthcare Group > http://www.openhealth.org > >
Received on Saturday, 10 March 2001 12:53:27 UTC