fixed edge
This commit is contained in:
@@ -67,4 +67,4 @@ class JsonDocStatusStorage(DocStatusStorage):
|
||||
async def delete(self, doc_ids: list[str]):
|
||||
for doc_id in doc_ids:
|
||||
self._data.pop(doc_id, None)
|
||||
await self.index_done_callback()
|
||||
await self.index_done_callback()
|
||||
|
@@ -117,6 +117,7 @@ class MongoKVStorage(BaseKVStorage):
|
||||
# Mongo handles persistence automatically
|
||||
pass
|
||||
|
||||
|
||||
@final
|
||||
@dataclass
|
||||
class MongoDocStatusStorage(DocStatusStorage):
|
||||
|
@@ -320,6 +320,7 @@ class OracleKVStorage(BaseKVStorage):
|
||||
# Oracle handles persistence automatically
|
||||
pass
|
||||
|
||||
|
||||
@final
|
||||
@dataclass
|
||||
class OracleVectorDBStorage(BaseVectorStorage):
|
||||
|
@@ -300,7 +300,8 @@ class PGKVStorage(BaseKVStorage):
|
||||
async def index_done_callback(self) -> None:
|
||||
# PG handles persistence automatically
|
||||
pass
|
||||
|
||||
|
||||
|
||||
@final
|
||||
@dataclass
|
||||
class PGVectorStorage(BaseVectorStorage):
|
||||
|
@@ -214,6 +214,7 @@ class TiDBKVStorage(BaseKVStorage):
|
||||
# Ti handles persistence automatically
|
||||
pass
|
||||
|
||||
|
||||
@final
|
||||
@dataclass
|
||||
class TiDBVectorDBStorage(BaseVectorStorage):
|
||||
|
@@ -228,29 +228,25 @@ async def _merge_nodes_then_upsert(
|
||||
async def _merge_edges_then_upsert(
|
||||
src_id: str,
|
||||
tgt_id: str,
|
||||
edges_data: list[dict],
|
||||
edges_data: list[dict[str, Any]],
|
||||
knowledge_graph_inst: BaseGraphStorage,
|
||||
global_config: dict,
|
||||
global_config: dict[str, str],
|
||||
):
|
||||
already_weights = []
|
||||
already_source_ids = []
|
||||
already_description = []
|
||||
already_keywords = []
|
||||
already_weights: list[float] = []
|
||||
already_source_ids: list[str] = []
|
||||
already_description: list[str] = []
|
||||
already_keywords: list[str] = []
|
||||
|
||||
if await knowledge_graph_inst.has_edge(src_id, tgt_id):
|
||||
already_edge = await knowledge_graph_inst.get_edge(src_id, tgt_id)
|
||||
# Handle the case where get_edge returns None or missing fields
|
||||
if not already_edge:
|
||||
return
|
||||
# Handle the case where get_edge returns None or missing fields
|
||||
|
||||
# Get weight with default 0.0 if missing
|
||||
if "weight" in already_edge:
|
||||
already_weights.append(already_edge["weight"])
|
||||
else:
|
||||
logger.warning(f"Edge between {src_id} and {tgt_id} missing weight field")
|
||||
already_weights.append(0.0)
|
||||
already_weights.append(already_edge.get("weight", 0.0))
|
||||
|
||||
# Get source_id with empty string default if missing or None
|
||||
# Get source_id with empty string default if missing or None
|
||||
if "source_id" in already_edge and already_edge["source_id"] is not None:
|
||||
already_source_ids.extend(
|
||||
split_string_by_multi_markers(
|
||||
|
Reference in New Issue
Block a user