JTP API Documentation

jtp.frame
Class SlotValueTellingReasoner

java.lang.Object
  |
  +--jtp.frame.SlotValueTellingReasoner
All Implemented Interfaces:
Reasoner

public class SlotValueTellingReasoner
extends Object
implements Reasoner

SlotValueTellingReasoner.java Created: Sun Dec 3 02:42:44 2000


Field Summary
protected static boolean VERBOSE
           
 
Constructor Summary
SlotValueTellingReasoner()
           
SlotValueTellingReasoner(FrameKB fkb)
           
 
Method Summary
 boolean acceptable(Object o)
          decides if the goal is suitable for being processed by this reasoner.
protected static String debugPrint(Object o)
           
 FrameKB getFrameKb()
           
 ReasoningStepIterator process(Object goal)
          This method attempts to find proof for the goal.
 void setFrameKb(FrameKB fkb)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VERBOSE

protected static final boolean VERBOSE
Constructor Detail

SlotValueTellingReasoner

public SlotValueTellingReasoner(FrameKB fkb)

SlotValueTellingReasoner

public SlotValueTellingReasoner()
Method Detail

getFrameKb

public FrameKB getFrameKb()

setFrameKb

public void setFrameKb(FrameKB fkb)

acceptable

public boolean acceptable(Object o)
Description copied from interface: Reasoner
decides if the goal is suitable for being processed by this reasoner. This method should be fast; if there are doubts as to whether a goal is acceptable, and it looks like determining it might take some time, the method should return true and let the process method figure it out.

Example. Many reasoners only process literals with certain predicates and arity. These reasoners will use those criteria to determine acceptability, for example a reasoner dealing with equality could accept goals that are:

  1. Literals,
  2. have = as their relation predicate,
  3. have exactly two arguments.

Specified by:
acceptable in interface Reasoner
Returns:
true if the goal is suitable for this reasoner, false otherwise.

process

public ReasoningStepIterator process(Object goal)
Description copied from interface: Reasoner
This method attempts to find proof for the goal. It returns an enumeration of reasoning steps that correspond to alternative proofs for the goal. Consequently, the items of the enumeration can actually belong to different models of the goal sentence, and have incompatible variable assignments.

Example. A reasoner that performs unification of the goal with facts in a knowledge base can return the following enumeration for the goal (parent joe ?x):

  1. A reasoning step proving (parent joe fred) with variable assignment ?x=fred,
  2. A reasoning step proving (parent joe mary) with variable assignment ?x=mary.

Specified by:
process in interface Reasoner
Parameters:
goal - the goal: either a query or an assertion
Returns:
the iterator of reasoning steps - proofs for the query, or consequences of the assertion.

debugPrint

protected static String debugPrint(Object o)

JTP API Documentation