Use COALESCE to handle null degree counts in Neo4J queries.

- Ensures degree count defaults to 0
- Prevents null-related errors in queries
This commit is contained in:
yangdx
2025-03-11 18:33:26 +08:00
parent bedad9a6d9
commit cbacb615f3

View File

@@ -666,7 +666,7 @@ class Neo4JStorage(BaseGraphStorage):
main_query = """ main_query = """
MATCH (n) MATCH (n)
OPTIONAL MATCH (n)-[r]-() OPTIONAL MATCH (n)-[r]-()
WITH n, count(r) AS degree WITH n, COALESCE(count(r), 0) AS degree
WHERE degree >= $min_degree WHERE degree >= $min_degree
ORDER BY degree DESC ORDER BY degree DESC
LIMIT $max_nodes LIMIT $max_nodes
@@ -703,7 +703,7 @@ class Neo4JStorage(BaseGraphStorage):
WITH start, nodes, relationships WITH start, nodes, relationships
UNWIND nodes AS node UNWIND nodes AS node
OPTIONAL MATCH (node)-[r]-() OPTIONAL MATCH (node)-[r]-()
WITH node, count(r) AS degree, start, nodes, relationships WITH node, COALESCE(count(r), 0) AS degree, start, nodes, relationships
WHERE node = start OR EXISTS((start)--(node)) OR degree >= $min_degree WHERE node = start OR EXISTS((start)--(node)) OR degree >= $min_degree
ORDER BY ORDER BY
CASE CASE