JTP API Documentation

jtp.classifier
Class ClassifierTellingReasoner

java.lang.Object
  |
  +--java.beans.beancontext.BeanContextChildSupport
        |
        +--jtp.util.PropertyImporter
              |
              +--jtp.classifier.ClassifierTellingReasoner
All Implemented Interfaces:
BeanContextChild, BeanContextServiceRevokedListener, BeanContextServicesListener, EventListener, Reasoner, Serializable

public class ClassifierTellingReasoner
extends PropertyImporter
implements Reasoner

A telling reasoner that processes triples with the properties rdfs:subClassOf, daml:subClassOf, daml:sameClassAs, daml:intersectionOf, daml:unionOf, and daml:disjointUnionOf. It returns daml:subClassOf and daml:sameClassAs inferences made through cycle detection and structural classification.

This reasoner primarily serves as an interface to Kb.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class java.beans.beancontext.BeanContextChildSupport
beanContext, beanContextChildPeer, pcSupport, rejectedSetBCOnce, vcSupport
 
Constructor Summary
ClassifierTellingReasoner()
           
 
Method Summary
 boolean acceptable(Object o)
          decides if the goal is suitable for being processed by this reasoner.
 void addConjunctiveRelation(Symbol relation)
           
 void addDisjunctiveRelation(Symbol relation)
           
 void addEquivalenceRelation(Symbol relation)
           
 void addSubclassRelation(Symbol relation)
           
 Reasoner getAskingReasoner()
           
protected  Map getListItems(Object list)
          Queries and returns items of list.
 ReasoningStepIterator process(Object o)
          This method attempts to find proof for the goal.
 void setAskingReasoner(Reasoner r)
           
 void setListItemRelation(Symbol relation)
           
 void setPrimaryEquivalenceRelation(Symbol relation)
           
 void setPrimarySubclassRelation(Symbol relation)
           
 void setUndoManager(UndoManager undo)
           
 
Methods inherited from class jtp.util.PropertyImporter
getImportedProperties, initializeBeanContextResources, setImportedProperties
 
Methods inherited from class java.beans.beancontext.BeanContextChildSupport
addPropertyChangeListener, addVetoableChangeListener, firePropertyChange, fireVetoableChange, getBeanContext, getBeanContextChildPeer, isDelegated, releaseBeanContextResources, removePropertyChangeListener, removeVetoableChangeListener, serviceAvailable, serviceRevoked, setBeanContext, validatePendingSetBeanContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClassifierTellingReasoner

public ClassifierTellingReasoner()
Method Detail

setPrimarySubclassRelation

public void setPrimarySubclassRelation(Symbol relation)

addSubclassRelation

public void addSubclassRelation(Symbol relation)

setPrimaryEquivalenceRelation

public void setPrimaryEquivalenceRelation(Symbol relation)

addEquivalenceRelation

public void addEquivalenceRelation(Symbol relation)

addConjunctiveRelation

public void addConjunctiveRelation(Symbol relation)

addDisjunctiveRelation

public void addDisjunctiveRelation(Symbol relation)

setListItemRelation

public void setListItemRelation(Symbol relation)

getAskingReasoner

public Reasoner getAskingReasoner()

setAskingReasoner

public void setAskingReasoner(Reasoner r)

setUndoManager

public void setUndoManager(UndoManager undo)

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 o)
                              throws ReasoningException
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:
o - the goal: either a query or an assertion
Returns:
the iterator of reasoning steps - proofs for the query, or consequences of the assertion.
ReasoningException

getListItems

protected Map getListItems(Object list)
Queries and returns items of list.

Assumes that all of the items that are in the list have been asserted. The DAMLParser attempts to enforce this. If users are not exclusively using the DAMLParser, they have to be careful.


JTP API Documentation