From 5eef212668c9f8c45be876f0b1391ce7eb4a1b43 Mon Sep 17 00:00:00 2001 From: hajdul88 <52442977+hajdul88@users.noreply.github.com> Date: Tue, 4 Mar 2025 12:37:26 +0100 Subject: [PATCH] Allowing parallel edges in graph projection when using graph completion search (#599) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Description Allows parallell edges in graph projection when using graph completion search ## DCO Affirmation I affirm that all code in every commit of this pull request conforms to the terms of the Topoteretes Developer Certificate of Origin ## Summary by CodeRabbit - **Refactor** - Streamlined the process for updating connections within the application’s graph. The update now ensures that every connection is consistently recorded and propagated without performing duplicate checks. --- cognee/modules/graph/cognee_graph/CogneeGraph.py | 9 +++------ .../graph/cognee_graph/CogneeGraphElements.py | 13 ++++++------- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/cognee/modules/graph/cognee_graph/CogneeGraph.py b/cognee/modules/graph/cognee_graph/CogneeGraph.py index 30116002b..bda4666ff 100644 --- a/cognee/modules/graph/cognee_graph/CogneeGraph.py +++ b/cognee/modules/graph/cognee_graph/CogneeGraph.py @@ -35,12 +35,9 @@ class CogneeGraph(CogneeAbstractGraph): raise EntityAlreadyExistsError(message=f"Node with id {node.id} already exists.") def add_edge(self, edge: Edge) -> None: - if edge not in self.edges: - self.edges.append(edge) - edge.node1.add_skeleton_edge(edge) - edge.node2.add_skeleton_edge(edge) - else: - logger.debug(f"Edge {edge} already exists in the graph.") + self.edges.append(edge) + edge.node1.add_skeleton_edge(edge) + edge.node2.add_skeleton_edge(edge) def get_node(self, node_id: str) -> Node: return self.nodes.get(node_id, None) diff --git a/cognee/modules/graph/cognee_graph/CogneeGraphElements.py b/cognee/modules/graph/cognee_graph/CogneeGraphElements.py index 33f02dc22..063248ee2 100644 --- a/cognee/modules/graph/cognee_graph/CogneeGraphElements.py +++ b/cognee/modules/graph/cognee_graph/CogneeGraphElements.py @@ -41,13 +41,12 @@ class Node: self.skeleton_neighbours.remove(neighbor) def add_skeleton_edge(self, edge: "Edge") -> None: - if edge not in self.skeleton_edges: - self.skeleton_edges.append(edge) - # Add neighbor - if edge.node1 == self: - self.add_skeleton_neighbor(edge.node2) - elif edge.node2 == self: - self.add_skeleton_neighbor(edge.node1) + self.skeleton_edges.append(edge) + # Add neighbor + if edge.node1 == self: + self.add_skeleton_neighbor(edge.node2) + elif edge.node2 == self: + self.add_skeleton_neighbor(edge.node1) def remove_skeleton_edge(self, edge: "Edge") -> None: if edge in self.skeleton_edges: