diff --git a/codebase_rag/constants.py b/codebase_rag/constants.py index 4ef971d8a..c54d0267d 100644 --- a/codebase_rag/constants.py +++ b/codebase_rag/constants.py @@ -420,10 +420,11 @@ class RelationshipType(StrEnum): CYPHER_QUERY_EMBEDDINGS = """ MATCH (m:Module)-[:DEFINES]->(n) WHERE (n:Function OR n:Method) - AND m.qualified_name STARTS WITH $project_name + '.' + AND (m.qualified_name = $project_name + OR m.qualified_name STARTS WITH ($project_name + '.')) RETURN id(n) AS node_id, n.qualified_name AS qualified_name, - n.start_line AS start_line, n.end_line AS end_line, - m.path AS path + n.start_line AS start_line, n.end_line AS end_line, + m.path AS path """ diff --git a/codebase_rag/graph_updater.py b/codebase_rag/graph_updater.py index 2620d2bcb..50141f10a 100644 --- a/codebase_rag/graph_updater.py +++ b/codebase_rag/graph_updater.py @@ -368,8 +368,9 @@ def _generate_semantic_embeddings(self) -> None: logger.info(ls.PASS_4_EMBEDDINGS) + project_name = str(self.project_name).rstrip(".") results = self.ingestor.fetch_all( - cs.CYPHER_QUERY_EMBEDDINGS, {"project_name": self.project_name + "."} + cs.CYPHER_QUERY_EMBEDDINGS, {"project_name": project_name} ) if not results: