fixed edge

This commit is contained in:
Yannick Stephan
2025-02-17 23:20:10 +01:00
parent efb28c8003
commit 80272cbf16
6 changed files with 15 additions and 15 deletions

View File

@@ -117,6 +117,7 @@ class MongoKVStorage(BaseKVStorage):
# Mongo handles persistence automatically
pass
@final
@dataclass
class MongoDocStatusStorage(DocStatusStorage):

View File

@@ -320,6 +320,7 @@ class OracleKVStorage(BaseKVStorage):
# Oracle handles persistence automatically
pass
@final
@dataclass
class OracleVectorDBStorage(BaseVectorStorage):

View File

@@ -301,6 +301,7 @@ class PGKVStorage(BaseKVStorage):
# PG handles persistence automatically
pass
@final
@dataclass
class PGVectorStorage(BaseVectorStorage):

View File

@@ -214,6 +214,7 @@ class TiDBKVStorage(BaseKVStorage):
# Ti handles persistence automatically
pass
@final
@dataclass
class TiDBVectorDBStorage(BaseVectorStorage):

View File

@@ -228,27 +228,23 @@ 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
if "source_id" in already_edge and already_edge["source_id"] is not None: