MeatballWiki | RecentChanges | Random Page | Indices | Categories

A BidirectionalIndex is both a ForwardIndex and a ReverseIndex. A bidirectional index is actually a mapping between two spaces. Often a bidirectional index is a linear spatial mapping. For instance, a TableOfContents in a book lists every section in the book in the order presented, and then provides page references so the reader can jump from this map for the book to the actual content referred to. Conversely, if a reader wants to understand her position in the text relative to the global work, she cannot simply glean this from her current page. She could flip back and forth to find other nearby headings. There may be BreadCrumb?""s like the current chapter title, but the most efficient way is to go back to the TableOfContents to situate her current page in the outline of the entire text.

Thus, a BidirectionalIndex not only provides a global overview of the indexed domain, but it also allows local authors to situate their work in the global context. For this reason, most ForwardIndex""es are actually BidirectionalIndex""es to some degree, at least providing some BackLink information even if it is incomplete. Otherwise, readers will feel lost after following a ForwardIndex as they will have no way to return to the index, particularly after navigating away from the initial point they entered the text.

However, if spatial relationships are not the domain needing an index, then a BidirectionalIndex may be non-linear. For instance, when doing TextAnalysis?, one might want to build a BidirectionalIndex from the text to a table of word frequencies. Move from the word to the table and the table to all the instances of that word in the text.

While it would seem preferable to always maintain a BidirectionalIndex, at least a partial one, instead of a ForwardIndex, there are good reasons to remove BackLink""ing information from the index. For instance, RecentChanges is a ForwardIndex that tracks pages in a wholly different dimension than the pages ought to be represented, one of time. While RecentChanges tracks changes done in chronological order, pages themselves should be read in the WikiNow, and thus they do not require any links to their location in RecentChanges (although, see VersionHistory).

From an authorship point of view, bidirectional indexes work best when one side of the relationship is automatic, either due to the structure of the domains (i.e. a formal mathematical relationship), the structure of the mapping (e.g. the page numbers themselves index into the TableOfContents), or from some sort of TechnologySolution (e.g. BackLink""s). Otherwise, they require a very large amount of busywork to maintain the index's integrity since it is recording redundant information.



MeatballWiki | RecentChanges | Random Page | Indices | Categories
This page is read-only | View other revisions | Search MetaWiki