Re: Summary of the QName to URI Mapping Problem

Patrick.Stickler@nokia.com wrote:
[...]
> > I have to admit I do that myself from time to time...
> 
> I just think it's something that should be provided for in an
> efficient and standardized fashion by every RDF parser. Because,
> even though you might have a mapping filter for your SW agent
> or application, that doesn't mean all SW agents or applications
> will, and therfore we fail to have consistency in resource naming
> on a global scale because your local mapping might be other than what
> is achieved by direct concatenation by some remote system.

Er.. it seems to me that you've overconstrained the problem
to the point where it's insoluble.

If you want consistency in resource naming, URIs provide that.
If you want to use qnames to abbreviate URIs, the RDF spec
has a mechanism for that. If you're careful about how
you do your XML serialization of RDF, you can use XSLT
and XML Schema with it.

If other XML technologies don't use that mechanism, or if
you're not careful about how you chose your namespace
names and how you serialize your RDF, life gets messy.

I've made that point, but the other designers of XML namespaces
spec weren't willing to apply the RDF mechanism for
making URIs from QNames across all of XML. Hence the XML namespace
spec is silent on the matter.

The XML Schema WG took advantage of the flexibility,
resulting in a design where you can't rely on a QName
being shorthand for a URI and denoting a resource
in the global context; this result supports
modelling C++/Java objects and relational tables,
which was seen as more important than consistency
in global resource nameing. I tried. (I gather there's
a chance this design decison may be revisited in
a future revison of XML Schema, but I'm not sure...)


> > > Uhhh, but if the actual QNames needed, according to the actual
> > > ontology are (mid:xyz@foo)(ble) and (mid:xyz@foo)(ble1) and
> > > you have applications, style sheets, etc. etc. looking for the
> > > real QNames, just what do you expect them to do with the above
> > > guesses.
> >
> > I don't expect "real ontologies" to deal with Qnames... just URIs.
> 
> I meant, XML (non-RDF) applications which deal with "real" ontologies
> with specific namespaces and names, and the ability of such applications
> to exchange information with any arbitrary RDF system, not just one
> which has the needed precise mappings hard-coded...

If an ontology does not have its terms grounded in URI space,
and only in URI space, I'm not going to take it too seriously.

If folks want to separate namespaces and names in some principled
way, URI fragment identifiers provide for that; i.e.
always end your XML namespace names in #.

This is one of the fundamental principles of the Semantic Web,
to me:

------------
DAML features distilled: Semantic Web Principles

     terms grounded in URI space 
     simple XML usage for use with XSLT etc. 
     explicit translation to statements 
         natural language statements 
         logical formulas 

	--Dan Connolly, March 2001 Austin, TX
	http://www.w3.org/2001/Talks/0103daml-kt/slide7-0.html
------------


> > But XSLT is kinda handy... the actual mapping convention I tend
> > to use in practice is:
> >
> > I. If you're designing and RDF vocabulary and you
> > want to make it easy to use XSLT with it,
> > choose a namespace name that ends in a non-XML-name character
> > (e.g. # or / or ?)
> 
> But you may not have the luxury of choosing your namespace.

Then the convention I suggest may not apply.

> Whatever
> method is used must not discriminate against any URI scheme in
> any way.

This method works for all URI schemes, no? http:, ftp:, mid:,
not-invented-yet:, etc.

Or do you mean something else by URI scheme?

If you're suggesting that you should be able to use
any URI for an RDF property name and still get the
sort of interoperability with XSLT that you're after,
that's clearly impossible. You have said so at length.


> > II. to split a URI ...
> >
> > In fact... this is what TimBL implemented in the semantic web toolkit
> > we're hacking on:
> 
> Sure, that works for special namespace URIs, but not for any arbitrary
> URI, and it IMO should work for any arbitrary URI if we are talking about
> a global, critical mass of interoperable knowledge for the SW. No?

I don't know how to reconcile your opinion that it should work
with your logically compelling argument that there is no
algorithm that works in all the relevant cases.

I find the relevant limitations (e.g. don't choose property
names that end in /) acceptable.

If you're suggesting that these limitations
should be more widely documented, I agree.


-- 
Dan Connolly, W3C http://www.w3.org/People/Connolly/

Received on Friday, 17 August 2001 15:25:04 UTC