Fix neo4j outdated get_edge() return data format.
This commit is contained in:
@@ -278,14 +278,16 @@ class Neo4JStorage(BaseGraphStorage):
|
||||
|
||||
result = await session.run(query)
|
||||
record = await result.single()
|
||||
if record and "edge_properties" in record:
|
||||
if record:
|
||||
try:
|
||||
result = dict(record["edge_properties"])
|
||||
logger.info(f"Result: {result}")
|
||||
# Ensure required keys exist with defaults
|
||||
required_keys = {
|
||||
"weight": 0.0,
|
||||
"source_id": None,
|
||||
"target_id": None,
|
||||
"description": None,
|
||||
"keywords": None,
|
||||
}
|
||||
for key, default_value in required_keys.items():
|
||||
if key not in result:
|
||||
@@ -305,20 +307,20 @@ class Neo4JStorage(BaseGraphStorage):
|
||||
f"and {entity_name_label_target}: {str(e)}"
|
||||
)
|
||||
# Return default edge properties on error
|
||||
return {"weight": 0.0, "source_id": None, "target_id": None}
|
||||
return {"weight": 0.0, "description": None, "keywords": None, "source_id": None}
|
||||
|
||||
logger.debug(
|
||||
f"{inspect.currentframe().f_code.co_name}: No edge found between {entity_name_label_source} and {entity_name_label_target}"
|
||||
)
|
||||
# Return default edge properties when no edge found
|
||||
return {"weight": 0.0, "source_id": None, "target_id": None}
|
||||
return {"weight": 0.0, "description": None, "keywords": None, "source_id": None}
|
||||
|
||||
except Exception as e:
|
||||
logger.error(
|
||||
f"Error in get_edge between {source_node_id} and {target_node_id}: {str(e)}"
|
||||
)
|
||||
# Return default edge properties on error
|
||||
return {"weight": 0.0, "source_id": None, "target_id": None}
|
||||
return {"weight": 0.0, "description": None, "keywords": None, "source_id": None}
|
||||
|
||||
async def get_node_edges(self, source_node_id: str) -> list[tuple[str, str]] | None:
|
||||
node_label = source_node_id.strip('"')
|
||||
|
Reference in New Issue
Block a user