ALKnowledge API

NAOqi Core - Overview | API | Tutorial


Methods

void ALKnowledge:: add ( const std::string& domain , const std::string& subject , const std::string& predicate , const std::string& object )

Adds a triplet to the ontology.

The ontology is persistent so any added triplet will stay in the ontology until it is removed by ALKnowledge::remove , ALKnowledge::resetKnowledge or ALKnowledge::update .

Parameters:
  • domain – Domain of the predicate.
  • subject – Subject of the triplet.
  • predicate – Predicate of the triplet.
  • object – Object of the triplet.
std::vector<std::string> ALKnowledge:: getSubject ( const std::string& domain , const std::string& predicate , const std::string& object )

Gets the vector of all subjects given the predicate and the object.

Parameters:
  • domain – Domain of the predicate.
  • predicate – Predicate of a triplet.
  • object – Object of a triplet.
Returns:

vector of all subjects for which the triplet subject-predicate-object exists in the ontology.

std::vector<std::string> ALKnowledge:: getPredicate ( const std::string& domain , const std::string& subject , const std::string& object )

Gets the vector of all predicates given the subject and the object.

Parameters:
  • domain – Domain of the predicate.
  • subject – Subject of a triplet.
  • object – Object of a triplet.
Returns:

vector of all predicates (of the given domain) for which the triplet subject-predicate-object exists in the ontology.

std::vector<std::string> ALKnowledge:: getObject ( const std::string& domain , const std::string& subject , const std::string& predicate )

Gets the vector of all objects given the subject and the predicate.

Parameters:
  • domain – Domain of the predicate.
  • subject – Subject of a triplet.
  • predicate – Predicate of a triplet.
Returns:

vector of all objects (of the given domain) for which the triplet subject-predicate-object exists in the ontology.

void ALKnowledge:: update ( const std::string& domain , const std::string& subject , const std::string& predicate , const std::string& object )

Removes all triplets where the subject is subject and the predicate is predicate and add the triplet subject-predicate-object.

Parameters:
  • domain – Domain of the predicate.
  • subject – Subject of the triplet.
  • predicate – Predicate of the triplet.
  • object – Object of the new triplet
void ALKnowledge:: remove ( const std::string& domain , const std::string& subject , const std::string& predicate , const std::string& object )

Removes the triplet given the subject, predicate and object.

Parameters:
  • domain – Domain of the predicate.
  • subject – Subject of the triplet.
  • predicate – Predicate of the triplet.
  • object – Object of the triplet.
bool ALKnowledge:: contains ( const std::string& domain , const std::string& subject , const std::string& predicate , const std::string& object )

Checks if the ontology contains the given triplet.

Parameters:
  • domain – Domain of the predicate
  • subject – Subject of the triplet.
  • predicate – Predicate of the triplet.
  • object – Object of the triplet.
std::vector<std::string> ALKnowledge:: query ( const std::string& domain , const std::string& subject , const std::string& predicate , const std::string& object )

Returns the list of values satisfying the query given in parameters.

The parameters must contain 2 existing values and a question mark ”?” for the value you are looking for.

Parameters:
  • domain – Domain of the predicate.
  • subject – Subject of the triplet.
  • predicate – Predicate of the triplet.
  • object – Object of the new triplet.
Returns:

A vector of values.


              
                   print result #Should print True

    #Remove

              
             
void ALKnowledge:: resetKnowledge ( const std::string& domain )

Removes all the triplets where the predicate is in the domain “domain”.

Parameters:
  • domain – Domain of the predicate.