[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]

FromNess, ToNess

One of the things that initially confused me about links was 
the terminology we've used to describe link directionality. Following
links "forward" to an endset is a notion that is perfectly easy 
to understand until you complicate it with suggestive terms like 
"From Space" and "To Space".

If I understand this correctly, the use of such terms is not 
only confusing, but wrong. Since links can be traversed
either endset in a standard three-ended link can be a "From" 
or a "To", depending on the direction of traversal. These ends 
could therefore be arbitrarily named "TweedleDee" and "TweedleDum" 
for all it matters. In fact, this may be preferable to having 
to explain the notion of traveling "forward from the To Space 
to the From Space".

The reason, I suspect, that "From" and "To" emerged in the first 
place was to provide a basis for distinguishing between the possible 
perspectives one might have in looking from one end of the link 
space to the other. Imagine a document A1 that contains a substantive
assertion. Imagine a document B1 that contains an alleged refutation 
of the assertion contained in A1. While it is natural to assume 
that the author of B1 would create a link _from_ his text _to_ 
the assertion in A1, it's of course entirely possible that he 
might not create any link at all, simply writing his alleged 
refutation and leaving it at that. The author of A1 may then 
come along and himself create a link _from_ his text _to_ the 
text in B1. Finally, it's possible that some third party might 
actually create the link between the two passages, arbitratily 
deciding which end is the "From" end and which end is the "To" 

Note that it's possible that the author of B1 might not have 
intended his material to refute A1 at all, and also that the 
author of A1 might not consider his material to be refuted by 
B1. In fact, the third party noted above might be the only person 
on earth who believes that B1 refutes A1.

Given these possibilities, it doesn't really make sense to think 
of a constant "From" or a constant "To", nor does it provide 
any useful assistance. All that matters is that there is a
between the passages, asserted by the presence of the link. However, 
when viewing the link from one particular end or the other, it 
*is* helpful to understand the nature of the relationship being 
asserted, and how the specification of that relationship is related 
to which end you're on. Thus if you were to view the link from 
within the context of B1, you would speak of a "Refutes/Is Refuted 
By" relationship, whereas if you were to view the link from within 
the context of A1 you would describe an "Is Refuted By/Refutes" 

When frontend developers have to write code creating endsets 
or displaying links they encounter, they shouldn't have to think 
about "From" and "To" -- that only promises to confuse their 
understanding of the bi-directionality of links. Trouble is, 
I haven't been able to come up with any better terms. I briefly 
considered using "Passive Space" and "Active Space" to reflect 
the orientation of the kind of link described above, where one 
passage is clearly the object of another's action. This would 
map nicely to "Refutes/Is Refuted By", "Cites/Is Cited By", and 
other such action-oriented relationships, but doesn't hold up 
well to less active relationships like "Relates To/Is Related 

I'm not necessarily proposing another name change, but in the 
absence of any better suggestions, I'm going to avoid using the 
terms "From" and "To" in my developer documentation and will 
instead use "1Space" and "2Space" to describe the first two of 
what I call "Terminating Endsets" (which are distinct from
ends like the TypeSpace). I'm not wild about these terms and 
solicit suggestions that are consistent with the possibility 
of 97-ended links.

-- bobp