Merge Graph Into Store
MergeGraphIntoStore incrementally merges a new graph extraction batch into an existing Heta-style graph store.
It is the dynamic knowledge-base update path. It is normally an alternative to BuildGraph, not something to run immediately after BuildGraph for the same batch.
Contract
MergeGraphIntoStore uses:
Default input artifacts:
Entity Merge Flow
load new entities
-> embed new entity text
-> search existing graph entity vectors
-> load candidate SQL rows and evidence
-> ask LLM for merge mapping
-> delete merged old records
-> insert merged entity records
-> upsert merged entity vectors
-> write merged evidence
If no candidate passes the similarity threshold, the new entity is inserted directly.
Relation Merge Flow
Relations are merged after entities because relation endpoints may change during entity merge.
apply entity mapping
-> embed new relation text
-> search existing graph relation vectors
-> load candidate SQL rows and evidence
-> ask LLM for merge mapping
-> delete merged old records
-> insert merged relation records
-> upsert merged relation vectors
-> write merged evidence
HetaDB Alignment
The step follows the HetaDB incremental graph idea:
- batch-level deduplication happens first
- vector search recalls historical candidates
- LLM mapping decides merge or no-merge
- empty mapping means no merge
- merged old records are deleted
- merged new records are inserted
- SQL rows, vector rows, and evidence are kept in sync
- entities are processed before relations
The framework implementation keeps storage names externally configured. It does not introduce a dataset concept into the step.
Output
merge_graph_into_store_result records counts for inserted, merged, deleted, and evidence rows, plus any recoverable StepIssue records.
After success, the same graph assets are available to: