fix(graph): 修正上传节点查询时未过滤Upload标签的问题

确保所有查询操作仅针对Upload类型的节点,避免返回不相关的实体数据
This commit is contained in:
Wenjie Zhang 2025-12-20 15:45:03 +08:00
parent c5dde79051
commit 2e9fd9cbe0
2 changed files with 7 additions and 6 deletions

View File

@ -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 的查询功能)

View File

@ -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),