diff --git a/src/memos/graph_dbs/neo4j.py b/src/memos/graph_dbs/neo4j.py index 1489ff54..7d51f389 100644 --- a/src/memos/graph_dbs/neo4j.py +++ b/src/memos/graph_dbs/neo4j.py @@ -114,14 +114,14 @@ def get_memory_count(self, memory_type: str) -> int: ) return result.single()["count"] - def count_nodes(self, scope: str) -> int: + def node_not_exist(self, scope: str) -> int: query = """ MATCH (n:Memory) WHERE n.memory_type = $scope """ if not self.config.use_multi_db and self.config.user_name: query += "\nAND n.user_name = $user_name" - query += "\nRETURN count(n) AS count" + query += "\nRETURN n LIMIT 1" with self.driver.session(database=self.db_name) as session: result = session.run( @@ -131,7 +131,7 @@ def count_nodes(self, scope: str) -> int: "user_name": self.config.user_name if self.config.user_name else None, }, ) - return result.single()["count"] + return result.single() is None def remove_oldest_memory(self, memory_type: str, keep_latest: int) -> None: """ diff --git a/src/memos/memories/textual/tree_text_memory/organize/reorganizer.py b/src/memos/memories/textual/tree_text_memory/organize/reorganizer.py index 43b0217b..dfaa5756 100644 --- a/src/memos/memories/textual/tree_text_memory/organize/reorganizer.py +++ b/src/memos/memories/textual/tree_text_memory/organize/reorganizer.py @@ -198,7 +198,7 @@ def optimize_structure( logger.info(f"Already optimizing for {scope}. Skipping.") return - if self.graph_store.count_nodes(scope) == 0: + if self.graph_store.node_not_exist(scope): logger.debug(f"[GraphStructureReorganize] No nodes for scope={scope}. Skip.") return