Fix FalkorDB edge creation: Add missing UUID fields and change MATCH to MERGE

Co-authored-by: gkorland <753206+gkorland@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot] 2025-10-16 20:01:50 +00:00
parent 358cd0e25c
commit 928f1fcfa2
2 changed files with 7 additions and 5 deletions

View file

@ -286,6 +286,8 @@ class EntityEdge(Edge):
edge_data: dict[str, Any] = {
'source_uuid': self.source_node_uuid,
'target_uuid': self.target_node_uuid,
'source_node_uuid': self.source_node_uuid,
'target_node_uuid': self.target_node_uuid,
'uuid': self.uuid,
'name': self.name,
'group_id': self.group_id,

View file

@ -64,8 +64,8 @@ def get_entity_edge_save_query(provider: GraphProvider, has_aoss: bool = False)
match provider:
case GraphProvider.FALKORDB:
return """
MATCH (source:Entity {uuid: $edge_data.source_uuid})
MATCH (target:Entity {uuid: $edge_data.target_uuid})
MERGE (source:Entity {uuid: $edge_data.source_uuid})
MERGE (target:Entity {uuid: $edge_data.target_uuid})
MERGE (source)-[e:RELATES_TO {uuid: $edge_data.uuid}]->(target)
SET e = $edge_data
SET e.fact_embedding = vecf32($edge_data.fact_embedding)
@ -126,10 +126,10 @@ def get_entity_edge_save_bulk_query(provider: GraphProvider, has_aoss: bool = Fa
case GraphProvider.FALKORDB:
return """
UNWIND $entity_edges AS edge
MATCH (source:Entity {uuid: edge.source_node_uuid})
MATCH (target:Entity {uuid: edge.target_node_uuid})
MERGE (source:Entity {uuid: edge.source_node_uuid})
MERGE (target:Entity {uuid: edge.target_node_uuid})
MERGE (source)-[r:RELATES_TO {uuid: edge.uuid}]->(target)
SET r = {uuid: edge.uuid, name: edge.name, group_id: edge.group_id, fact: edge.fact, episodes: edge.episodes,
SET r = {uuid: edge.uuid, source_node_uuid: edge.source_node_uuid, target_node_uuid: edge.target_node_uuid, name: edge.name, group_id: edge.group_id, fact: edge.fact, episodes: edge.episodes,
created_at: edge.created_at, expired_at: edge.expired_at, valid_at: edge.valid_at, invalid_at: edge.invalid_at, fact_embedding: vecf32(edge.fact_embedding)}
WITH r, edge
RETURN edge.uuid AS uuid