Re: HTML Link Type Model

Roy T. Fielding (fielding@avron.ICS.UCI.EDU)
Wed, 17 May 95 03:59:20 EDT

Joe said:
> I don't see any discrepancy between
> [ from the May 6 HTML I-D ]
> | 8.1.4. REL
> | The REL attribute gives the relationship(s) described by the
> | hypertext link from the anchor to the target.
> and using
> in node "A" to mean that "B is the next node (after A)"
> (as per Murray's document). Are you saying this is backwards?

I probably shouldn't call it backwards -- ambiguous is more accurate,
because the WWW model defines it as "A next B", not "A's next is B"
or "B is the next node after A". For instance, I can equally define
it to mean "B's next is A". The WWW model assumes that the relation
is a verb, and thus the interpretation is clear (as in "B made A"
instead of "A author B"). Mind you, "the WWW model" was never implemented.

> +-----+ NEXT +-----+
> | A |---------> | B |
> +-----+ +-----+
> I can't make my brain interpret this diagram to mean anything
> other than "if you're at document A, B comes NEXT".
> Maybe it's a left-to-right bias... How about:
> +-----+ PARENT +-----+
> | A |---------> | B |
> +-----+ +-----+
> To me this says
> "A's parent is B"

That's fine I guess, so long as we are consistant in this interpretation.
Paul Burchard raised the same point (privately).

> (Murray's paper has the same interpretation.)

I still think the definitions I gave are more accurate -- both
REL and REV do specify specific source and destinations (assuming we
don't invent multi-ended links).

> Are you saying that the WWW link model really
> interprets this as
> "A is the parent of B"
> instead?

No, I'm saying that the WWW link model does not adequately define
the meaning of relationships based on noun phrases.

>> [ ... much deleted ]
>> For example, how many people can tell me the chapter number of A
>> if it contains
>> rel="next" href="chapter2.html" ?
>> rev="prev" href="chapter2.html" ?
>> rel="prev" href="chapter4.html" ?
>> Now, I dare anyone to claim that an ordinary HTML author can use
>> such an inherently confusing syntax with any degree of reliability!
>> [...]
>> RECOMMENDATION: Abandon this model. Declare REL and REV to be deprecated,
>> and replace them with ROLE="" (defined in SGML as type NAMES)
> Is this:
> <link ROLE="next" href="xyzzy.html">
> any less confusing than:
> <link REL="next" href="xyzzy.html">
> Ah, I see... "REL" labels the link, while "ROLE"
> would label the *target* of the link. Correct?


> Would it be possible to simply change the official
> interpretation of the "REL" attribute to match
> existing practice? (SCO's browser for one, and
> I know of at least one document that makes heavy
> use of <LINK> with relations defined as above.)

Yes. We could instead define a consistant semantic for noun phrases.
For example:

when link type = noun, then SRC's REL is DEST

when link type = verb, then SRC REL DEST

which works only so long as you can differentiate between
nouns and verbs (probably not a problem). In that way, we can
at least provide guidance to authors regarding how to name a type.

....Roy T. Fielding Department of ICS, University of California, Irvine USA