# SoftBank Robotics documentation What's new in NAOqi 2.8?

# QiChat - Overview

NAOqi Interaction engines - Table of Content | Introduction | Syntax | Overview | Cheat Sheet

## Header keywords

Syntax | For further details, see ...
--- | ---
topic: ~name () | topic
language: enu | language
include: file.top | include
concept:(conceptName) [word1 word2 wordn] | concept
dynamic:conceptName | dynamic
def:functionName($param1, $param2..) qichat rule | def

## Rules

Syntax | For further details, see ...
--- | ---
u:( human_input ) robot_answer | User rule
proposal: robot_input | Proposal
u1:( human_input ) robot_answer u2:( human_input ) robot_answer u3:( human_input ) robot_answer | User subrule

## Delimiters

Syntax | For further details, see ...
--- | ---
“ phrase “ | Phrase delimiter: ” “
[ word1 word2 wordN ] | Choice: [ ]
{ optionalpart } | Optional part: { }

## Special characters

Syntax | For further details, see ...
--- | ---
# | Comments: #
* | Wildcard: *
! | Forbidden word: !
% | Tag: %
_ | Input storing: _
$ | Variable: $
~ | Concept call: ~

## Rule functions

To ... | See ...
--- | ---
Delete a variable | ^clear
Manage alternatives in rules outputs | ^first ^rand
Jump to rules in the same topic | ^sameProposal ^previousProposal ^nextProposal ^goto ^gotoRandom ^gotoReactivate ^topicTag
Let a rule scope open | ^stayInScope
Make a rule private | ^private
Allow free combination of words | ^repeat
Use instructions from ALAnimatedSpeech | ^start ^wait ^stop

## Topic functions

To ... | See ...
--- | ---
Prevent a topic from being loaded in embedded ASR | ^notInEmbeddedASR
Prevent a topic from getting the focus | ^noStay

## Custom functions

To ... | See ...
--- | ---
Use a previously defined function | ^defined_function

## Knowledge functions

To have a more insight on knowledge see the documentation about the ALKnowledge module. All the following functions are applied in the “com.aldebaran.learning” domain:

To ... | See ...
--- | ---
Add a triple | ^addKnowledge
Update a triple | ^updateKnowledge
Query a triple | ^queryKnowledge
Check the existence of a triple or a set of triples | ^containsKnowledge
Check the none-existence of a triple or a set of triples | ^notContainsKnowledge
Remove a triple or a set of triples | ^removeKnowledge
Get the id of a triple | ^getKnowledgeId
Add a metadata to a given triple | ^addMetadata
Query metadata from a given triple | ^queryMetadata
Update the metadata of a triple | ^updateMetadata
Check the existence of a metadata of a given triple | ^containsMetadata
Check the existence of a metadata of a given triple | ^notContainsMetadata
Remove a metadata or a set of metadatas from the given triple | ^removeMetadata
Add a triple with an expiring date | ^setExpiringKnowledge
Add an happening date to an existing or none-existing triple | ^setHappeningKnowledge

Glossary Site map Index Support Contact Legal Notices