Interface ConsultantInterface

All Known Subinterfaces:
VisionConsultantInterface
All Known Implementing Classes:
ABBAreaConsultant, ABBLocationConsultant, AITVisionConsultant, CognexConsultant, CognexConsultant, Consultant, ContextConsultant, DialogueConsultant, ItemConsultant, MockVisionConsultant, MPoseConsultant, PoseConsultant, RealVisionConsultant, RWSPoseConsultant, SpotNavGraphLocationConsultant, TemiV3PoseConsultant, VisionConsultant

public interface ConsultantInterface
ConsultantInterface is the base set of methods for reference resolution (i.e., POWER) in DIARC.
  • Method Details

    • getKBName

      String getKBName()
      Returns name of things handles by this consultant (e.g., "objects", "locations", etc).
      Returns:
      knowledge base name
    • getPropertiesHandled

      List<Term> getPropertiesHandled()
      Returns a list of Properties handled by this component.
      Returns:
      list of Properties.
    • getInitialDomain

      List<Symbol> getInitialDomain(List<Term> query)
      Returns a list of currently known refIds (it takes a seq of Properties, to optionally do some pre-processing to return a list of relevant candidates).
      Parameters:
      query -
      Returns:
      list of currently known ids
    • process

      Double process(Term constraint, Map<Variable,Symbol> bindings)
      Returns the probability that a property (aka constraint) holds for an entity (specified by a map of free-variable to refId bindings).

      TODO: rename method to something more descriptive. how about getProbability or checkProperty?

      Parameters:
      constraint - Property to check
      bindings - Map of free variables to refIds
      Returns:
      probability value [0.0. 1.0]
    • createReferences

      Map<Variable,Symbol> createReferences(List<Variable> vars)
      new representations are created for each free-variable and returned in the binding list.
      Parameters:
      vars - list of free-variables
      Returns:
      list of bindings
    • assertProperties

      boolean assertProperties(Map<Variable,Symbol> bindings, Double prob, List<Term> properties)
      an attempt is made to bring the knowledge base in line with the provided bindings, list of properties, and probability value.
      Parameters:
      bindings - list of bindings in tuple form (free-variable and refId pair)
      prob - probability value
      properties - list of Properties
      Returns:
      whether the updated was successful?
    • getActivatedEntities

      Map<Symbol,Double> getActivatedEntities()
      Get a list of currently highly salient entities that should be considered "activated."
      Returns:
      list of refIds and probability pairs
    • getAssertedProperties

      List<Term> getAssertedProperties(Symbol refId)
      Get the list of properties that have been asserted for a given refId.
      Parameters:
      refId - reference resolution id
      Returns:
      list of Properties
    • assertProperties

      boolean assertProperties(Symbol refId, List<Term> properties)
      Add properties to already existing object ref. Each property should contain a connection to the existing ref either by refId or refId's variable.
      Parameters:
      refId -
      properties -
      Returns:
    • convertToType

      <U> U convertToType(Symbol refId, Class<U> type)
      Convert refId to target class. This is a way to map references onto Java-types. If it's not possible for a refId to be converted to the specified type, null is returned.
      Type Parameters:
      U -
      Parameters:
      refId - - reference resolution ID (e.g.object_3)
      type - - target Java class type
      Returns:
    • convertToType

      <U> U convertToType(Symbol refId, Class<U> type, List<? extends Term> constraints)
      Convert refId to target class using the specified constraints for to filter the results. This is a way to map references onto Java-types. If it's not possible for a refId to be converted to the specified type, null is returned.
      Type Parameters:
      U -
      Parameters:
      refId -
      type -
      constraints -
      Returns:
    • registerForNewPropertyNotification

      void registerForNewPropertyNotification(ai.thinkingrobots.trade.TRADEServiceInfo callback)
    • unregisterForNewPropertyNotification

      void unregisterForNewPropertyNotification(ai.thinkingrobots.trade.TRADEServiceInfo callback)
    • notifyNewPropertySubscribers

      void notifyNewPropertySubscribers()