HawkinsDB supports different memory types via the add_entity method.
- Semantic Memory: Stores conceptual knowledge and facts. Use
"column": "Semantic" in your entity dictionary. - Episodic Memory: Stores event-based memories with temporal information. Use
"column": "Episodic" and include a timestamp in the properties field.
Entities are defined using a dictionary containing name, column, properties, and relationships.
# Add semantic memory
semantic_memory = {
"name": "cat",
"column": "Semantic",
"properties": {
"type": "animal",
"size": "medium",
"characteristics": ["furry", "agile", "carnivorous"]
},
"relationships": {
"habitat": ["homes", "outdoors"],
"behavior": ["hunting", "sleeping", "grooming"]
}
}
result = db.add_entity(semantic_memory)
# Add episodic memory
import time
episodic_memory = {
"name": "cat_observation",
"column": "Episodic",
"properties": {
"timestamp": time.time(),
"action": "Observed cat behavior",
"location": "Garden",
"details": "Cat was chasing a butterfly"
},
"relationships": {
"relates_to": ["cat"],
"observed_by": ["human"]
}
}
result = db.add_entity(episodic_memory)