SuperAPI AI 工具集

neo4j-migration-skill

编程与开发

查看项目

更新于 10-16 01:35

技能介绍

用途:把旧版 Neo4j 驱动依赖(4.x/5.x)和 Cypher 查询升级到 6.x 驱动与 Cypher 25,并修复弃用 API 警告、审计已移除接口。不适用于编写新查询、数据库管理、全新项目或 GDS 算法迁移。

主要能力:先扫描代码库中的 Cypher 字符串与依赖文件(requirements.txt、package.json、pom.xml、.csproj、go.mod),再按替换表迁移语法,例如 [:REL1..5] 改为 (()-[:REL]->()){1,5},id(n) 改为 elementId(n),CALL { WITH x ... } 改为 CALL (x) { ... },PERIODIC COMMIT 改为 CALL (...) { ... } IN TRANSACTIONS OF 1000 ROWS,-- 注释改为 //。驱动侧覆盖 Python(neo4j-driver 改为 neo4j>=6.0.0,read_transaction 改为 execute_read)、JS(readTransaction 改为 executeRead)、Java(移除 RxSession)、.NET(ILogger 改为 INeo4jLogger)、Go(导入路径 /v5/ 改为 /v6/,neo4j.Config 改为 config.Config)。

使用方式:确认目标 Neo4j 版本与 Cypher 方言(Cypher 5 或 25),扫描依赖与查询,逐项应用替换,再运行测试(如 python -W error::DeprecationWarning -m pytest tests/、npm test、mvn test、dotnet test、go test ./...),并用 EXPLAIN 验证迁移后的查询。

限制:elementId() 返回字符串而非整数,需同步修改下游存储与比较;不支持降级,升级前须备份;部分版本存在已知缺陷(如 2026.07.0、2026.08.0 建议跳过);GDS 算法迁移未覆盖,需查阅 GDS 发布说明。