Chapter 4: Ingres domain function / mediator example.

NOTE: For all defined domains there exists a data communications and conversion layer, written currently in Ansi C by the domain integrator, which spans the gap between Hermes search engine(s) and the target data application. Programmers who integrate new domains into Hermes must become well versed in the data representation of both Hermes and the target 3rd party application / data source; This is perhaps best accomplished by examining one or more of the provided domain implementations.
NOTE: All of the variables are standardized apart to unique numbered names such as S1 within the compiler stack when the rules and query are parsed, and when the predicates are resolved, but the English variable names are shown here for clarity.
Note that all solution files (Fig. 4-9) contain a type declaration to reveal the underlying Hermes data structure.
NOTE: Had there been no suppliers of "part3" listed, the domain function would have returned an empty set, the in function, and thus the query, would have failed, returning no for an answer.