- From: Piotr Kaminski <pkaminsk@home.com>
- Date: Wed, 15 Aug 2001 17:07:16 -0700
- To: <www-rdf-logic@w3.org>
Dan Connolly said:
> The RDF spec includes an unambiguous QName -> URI mapping:
> uri(qname) = concat(nsname(qname), localname(qname))
The mapping mechanism is indeed unambiguously defined. It can, however,
lead to invalid results.
Let's start from the following axioms.
1. A QName identifies a (single) resource.
2. A URI identifies a (single) resource.
3. The goal of a QName -> URI mapping is to transform a QName into a URI
that identifies the *same* resource.
The above mapping doesn't achieve the goal. An example follows that is
essentially equivalent to Patrick's, but I have a feeling that most of the
contention will be about the axioms above, especially (1). One could take
the position that a QName is a purely syntactic construct, and doesn't
identify anything in and of itself. I believe such an interpretation
contradicts the XML Namespaces recommendation, in spirit if not in letter.
Informal example to demonstrate why the mapping is flawed according to the
axioms:
xmlns:foo="http://ideanest.com/foo"
xmlns:bar="http://ideanest.com/foobar"
Then the following two QNames identify distinct resources; they do so
because they are different names, the namespace URI is mine, and I say that
the resources they identify are different.
foo:barcat
bar:cat
Yet, using the standard concatenation mapping, both QNames are mapped to the
same URI:
http://example.com/foobarcat
While this URI identifies some resource (by definition), it cannot identify
both of the (distinct!) resources identified by the two QNames
simultaneously. Hence the mapping is deficient.
-- P.
--
Piotr Kaminski <piotr@ideanest.com> http://www.ideanest.com/
"It's the heart afraid of breaking that never learns to dance."
Received on Wednesday, 15 August 2001 20:04:04 UTC