@@ -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