logo

Home | Products | Research | Projects | History

The PSI-TREE Pattern

This pattern can be used to formally declare and document an occurrence type whose possible values exist within a tree structure.  Variations are easy to invent.

By convention,  each sub-tree of possible values is locally numbered, then globally named by appending that number (0-9) to the name of its parent, as in:

^
/       \
1          2
 /    \       /     \
11   12    21   22
       /     \
      211    212

These node names can be used to identify each possible value in the tree. Node meanings can then be defined in human readable terms by a set of PSIs associated one-to-one with the node names, thus producing a tree of PSIs - a PSI-tree.

An example PSI-tree may help.  To see its pattern, focus just on the PSI naming notation - their target locations - in the Index of Subjects on the web page below.  Other page content (the meaning of the PSIs) is not relevant here:

http://www.lexikos.com/psi/words/thing/

If the above link is used to type a property in some topic, T, the value of that property for T can be recorded using the target location string of the related PSI, as in:
<occurrence>
 <instanceOf>
   <subjectIndicatorRef
      xlink:href="http://www.lexikos.com/psi/words/thing/"/>
 </instanceOf>
 <resourceData>32</resourcedata>
</occurrence>
As the link in the above illustrates, the URI and the resourceData let this occurrence classify T, the topic holding it, within the identified PSI-tree.

Combining PSI-TREES

Multi-URI Variation: If several similar occurrences were added to T, each indicating a different page of PSIs, they could simultaneously classify T in several orthogonal ways.  This variation declares the PSI-trees at different URIs, so they can be products of authors working independently.

Multi-Tree Variation: The same declarations can be more compactly made by one author not with new occurrences, but by adding multiple PSI-trees to the web page whose URI is cited as subjectIndicator. This second example page holds several independent PSI-trees, and it illustrates.

To classify T under this multi-Tree PSI definition, an occurrence such as the above could be used, but with the new subjectIndicator URI.  It would then replace the "32" with a new string listing the proper node from each (numbered) PSI-tree on that page, separated by commas or white space, as in:

 <resourceData> ... 22, 40, ... </resourcedata>
A Similar Pattern: Both variations have semantics similar to a faceted classification system, which would be built for T from topics and associations, rather than PSI-trees and occurrences.

Relative costs and benefits of all these patterns remain of interest, so please report any you notice to the community. Contact Dan Corwin with questions or comments on this explanation of the PSI-tree pattern.


Lexikos Corporation
Boston & Knoxville
Email: Dan@Lexikos.com