Skip to content

Commit ea141e2

Browse files
committed
Fix: Remove redundant entity/relation chunk deletions
1 parent 5bcd292 commit ea141e2

File tree

1 file changed

+17
-24
lines changed

1 file changed

+17
-24
lines changed

lightrag/lightrag.py

Lines changed: 17 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -3235,38 +3235,31 @@ async def adelete_by_doc_id(
32353235

32363236
if entity_chunk_updates and self.entity_chunks:
32373237
entity_upsert_payload = {}
3238-
entity_delete_ids: set[str] = set()
32393238
for entity_name, remaining in entity_chunk_updates.items():
32403239
if not remaining:
3241-
entity_delete_ids.add(entity_name)
3242-
else:
3243-
entity_upsert_payload[entity_name] = {
3244-
"chunk_ids": remaining,
3245-
"count": len(remaining),
3246-
"updated_at": current_time,
3247-
}
3248-
3249-
if entity_delete_ids:
3250-
await self.entity_chunks.delete(list(entity_delete_ids))
3240+
# Empty entities are deleted alongside graph nodes later
3241+
continue
3242+
entity_upsert_payload[entity_name] = {
3243+
"chunk_ids": remaining,
3244+
"count": len(remaining),
3245+
"updated_at": current_time,
3246+
}
32513247
if entity_upsert_payload:
32523248
await self.entity_chunks.upsert(entity_upsert_payload)
32533249

32543250
if relation_chunk_updates and self.relation_chunks:
32553251
relation_upsert_payload = {}
3256-
relation_delete_ids: set[str] = set()
32573252
for edge_tuple, remaining in relation_chunk_updates.items():
3258-
storage_key = make_relation_chunk_key(*edge_tuple)
32593253
if not remaining:
3260-
relation_delete_ids.add(storage_key)
3261-
else:
3262-
relation_upsert_payload[storage_key] = {
3263-
"chunk_ids": remaining,
3264-
"count": len(remaining),
3265-
"updated_at": current_time,
3266-
}
3254+
# Empty relations are deleted alongside graph edges later
3255+
continue
3256+
storage_key = make_relation_chunk_key(*edge_tuple)
3257+
relation_upsert_payload[storage_key] = {
3258+
"chunk_ids": remaining,
3259+
"count": len(remaining),
3260+
"updated_at": current_time,
3261+
}
32673262

3268-
if relation_delete_ids:
3269-
await self.relation_chunks.delete(list(relation_delete_ids))
32703263
if relation_upsert_payload:
32713264
await self.relation_chunks.upsert(relation_upsert_payload)
32723265

@@ -3296,7 +3289,7 @@ async def adelete_by_doc_id(
32963289
# 6. Delete relationships that have no remaining sources
32973290
if relationships_to_delete:
32983291
try:
3299-
# Delete from vector database
3292+
# Delete from relation vdb
33003293
rel_ids_to_delete = []
33013294
for src, tgt in relationships_to_delete:
33023295
rel_ids_to_delete.extend(
@@ -3401,7 +3394,7 @@ async def adelete_by_doc_id(
34013394
list(entities_to_delete)
34023395
)
34033396

3404-
# Delete from vector database
3397+
# Delete from vector vdb
34053398
entity_vdb_ids = [
34063399
compute_mdhash_id(entity, prefix="ent-")
34073400
for entity in entities_to_delete

0 commit comments

Comments
 (0)