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
orALKnowledge::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.