RE: Summary of the QName to URI Mapping Problem

> ... Any qname whose prefix binds to a URI reference
> which, when concatenated with the QName's local name, yeilds
> the relevant URI is just fine.

Uhhh... sorry Dan, but just where do you get that? Certainly not
from the XML Namespace spec. One might be able to bend the XML NS
spec wording to seem compatible with that interpretation, but the
XML NS spec defines no such QName to URI mapping function.

> >  But there's no rule for where
> > to break it, and, as Patrick pointed out, if you do it the wrong way
> > you get ambiguities.
> 
> What ambiguities? concat(nsname, localname) is completely
> unambiguous.

Well, I've provided examples several times to the list demonstrating 
that such straight concatenation is potentially collisive, including
an example in the original posting of this thread.

But for your benefit, I'll repeat the example here:

I.e. if 'ns1:' = "urn:x:abc" and 'ns2:' = "urn:x:abcd"
     then both 'ns1:defg' and 'ns2:efg' are mapped to
     the same URI "urn:x:abcdefg"! Yet these are clearly
     separate resources per their disjunct QName identities

(the fact that the above example is contrived in no way lessens the
 seriousness of this problem)

> > This really is a glaring hole in RDF that needs to be filled.
> 
> Well, it's a discussion that keeps happening.
> But I have yet to see any coherent argument that there's an
> actual technical hole.

If the above example doesn't do it for you, I don't know what
will. And if you have not read my proposal for an rdf:Map construct
(which includes numerous, well layed out arguments, examples and
discussion) then I would appreciate it if you would. please see my
posting to the www-rdf-interest group titled 'A proposed solution to 
the RDF syntactic/semantic mapping problem (long)' posted a couple of
months ago. I'd also be happy to email you a copy.

> > Adopting an offical QName <-> URI mapping convention seems to be the
> > obvious solution.
> 
> The RDF spec includes an unambiguous QName -> URI mapping:
> 	uri(qname) = concat(nsname(qname), localname(qname))

Which is broken... and does not address XML literal to resource URI
mapping...
 
> It's a W3C recommendation; that's as official as we get around here.

Just because it's in a standard doesn't mean it's correct...
 
> It's not possible to define a URI->Qname mapping, since not
> all URIs end in XML name characters. (This is a limitation
> that designers of RDF vocabularies should be made aware
> of by some NOTE in the spec or something.)

Exactly! Great! A glimmer of light! At least one problem recognized.

So in order to re-serialize RDF encoded knowledge for a particular
XML DTD or schema, one must write *custom* code for each transformation
rather than be able to utilize standardized generic tools with
standardized mapping schemas!

If such custom hacking has to happen for any cases where folks aren't
using a particular type of URI scheme with particular fragment syntax,
which are not explicitly defined by the standards, then we have a 
hurdle for global acceptance.

Regards,

Patrick

--
Patrick Stickler                      Phone:  +358 3 356 0209
Senior Research Scientist             Mobile: +358 50 483 9453
Software Technology Laboratory        Fax:    +358 7180 35409
Nokia Research Center                 Video:  +358 3 356 0209 / 4227
Visiokatu 1, 33720 Tampere, Finland   Email:  patrick.stickler@nokia.com
 

Received on Thursday, 16 August 2001 06:36:16 UTC