.. _long_term_memory: Long Term Memory ===================== The Long Term Memory (LTM) allows to store and query information gathered in the apartment. It is designed to store low level sensor data as well as high level derived knowledge from various components. Underlying storage is realised by using a hybrid setup of different NoSQL databases with individual features. The goal is to easily expose these features to developers and users in order to facilitate data storage and retrieval. Related resources ----------------- Component repository: - Browse component repository: `ltm-core `_. - ``git clone https://projects.cit-ec.uni-bielefeld.de/git/ltm.ltm-core/`` System startup: - The long term memory components can be found in ``lsp-csra-base.sh`` on the ``situation`` tab. - The component script is called ``component_ltm-core`` Related projects: - Browse the `Long Term Memory project `_. Current Database Setup --------------------------------------- Currently the databases used in LTM are Neo4j (a graph database) and MongoDB (a schemaless document store). .. figure:: /images/software/ltm_database_setup.png :scale: 75 % :alt: NoSQL database setup Interfaces ----------------- The current version does not support stable querying and therefore no interfaces are provided as of now. .. COMMENT - TODO: UPDATE =========================================== ======================================== Scope (Listener) Type =========================================== ======================================== ``/scope/scope`` =========================================== ======================================== =========================================== ======================================== Scope (Informer) Type =========================================== ======================================== ``/scope/scope`` =========================================== ======================================== =========================================== ===================== ================== Scope (Local Server) + Method Argument Type Return Type =========================================== ===================== ================== ``/scope/scope/method()`` =========================================== ===================== ================== =========================================== ===================== ================== Scope (Remote Server) + Method Argument Type Return Type =========================================== ===================== ================== ``/scope/scope/method()`` =========================================== ===================== ================== Examples -------------- Example 1: Query information from the LTM via RSB ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. todo:: TODO .. code-block:: java :emphasize-lines: 3,4 TODO(){ // create example } Example 2: Query information from the LTM directly ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. todo:: TODO