【问题标题】:'Same' queries return different results“相同”的查询返回不同的结果
【发布时间】:2016-11-16 16:43:24
【问题描述】:

我有两个查询几乎与下面相同(唯一的区别是 r: 在查询 1 中的 FOR 前面)

Query 1: MATCH p=()-[r:FOR]->() RETURN count(p)
Query 2: MATCH p=()-[FOR]->() RETURN count(p)

当我对我的 Neo4j 服务器运行此查询时,它会返回不同的结果。查询 1 大约是 1/3 或查询 2,我猜这是由于查询 1 已经“组合”了结果,而查询 2 没有。(例如 a-[FOR]->c 和 b-[FOR]-> c 合并为 1 条记录),但只是我的猜测。我曾尝试谷歌或搜索 Neo4j 文档,但没有运气。任何人都可以解释其中的区别吗?

提前致谢。

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:
    MATCH p=()-[r:FOR]->() RETURN count(p)
    

    此查询将FOR 关系绑定到r 变量(尽管它不使用它)。

    MATCH p=()-[FOR]->() RETURN count(p)
    

    此查询将任何关系(即任何类型)绑定到FOR变量。

    在 Cypher 中指定关系类型的正确语法是 :XXX带有前导冒号。第二个查询的正确版本实际上是:

    MATCH p=()-[:FOR]->() RETURN count(p)
    

    【讨论】:

      猜你喜欢
      • 2011-06-24
      • 2014-09-24
      • 1970-01-01
      • 2011-11-08
      • 2013-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多