The parse tree is passed to the semantic interpreter. The semantic interpreter contains a set of semantic rules and a semantic lexicon. Each entry in the lexicon is a frame containing a description of the database entity referred to by a particular word or expression. Information from the frames is attached to the parse tree and then the semantic rules are applied to build canonical semantic representations. Pathfinder uses the semantic information inherent in the database design to assist in the disambiguation of the expression.
English expressions correspond to substructures of the conceptual model.
If an expression is ambiguous in some way, there will be multiple candidate substructures in the model. Pathfinder selects the correct one by analyzing the constraints inherent in the various relationship types used to structure the model, measuring for each candidate substructure the degree of semantic relatedness among the entities to which the expression refers, and selecting the candidate which exhibits the highest degree of semantic relatedness. Often, however, Pathfinder cannot select a single best candidate structure and a user must be the final arbiter. In SystemX, this is done by generating English sentences that correspond to each candidate structure. The sentences currently generated are somewhat rough and halting.