Fix: Clean Residual Edges from VDB During Entity Deletion#2290
Merged
danielaskdd merged 1 commit intoHKUDS:mainfrom Oct 30, 2025
Merged
Fix: Clean Residual Edges from VDB During Entity Deletion#2290danielaskdd merged 1 commit intoHKUDS:mainfrom
danielaskdd merged 1 commit intoHKUDS:mainfrom
Conversation
…hips - Track edges to delete in set - Clean VDB before node deletion - Remove from relation chunks storage - Prevent orphaned relationship data
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix: Clean Residual Edges from VDB During Entity Deletion
🐛 Problem
When deleting entities from the knowledge graph, the system was only removing nodes from the graph structure but not cleaning up associated edge data from, causing data inconsistencies between Graph DB and VDB.
relationships_vdb)relation_chunks)This resulted in orphaned edge is cause by manully editing entity name.
✅ Solution
This PR adds comprehensive edge cleanup logic before node deletion:
Edge Tracking: Collect all edges connected to entities being deleted into a deduplicated set with normalized representation (sorted tuples for consistency)
VDB Cleanup: Delete edge vectors from
relationships_vdbusing computed relationship IDs for both directions (src→tgt and tgt→src)Storage Cleanup: Remove relation chunk tracking data using
make_relation_chunk_keyImproved Logging:
{src} <-- {tgt}instead of{tgt} --> {src})📝 Changes
lightrag/lightrag.py🧪 Testing
Tested with entity deletion scenarios to verify: