Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j简单的'CASE'表达式_Neo4j_Cypher - Fatal编程技术网

Neo4j简单的'CASE'表达式

Neo4j简单的'CASE'表达式,neo4j,cypher,Neo4j,Cypher,我试图使用neo4jCASEconstruct生成一个表,其中包含发送者的名称、接收者的名称以及发送者发送的邮件数(如果有,否则为0),但我没有得到预期的结果。我的问题是: MATCH(e:Employee{key:1}),(b:Employee), OPTIONAL MATCH (e)-[r:Message]->(b) RETURN e.name, DISTINCT b.name, CASE WHEN (e)-[r:Message]->(b) THEN COUNT(r) ELSE

我试图使用neo4j
CASE
construct生成一个表,其中包含发送者的名称、接收者的名称以及发送者发送的邮件数(如果有,否则为0),但我没有得到预期的结果。我的问题是:

MATCH(e:Employee{key:1}),(b:Employee), 
OPTIONAL MATCH (e)-[r:Message]->(b)
RETURN e.name, DISTINCT b.name,
CASE
WHEN (e)-[r:Message]->(b)
THEN COUNT(r)
ELSE 0 END AS Messages

我做错了什么?提前谢谢

我相信你不需要这个
案例来实现你的目标。如果需要
节点的
count()
:Message
e
b
节点之间的关系,只需返回它的计数:

MATCH(e:Employee{key:1}),(b:Employee)
OPTIONAL MATCH (e)-[r:Message]->(b)
RETURN DISTINCT e.name, b.name, COUNT(r) as Messages

如果
e
b
节点之间不存在任何关系,则此查询将在
计数(r)
中返回零。

FYI,您可以在结果部分直接使用它:
大小((e)-[r:Message]->(b))作为消息
我明白了。谢谢您,布鲁诺……真是太棒了!