From ff65cba544e5800452b01114472fb146a36ee7e2 Mon Sep 17 00:00:00 2001 From: yangdx Date: Mon, 21 Apr 2025 18:32:33 +0800 Subject: [PATCH] Add null check for edge data --- lightrag/operate.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lightrag/operate.py b/lightrag/operate.py index 73d559e6..7bbbcc7c 100644 --- a/lightrag/operate.py +++ b/lightrag/operate.py @@ -400,6 +400,16 @@ async def _merge_edges_then_upsert( for need_insert_id in [src_id, tgt_id]: if not (await knowledge_graph_inst.has_node(need_insert_id)): + # # Discard this edge if the node does not exist + # if need_insert_id == src_id: + # logger.warning( + # f"Discard edge: {src_id} - {tgt_id} | Source node missing" + # ) + # else: + # logger.warning( + # f"Discard edge: {src_id} - {tgt_id} | Target node missing" + # ) + # return None await knowledge_graph_inst.upsert_node( need_insert_id, node_data={ @@ -738,7 +748,8 @@ async def extract_entities( pipeline_status_lock, llm_response_cache, ) - relationships_data.append(edge_data) + if edge_data is not None: + relationships_data.append(edge_data) # Update vector databases with all collected data if entity_vdb is not None and entities_data: