Neo4j Memory Architecture¶
Architecture of the Neo4j database in remote. Current version: 1.1.0.
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
- Company
- University
- Location
- City
- Country
- Continent
- Hobby
- Type
- 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.
- telegram_id [string]: ID for identifying users on Telegram. Set to
local
for non-telegram users.
> Note: Telegram_id is currently under development by the BotBoy Team and will likely be renamed in the forseeable future.
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]