Neo4j 中的新特性:带有 OPTIONAL MATCH 的可选关系

主要观点:Neo4j 2.0.0 - RC1 相比之前版本,-[?]->匹配可选关系的语法已废弃,被[OPTIONAL MATCH]构造替代。
关键信息:

  • 示例中通过创建人员和办公室节点及关系来展示查询,如创建 Steve 等人员与 London Office 的关系等。
  • 原查询在 2.0.0 - RC1 中会出现异常,因 WHERE 子句在 OPTIONAL MATCH 后部分的处理方式改变。
  • OPTIONAL MATCH 部分匹配实际为 null 的‘COLLEAGUES\_WITH’关系,会返回行。
  • 包含‘c’在 RETURN 部分可看到具体情况,去掉 OPTIONAL MATCH 中的 WHERE 子句更接近期望结果,引入 WITH 可过滤已合作人员。
    重要细节:
  • 原查询在 2.0.0 - RC1 中因语法改变出现异常,如“SyntaxException: Question mark is no longer used for optional patterns - use OPTIONAL MATCH instead”。
  • 不同查询方式下返回的结果不同,如去掉 WHERE 子句后的查询结果等。
阅读 4
0 条评论