fix(graph): 修正上传节点查询时未过滤Upload标签的问题
确保所有查询操作仅针对Upload类型的节点,避免返回不相关的实体数据
This commit is contained in:
parent
c5dde79051
commit
2e9fd9cbe0
@ -48,7 +48,7 @@ class UploadGraphAdapter(GraphAdapter):
|
|||||||
num = kwargs.get("max_nodes", 100)
|
num = kwargs.get("max_nodes", 100)
|
||||||
raw_results = self._db._get_sample_nodes_with_connections(
|
raw_results = self._db._get_sample_nodes_with_connections(
|
||||||
num=num,
|
num=num,
|
||||||
label_filter=None, # Upload 类型不需要标签过滤
|
label_filter="Upload",
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
# 否则执行关键词搜索(使用 service 的查询功能)
|
# 否则执行关键词搜索(使用 service 的查询功能)
|
||||||
|
|||||||
@ -601,7 +601,7 @@ class UploadGraphService:
|
|||||||
def query_fuzzy_match(tx, keyword):
|
def query_fuzzy_match(tx, keyword):
|
||||||
result = tx.run(
|
result = tx.run(
|
||||||
"""
|
"""
|
||||||
MATCH (n:Entity)
|
MATCH (n:Upload)
|
||||||
WHERE toLower(n.name) CONTAINS toLower($keyword)
|
WHERE toLower(n.name) CONTAINS toLower($keyword)
|
||||||
RETURN DISTINCT n.name AS name
|
RETURN DISTINCT n.name AS name
|
||||||
""",
|
""",
|
||||||
@ -639,6 +639,7 @@ class UploadGraphService:
|
|||||||
"""
|
"""
|
||||||
CALL db.index.vector.queryNodes('entityEmbeddings', 10, $embedding)
|
CALL db.index.vector.queryNodes('entityEmbeddings', 10, $embedding)
|
||||||
YIELD node AS similarEntity, score
|
YIELD node AS similarEntity, score
|
||||||
|
WHERE 'Upload' IN labels(similarEntity)
|
||||||
RETURN similarEntity.name AS name, score
|
RETURN similarEntity.name AS name, score
|
||||||
""",
|
""",
|
||||||
embedding=embedding,
|
embedding=embedding,
|
||||||
@ -679,7 +680,7 @@ class UploadGraphService:
|
|||||||
query_str = """
|
query_str = """
|
||||||
WITH [
|
WITH [
|
||||||
// 1跳出边
|
// 1跳出边
|
||||||
[(n {name: $entity_name})-[r1]->(m1) |
|
[(n:Upload {name: $entity_name})-[r1]->(m1) |
|
||||||
{h: {id: elementId(n), name: n.name, properties: properties(n)},
|
{h: {id: elementId(n), name: n.name, properties: properties(n)},
|
||||||
r: {
|
r: {
|
||||||
id: elementId(r1),
|
id: elementId(r1),
|
||||||
@ -690,7 +691,7 @@ class UploadGraphService:
|
|||||||
},
|
},
|
||||||
t: {id: elementId(m1), name: m1.name, properties: properties(m1)}}],
|
t: {id: elementId(m1), name: m1.name, properties: properties(m1)}}],
|
||||||
// 2跳出边
|
// 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)},
|
{h: {id: elementId(m1), name: m1.name, properties: properties(m1)},
|
||||||
r: {
|
r: {
|
||||||
id: elementId(r2),
|
id: elementId(r2),
|
||||||
@ -701,7 +702,7 @@ class UploadGraphService:
|
|||||||
},
|
},
|
||||||
t: {id: elementId(m2), name: m2.name, properties: properties(m2)}}],
|
t: {id: elementId(m2), name: m2.name, properties: properties(m2)}}],
|
||||||
// 1跳入边
|
// 1跳入边
|
||||||
[(m1)-[r1]->(n {name: $entity_name}) |
|
[(m1)-[r1]->(n:Upload {name: $entity_name}) |
|
||||||
{h: {id: elementId(m1), name: m1.name, properties: properties(m1)},
|
{h: {id: elementId(m1), name: m1.name, properties: properties(m1)},
|
||||||
r: {
|
r: {
|
||||||
id: elementId(r1),
|
id: elementId(r1),
|
||||||
@ -712,7 +713,7 @@ class UploadGraphService:
|
|||||||
},
|
},
|
||||||
t: {id: elementId(n), name: n.name, properties: properties(n)}}],
|
t: {id: elementId(n), name: n.name, properties: properties(n)}}],
|
||||||
// 2跳入边
|
// 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)},
|
{h: {id: elementId(m2), name: m2.name, properties: properties(m2)},
|
||||||
r: {
|
r: {
|
||||||
id: elementId(r2),
|
id: elementId(r2),
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user