Although the straw model described above is a powerful one, querying it is an inefficient and difficult process. Queries to this type of network structure are a complex graph-isomorphism problem. Essentially, when a user makes a query they are trying to map a sub-graph they construct mentally to the full graph structure. For example looking for a document by Bob written in January about Apples is the graph consisting of a document node connected to an author node (with the content Bob), a date node (with the content January) and a term node (with the content apples).
However, we need not despair. It is now time to re-introduce the specialized information systems described previously, and begin to build efficiency into the system.
The first task is to combine the term nodes into an efficient data
structure. It is here that IR systems come to the rescue. We can now
take the term nodes and merge them into the inverted file hash table
which full-text IR systems are famous for. This conversion/indexing
process is illustrated in Figure . In this figure we
see all the term nodes merged into an inverted file, with the
appropriate pointers from the file to the remaining document clusters.
Figure: The Implemented Straw Model I
The second task involves the optimization of the remaining ties into
a queryable structure. The two types of information systems,
databases and hypertext systems, would seem to be the best answer.
However, we recall that Lore allows us to build both types of systems
into one. Figure shows this final transformation
between the abstract Straw structure to the concrete Lore
model described previously.
The next chapter discusses in detail the construction of
Straws, and Chapter details the methods for the
straw to database/hypertext converion. The indexing mechanisms built
into Haystack are described completely in Appendix
.
Figure: The Implemented Straw Model II