Re: Fragment Identifiers and Agent Perspectives

On Mon, Oct 10, 2011 at 5:35 PM, Roy T. Fielding <fielding@gbiv.com> wrote:
> On Oct 8, 2011, at 9:55 PM, Manu Sporny wrote:
>>> 1. In browsers without Javascript frag ids identify a place in a document.
>>> 2. In browsers with Javascript and for media types that support active content,
>>> frag ids may also be used to pass parameters to the Javascript
>>> 3. For Semantic agents frag ids may also be used to identify a concept in a document
>>
>> That is correct.
>>
>> So, that is the edit that will need to be made to RFC 3986.
>
> I do not see that happening.  There is nothing in your discussion
> that wasn't already discussed during the development of 3986, nor
> does the standard need to be changed to support how a given type
> of user agent might use identifiers.  What you presume about RDF
> is no more universal than what you presume about HTML -- in both
> cases, *people* use fragment identifiers to identify what they
> want identified.  Javascript uses fragments to identify whatever
> it bloody well feels like identifying, and no amount of
> categorization will ever "solve" that. The media type in that
> instance is text/html, and absolutely nothing prevents it from
> using fragments to identify concepts.  In short, the existing text
> in 3986 is correct.
>
> ....Roy

Yes, of course, and certainly you wouldn't want to talk about
Javascript and RDF in a document like 3986. But I think you missed
what Manu is talking about, which is not that there are different ways
to determine the 'identification' of a given URI, but that different
ways might give different results. If that's consistent with 3986 then
we can stop talking about 3986. But here's why the question comes up.
3986 says:

   "URIs have a global scope and are interpreted consistently regardless
   of context, though the result of that interpretation may be in
   relation to the end-user's context."

The situation in question is: if the context (protocol, format,
language, processor, syntactic position, etc.) is A, then the URI
"identifies" X, and if the context is B, then the URI "identifies" Y.
For example, if the URI is the subject of an RDF triple, maybe it
'identifies' a paragraph, but if it's the value of an href=, it
'identifies' a completely different paragraph. If that is consistent
with 3986 - and I hope you are right that it is - then there is no
problem.

I find the above sentence confusing in a couple of ways. First is the
use of simple present tense: "URIs are interpreted consistently". This
is not empirically true, so it must be normative to some extent: "URIs
are meant to be interpreted consistently" or "According to this
specification, URIs are interpreted consistently" or "Agents that
conform to this specification interpret URIs consistently".

Second is the use of "interpreted". Now obviously "U is interpreted
with result R" is not the same as "U identifies R", so probably this
sentence has no relevance in this situation, but since "interpret" is
not defined in the document there is some residual uneasiness.

If "identification" is only done by people, that simplifies things
enormously, as a spec like this cannot be normative for people. ...
but then why does the RFC talk about "identification" at all? Is it
just a sort of heuristic to be applied freely, or not at all?

Sounds like it would be best to ignore 3986, which does not seem to
constrain things much, and figure out how to proceed independent of
it.

Jonathan

Received on Tuesday, 11 October 2011 13:57:50 UTC