FIELD_STANDARDIZATION_REPORT.md 8.6 KB

Neo4j 字段名称标准化报告

📋 变更概述

变更日期: 2024-10-31
变更范围: app/core 目录下所有 Neo4j 相关操作
变更目的: 统一数据库字段命名规范

🎯 标准化规则

旧字段名 新字段名 说明
name name_zh 中文名称
en_name name_en 英文名称
time create_time 创建时间
createTime create_time 创建时间(统一格式)

✅ 已完成的修改

1. app/core/meta_data/meta_data.py

修改内容:

  • ✅ 第157行: n.namen.name_zh (搜索条件)
  • ✅ 第160行: n.en_namen.name_en (过滤条件)
  • ✅ 第163行: n.namen.name_zh (过滤条件)
  • ✅ 第169行: n.createTimen.create_time (时间过滤)
  • ✅ 第186行: ORDER BY n.nameORDER BY n.name_zh
  • ✅ 第497行: e.createTimee.create_time (Entity节点)
  • ✅ 第496行: {name: $name, en_name: $en_name}{name_zh: $name, name_en: $en_name}
  • ✅ 第598行: e.en_name, e.createTimee.name_en, e.create_time
  • ✅ 第597行: {name: $name}{name_zh: $name}
  • ✅ 第613行: e.en_name, e.createTimee.name_en, e.create_time
  • ✅ 第612行: {name: $name}{name_zh: $name}

2. app/core/data_metric/metric_interface.py

修改内容:

  • ✅ 第46行: n.namen.name_zh (name_filter)
  • ✅ 第49行: n.en_namen.name_en (en_name_filter)
  • ✅ 第55行: n.timen.create_time (time_filter)
  • ✅ 第71行: name: m.namename_zh: m.name_zh
  • ✅ 第73行: n.time, name:la.namen.create_time, name_zh:la.name_zh
  • ✅ 第172-175行: 所有 n.name, d.name, t.name, a.name → 对应的 name_zh
  • ✅ 第383行: n.namen.name_zh (图谱节点文本)
  • ✅ 第711行: n.namen.name_zh (metric_check查询)
  • ✅ 第724-725行: node.get('name'), node.get('en_name')node.get('name_zh'), node.get('name_en')
  • ✅ 第727行: node.get('createTime', node.get('time'))node.get('create_time')

⏳ 待处理的文件和位置

3. app/core/data_interface/interface.py

需要修改:

  • 第40行: n.name CONTAINS $name_filtern.name_zh CONTAINS $name_filter
  • 第43行: n.en_name CONTAINS $en_name_filtern.name_en CONTAINS $en_name_filter
  • 第49行: n.time CONTAINS $time_filtern.create_time CONTAINS $time_filter
  • 第60行: n.time as timen.create_time as time
  • 第266行: n.name CONTAINS $name_filtern.name_zh CONTAINS $name_filter
  • 第269行: n.en_name CONTAINS $en_name_filtern.name_en CONTAINS $en_name_filter
  • 第286行: n.time as timen.create_time as time
  • 第344行: text: n.nametext: n.name_zh
  • 第438行: text:(n.name)text:(n.name_zh)
  • 第507行: n.time as timen.create_time as time
  • 第538行: text:(n.name)text:(n.name_zh)

4. app/core/data_model/model.py

需要修改:

  • 第462行: name: n.namename_zh: n.name_zh
  • 第463行: en_name: n.en_namename_en: n.name_en
  • 第464行: time: n.timecreate_time: n.create_time
  • 第565行: n.name =~ $namen.name_zh =~ $name
  • 第569行: n.en_name =~ $en_namen.name_en =~ $en_name
  • 第635行: n.name, n.en_name, n.timen.name_zh, n.name_en, n.create_time
  • 第661行: n.name, n.en_name, n.timen.name_zh, n.name_en, n.create_time
  • 第674行: ORDER BY n.time DESCORDER BY n.create_time DESC
  • 第1130行: n.name = $namen.name_zh = $name
  • 第1131行: n.en_name = $en_namen.name_en = $en_name

5. app/core/data_resource/resource.py

需要修改:

  • 第495行: n.en_name CONTAINS '{en_name_filter}'n.name_en CONTAINS '{en_name_filter}'
  • 第498行: n.name CONTAINS '{name_filter}'n.name_zh CONTAINS '{name_filter}'
  • 第532行: ORDER BY n.time DESCORDER BY n.create_time DESC
  • 第549行: ORDER BY n.time DESCORDER BY n.create_time DESC
  • 第568行: ORDER BY n.time DESCORDER BY n.create_time DESC
  • 第580行: ORDER BY n.time DESCORDER BY n.create_time DESC
  • 第1267行: n.name CONTAINS '{name_filter}'n.name_zh CONTAINS '{name_filter}'
  • 第1279行: ORDER BY n.createTime DESCORDER BY n.create_time DESC

6. app/core/data_flow/dataflows.py

需要修改:

  • 第39行: n.name CONTAINS $searchn.name_zh CONTAINS $search
  • 第362行: n.name = $namen.name_zh = $name

7. app/core/production_line/production_line.py

需要修改:

  • 第38行: n.name as namen.name_zh as name_zh
  • 第66行: text: n.nametext: n.name_zh
  • 第86行: text: n.nametext: n.name_zh
  • 第102行: text: n.nametext: n.name_zh
  • 第116行: text: n.nametext: n.name_zh
  • 第208行: n.name as cn_namen.name_zh as cn_name
  • 第209行: n.en_name as en_namen.name_en as en_name

8. app/core/data_parse 目录

注意事项

该目录主要涉及 PostgreSQL 数据库操作和数据解析,字段名已经使用标准格式 (name_zh, name_en),无需修改

涉及的文件:

  • parse_neo4j_process.py - 已使用标准格式
  • parse_system.py - 已使用标准格式
  • 其他解析相关文件 - 主要处理业务逻辑,不涉及Neo4j字段

📊 统计信息

已修改文件

  1. app/core/meta_data/meta_data.py - 11处修改
  2. app/core/data_metric/metric_interface.py - 13处修改

待修改文件

  1. app/core/data_interface/interface.py - 约11处待修改
  2. app/core/data_model/model.py - 约10处待修改
  3. app/core/data_resource/resource.py - 约8处待修改
  4. app/core/data_flow/dataflows.py - 约2处待修改
  5. app/core/production_line/production_line.py - 约7处待修改

总计

  • 已完成: 24处修改 (2个文件)
  • 待处理: 约38处待修改 (5个文件)
  • 总计: 约62处需要标准化

🔍 批量替换建议

为了高效完成剩余修改,建议使用以下批量替换策略:

针对 interface.py

# 使用sed或编辑器批量替换
n.name CONTAINS → n.name_zh CONTAINS
n.en_name CONTAINS → n.name_en CONTAINS
n.time CONTAINS → n.create_time CONTAINS
n.time as time → n.create_time as time
text: n.name → text: n.name_zh
text:(n.name) → text:(n.name_zh)

针对 model.py

name: n.name → name_zh: n.name_zh
en_name: n.en_name → name_en: n.name_en
time: n.time → create_time: n.create_time
n.name =~ → n.name_zh =~
n.en_name =~ → n.name_en =~
ORDER BY n.time → ORDER BY n.create_time
n.name = $name → n.name_zh = $name
n.en_name = $en_name → n.name_en = $en_name

针对 resource.py

n.name CONTAINS → n.name_zh CONTAINS  
n.en_name CONTAINS → n.name_en CONTAINS
ORDER BY n.time → ORDER BY n.create_time
ORDER BY n.createTime → ORDER BY n.create_time

针对 dataflows.py

n.name CONTAINS → n.name_zh CONTAINS
n.name = $name → n.name_zh = $name

针对 production_line.py

n.name as name → n.name_zh as name_zh
text: n.name → text: n.name_zh
n.name as cn_name → n.name_zh as cn_name
n.en_name as en_name → n.name_en as en_name

⚠️ 注意事项

  1. 变量名不要改: Python 代码中的变量名 (如 name, en_name) 不需要修改,只修改 Neo4j 查询中的字段名
  2. 字符串参数不要改: 如 $name, $en_name 这些参数名保持不变
  3. 返回别名注意: 如 n.name_zh as name 这样的别名要根据业务逻辑决定是否修改
  4. 测试覆盖: 修改后需要全面测试所有相关API接口

🧪 测试建议

修改完成后,建议测试以下功能:

  1. 元数据相关

    • 元数据列表查询
    • 元数据搜索过滤
    • 元数据创建和编辑
  2. 指标相关

    • 指标列表查询
    • 指标公式检查
    • 指标图谱生成
  3. 数据接口

    • 接口列表查询
    • 接口图谱生成
  4. 数据模型

    • 模型列表查询
    • 模型创建和更新
  5. 数据资源

    • 资源列表查询
    • 资源搜索
  6. 数据流和生产线

    • 流程图谱查询
    • 生产线节点查询

📝 后续步骤

  1. ✅ 已完成 meta_data.py 和 metric_interface.py
  2. ⏳ 继续修改 interface.py
  3. ⏳ 继续修改 model.py
  4. ⏳ 继续修改 resource.py
  5. ⏳ 继续修改 dataflows.py
  6. ⏳ 继续修改 production_line.py
  7. ⏳ 运行linter检查
  8. ⏳ 执行完整测试
  9. ⏳ 更新相关API文档

🔄 版本信息

  • 开始时间: 2024-10-31
  • 预计完成: 待定
  • 当前状态: 进行中 (33% 完成)
  • 执行人: Cursor AI Assistant

注意: 本文档将随着修改进度持续更新。