瀏覽代碼

人才标注优化

maxiaolong 4 天之前
父節點
當前提交
428b5217bf
共有 1 個文件被更改,包括 14 次插入14 次删除
  1. 14 14
      app/core/data_parse/parse.py

+ 14 - 14
app/core/data_parse/parse.py

@@ -1439,7 +1439,7 @@ def talent_get_tags(talent_id):
     根据talent ID获取人才节点关联的标签
     
     Args:
-        talent_id (int): 人才节点ID
+        talent_id (int): 人才节点pg_id
         
     Returns:
         dict: 包含人才ID和关联标签的字典,JSON格式
@@ -1458,9 +1458,9 @@ def talent_get_tags(talent_id):
         
         # 构建Cypher查询语句,获取人才节点关联的标签
         cypher_query = """
-        MATCH (t:talent)-[r:BELONGS_TO]->(tag:talent_tag)
-        WHERE id(t) = $talent_id
-        RETURN id(t) as talent_id, tag.name as tag_name
+        MATCH (t:talent)-[r:BELONGS_TO]->(tag:data_label)
+        WHERE t.pg_id = $talent_id
+        RETURN t.pg_id as talent_id, tag.name as tag_name
         """
         
         # 执行查询
@@ -1470,7 +1470,7 @@ def talent_get_tags(talent_id):
             
             # 如果没有查询到标签,返回空数组
             if not records:
-                response_data['message'] = f'人才ID {talent_id} 没有关联的标签'
+                response_data['message'] = f'人才pg_id {talent_id} 没有关联的标签'
                 return response_data
             
             # 处理查询结果
@@ -1564,14 +1564,14 @@ def talent_update_tags(data):
                 # 首先验证talent节点是否存在
                 check_talent_query = """
                 MATCH (t:talent) 
-                WHERE id(t) = $talent_id
+                WHERE t.pg_id = $talent_id
                 RETURN t
                 """
                 talent_result = session.run(check_talent_query, talent_id=int(talent_id))
                 if not talent_result.single():
                     # 该talent不存在,记录失败项并继续下一个talent
                     for tag in tags:
-                        failed_items.append({'talent': talent_id, 'tag': tag})
+                        failed_items.append({'talent_pg_id': talent_id, 'tag': tag})
                     continue
                 
                 # 处理每个标签
@@ -1580,7 +1580,7 @@ def talent_update_tags(data):
                         # 1. 查找或创建标签节点
                         # 先查找是否存在该标签
                         find_tag_query = """
-                        MATCH (tag:talent_tag)
+                        MATCH (tag:data_label)
                         WHERE tag.name = $tag_name
                         RETURN id(tag) as tag_id
                         """
@@ -1592,7 +1592,7 @@ def talent_update_tags(data):
                         else:
                             # 创建新标签
                             create_tag_query = """
-                            CREATE (tag:talent_tag {name: $name, category: $category, updated_at: $updated_at})
+                            CREATE (tag:data_label {name: $name, category: $category, updated_at: $updated_at})
                             RETURN id(tag) as tag_id
                             """
                             tag_result = session.run(
@@ -1606,8 +1606,8 @@ def talent_update_tags(data):
                         
                         # 2. 创建人才与标签的BELONGS_TO关系(如果不存在)
                         create_relation_query = """
-                        MATCH (t:talent), (tag:talent_tag)
-                        WHERE id(t) = $talent_id AND id(tag) = $tag_id
+                        MATCH (t:talent), (tag:data_label)
+                        WHERE t.pg_id = $talent_id AND tag.name = $tag_name
                         MERGE (t)-[r:BELONGS_TO]->(tag)
                         ON CREATE SET r.created_at = $current_time
                         ON MATCH SET r.updated_at = $current_time
@@ -1617,18 +1617,18 @@ def talent_update_tags(data):
                         relation_result = session.run(
                             create_relation_query,
                             talent_id=int(talent_id),
-                            tag_id=int(tag_id),
+                            tag_name=tag_name,
                             current_time=current_time
                         )
                         
                         if relation_result.single():
                             success_count += 1
                         else:
-                            failed_items.append({'talent': talent_id, 'tag': tag_name})
+                            failed_items.append({'talent_pg_id': talent_id, 'tag': tag_name})
                             
                     except Exception as tag_error:
                         logging.error(f"为标签 {tag_name} 创建关系时出错: {str(tag_error)}")
-                        failed_items.append({'talent': talent_id, 'tag': tag_name})
+                        failed_items.append({'talent_pg_id': talent_id, 'tag': tag_name})
         
         # 返回结果
         total_items = len(data)