STARTS
Stanford Protocol Proposal for Internet Search and Retrieval

Reference Implementation


Implementation Overview

The STARTS reference implementation is composed of five major parts:

  1. A short Perl CGI script that interfaces between a WWW server and remainder of the reference implementation.
  2. The core of the reference implementation written in Java, which will be referred to as StartsServer. This Java code operates as a stand-alone server that accepts four service requests that correspond to the services provided by STARTS:
    1. QUERY - Takes a SOIF input of type SQuery and returns a SOIF output of type SQResults and zero or more SOIF outputs of type SQDocument (depending on the number of "hits" in the result set.
    2. SOURCEMETA - Returns a SOIF output of type SMetaAttributes containing metadata for the respective source.
    3. SOURCECONTENT - Returns a SOIF output of type SContentSummary containing data about the contents of the respective source.
    4. RESOURCEMETA - Returns a SOIF output of type Sresource containing metadata for the respective resource.
  3. A modified version of the freeWAIS waissearch utility with which the Java STARTS server communicates as a native method. The modifications to waissearch are of two types:
    1. Rather than acting as a stand-alone program, it is a function that takes an ASCII wais query and returns an array of strings, each of which is a "hit" for the query.
    2. Argument and return types are conversions of Java types as required for Java native methods.
    3. The data returned for a search "hit" has been modified to include the pathname of the respective document (this allows mapping from the "hit" to the actual document so that data such as author, title, etc. can be extracted by StartsServer for the STARTS query return.
  4. The unmodified freeWAIS-sf search engine that runs as a stand-alone server.
  5. Two sets of document sources.
  6. In summary, the control flow of the reference implementation is:

Send questions to help@ncstrl.org