cypher不返回具有多个组合匹配语句的行

时间:2015-05-17 10:49:17

标签: neo4j cypher

我运行了两个Cypher查询,它给了我一些结果

Cypher 1:

neo4j-sh (?)$ MATCH (a: Answer { id: "answerID" })<-[:CHOSE]-(u: User) 
> RETURN count(u);                                                                     
+----------+
| count(u) |
+----------+
| 1        |
+----------+
1 row
19 ms

Cypher 2:

neo4j-sh (?)$ MATCH (q: Question)-[:ANSWER]->(a: Answer { id: "answerID" })
> RETURN count(q);
+----------+
| count(q) |
+----------+
| 1        |
+----------+
1 row
14 ms

但结合这两个条件给我零结果

neo4j-sh (?)$ MATCH (q: Question)-[:ANSWER]->(a: Answer { id: "answerID" })<-[:CHOSE]-(u: User)
> RETURN count(u);
+----------+
| count(u) |
+----------+
| 0        |
+----------+
1 row
31 ms

此查询有什么问题吗?救命啊!

1 个答案:

答案 0 :(得分:1)

您是否可能需要具有id =“answerId”的不同Answer节点?检查使用:

public MyAdapter(Context context, Int resource, ArrayList<value> values, String message) {
    //your current code
    this.message = message 
}

如果这给出结果&gt; 1这将证明我的理论。在这种情况下,其中一个将连接到MATCH (a:Answer{id:'answerID'}) return count(a) ,另一个可能连接到Question

如果是,例如,可能会出现重复的节点您在User中使用非粒度MERGE