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

How was Xanadu to handle value lookups?

I have another question about which I spend a lot of time thinking. ;-)

Supposed I wanted to create an address book of my friends using Green.
I can create a document consisting mostly of links, whose 'from'
endpoint points to the text of their name, and the 'to' endpoint points
to the text of their address and phone number, and the 'type' endpoint
is that of 'an address entry'.

Now sitting at my reader, I pop up a dialog box and type in the first
few characters of the last name of someone.

What does the front-end (reader), do next?  There isn't anything in
Xanadu for doing arbitrary string lookups with a document.

Certainly the reader could retrieve the entire address book and
sequentially scan it but that wouldn't scale.

My first crude idea is that you hash the name string, convert that hash
into an arbitrary tumbler address underneath some top-level "atom"
category, and have each address book entry link to that hashed location.
Therefore the string "Smith", whether used for a person's name,
historical occupation or some such, would always point to a particular
place in the docuverse, and typed links are made to that permanent

My second crude approach would be to construct a B-tree from multiple
documents, where each tree-node is a document containing links to the
next lower level.  As the tree changed, that "B-tree document set" would
grow new versions.

I'm sure I'm overlooking something as being able to lookup information
using external strings and numbers is a fundamental need of any
information storage system.