该技能用于辅助生成 Neo4j Cypher 读取查询,核心目标是采用现代语法、避开已移除的旧特性,从而提升图遍历与数据检索效率,适合 text2cypher 类 MCP 工具与需要自动生成 Cypher 的 LLM 使用。
主要能力:屏蔽已移除特性,包括用 elementId() 替代 id()、用显式 WITH 替代隐式分组键、用模式推导或 COLLECT 子查询替代列表模式表达式、避免重复关系变量、避免自动列表转布尔;同时给出查询模式选择指引,区分简单查询、变长路径、聚合与复杂读取操作。
用法要点:简单查询使用标准模式并配合 IS :: 类型判断;变长路径优先采用量化路径模式(QPP)并在遍历中尽早过滤,例如 MATCH (a)-[]-{1,5}(b);聚合使用 COUNT{}、EXISTS{}、COLLECT{} 子查询;复杂读取使用 CALL 子查询。排序时必须过滤 NULL,如 WHERE n.value IS NOT NULL 后再 ORDER BY,或使用 NULLS LAST。
常见转换:模式计数用 count{} 替代 size(),存在性检查用 EXISTS {MATCH ...} 或 exists{(n)-[:REL]->()},元素 ID 改用 elementId()(返回字符串)。错误处理覆盖隐式分组键、id() 缺失、变量重复等问题;性能建议包括以索引属性锚定、QPP 内提前过滤、限制展开深度、用 EXISTS 做存在性检查、用 PROFILE 分析瓶颈。
适用场景:迁移旧版 Neo4j 查询、处理 CALL/COLLECT/COUNT 子查询、优化超过 3 至 4 跳的变长路径、实现带空值过滤的排序。限制:资料仅涉及读取查询与现代语法,未提供安装方式、许可或价格信息。