From 2e9fd9cbe09e3df2c1b8f4db834753baa76fb21c Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Sat, 20 Dec 2025 15:45:03 +0800 Subject: [PATCH] =?UTF-8?q?fix(graph):=20=E4=BF=AE=E6=AD=A3=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E8=8A=82=E7=82=B9=E6=9F=A5=E8=AF=A2=E6=97=B6=E6=9C=AA?= =?UTF-8?q?=E8=BF=87=E6=BB=A4Upload=E6=A0=87=E7=AD=BE=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 确保所有查询操作仅针对Upload类型的节点,避免返回不相关的实体数据 --- src/knowledge/adapters/upload.py | 2 +- src/knowledge/services/upload_graph_service.py | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/knowledge/adapters/upload.py b/src/knowledge/adapters/upload.py index ea5d691f..44c53cf5 100644 --- a/src/knowledge/adapters/upload.py +++ b/src/knowledge/adapters/upload.py @@ -48,7 +48,7 @@ class UploadGraphAdapter(GraphAdapter): num = kwargs.get("max_nodes", 100) raw_results = self._db._get_sample_nodes_with_connections( num=num, - label_filter=None, # Upload 类型不需要标签过滤 + label_filter="Upload", ) else: # 否则执行关键词搜索(使用 service 的查询功能) diff --git a/src/knowledge/services/upload_graph_service.py b/src/knowledge/services/upload_graph_service.py index 33f74aa0..26c3ddc0 100644 --- a/src/knowledge/services/upload_graph_service.py +++ b/src/knowledge/services/upload_graph_service.py @@ -601,7 +601,7 @@ class UploadGraphService: def query_fuzzy_match(tx, keyword): result = tx.run( """ - MATCH (n:Entity) + MATCH (n:Upload) WHERE toLower(n.name) CONTAINS toLower($keyword) RETURN DISTINCT n.name AS name """, @@ -639,6 +639,7 @@ class UploadGraphService: """ CALL db.index.vector.queryNodes('entityEmbeddings', 10, $embedding) YIELD node AS similarEntity, score + WHERE 'Upload' IN labels(similarEntity) RETURN similarEntity.name AS name, score """, embedding=embedding, @@ -679,7 +680,7 @@ class UploadGraphService: query_str = """ WITH [ // 1跳出边 - [(n {name: $entity_name})-[r1]->(m1) | + [(n:Upload {name: $entity_name})-[r1]->(m1) | {h: {id: elementId(n), name: n.name, properties: properties(n)}, r: { id: elementId(r1), @@ -690,7 +691,7 @@ class UploadGraphService: }, t: {id: elementId(m1), name: m1.name, properties: properties(m1)}}], // 2跳出边 - [(n {name: $entity_name})-[r1]->(m1)-[r2]->(m2) | + [(n:Upload {name: $entity_name})-[r1]->(m1)-[r2]->(m2) | {h: {id: elementId(m1), name: m1.name, properties: properties(m1)}, r: { id: elementId(r2), @@ -701,7 +702,7 @@ class UploadGraphService: }, t: {id: elementId(m2), name: m2.name, properties: properties(m2)}}], // 1跳入边 - [(m1)-[r1]->(n {name: $entity_name}) | + [(m1)-[r1]->(n:Upload {name: $entity_name}) | {h: {id: elementId(m1), name: m1.name, properties: properties(m1)}, r: { id: elementId(r1), @@ -712,7 +713,7 @@ class UploadGraphService: }, t: {id: elementId(n), name: n.name, properties: properties(n)}}], // 2跳入边 - [(m2)-[r2]->(m1)-[r1]->(n {name: $entity_name}) | + [(m2)-[r2]->(m1)-[r1]->(n:Upload {name: $entity_name}) | {h: {id: elementId(m2), name: m2.name, properties: properties(m2)}, r: { id: elementId(r2),