Neo4j Memory Architecture

Architecture of the Neo4j database in remote. Current version: 1.1.1.

../_images/dbvisual.png

Visualization of a DB scheme.

Versioning of KR is performed by implementing architecture proposals and evaluating them, upon evaluation the version is fixed and then new proposals are collected. Adding nodes means major ver. X, adding relationships is minor ver. Y, adding properties is patch ver. Z: ver. X.Y.Z.

Node Classes (Labels)

  • Person
  • Robot
  • Organization
    1. Company
    2. University
  • Location
    1. City
    2. Country
    3. Continent
  • Hobby
  • Type
    1. Occupation
  • Object (which Roboy can detect/interact with)

Edge Classes

(Person, Robot : Person, Robot)

  • FRIEND_OF

(Person, Robot : Location)

  • LIVE_IN
  • FROM

(Person : Organization)

  • WORK_FOR
  • STUDY_AT
  • MEMBER_OF

(Person, Robot : Hobby)

  • HAS_HOBBY

(Person, Robot : Object)

  • KNOW

(Object, Robot, Person, Organization : Type)

  • IS

(Organization, Robot : Organization)

  • PART_OF

(Organization, Location : Location)

  • IS_IN

Property Keys

General

Describes non-specific prameters for any node

  • name [string]
  • id [int]

Person

Describes prameters specific to a person

  • surname [string]
  • birthdate [String]
  • sex [string]
  • face_id (facial features) [int]: reference to a face representation.
  • voice_id (voice signature) [int]: reference to a voice signature.
  • conversation_id (Topic (scope) of the last conversation) [int]: reference to a topic marker for the last conversation. It would refer to a word or summary def by Dialog to recall the previous conversation with a person.

Roboy

Describes prameters specific to Roboy

  • birthdate [string]
  • abilities [list of strings]
  • skills [list of strings]

Object

Describes prameters specific to objects

  • color [string]
  • speed [int]
  • price [int]
  • temperature [int]
  • usage [list of strings]