Allowing parallel edges in graph projection when using graph completion search (#599)
<!-- .github/pull_request_template.md --> ## 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## 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. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
parent
e3f3d49a3b
commit
5eef212668
2 changed files with 9 additions and 13 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue