SemanticError: Only one variable allowed to use.

但是count就必须通过管道符去计算啊,然后又不能传两个变量

这个应该是符合预期的。这是 neo4j 的测试结果:

neo4j@neo4j> match (v)-[:nonexist]-() return v,count(*);
+--------------+
| v | count(*) |
+--------------+
+--------------+

不能传两个变量的问题不是可以通过变量透传解决吗,关键是在聚合之前如果 key 都没有的话,结果就是空的而不是 0

变量透传是什么意思?我可以在聚合前先计算count

$var1=... YIELD url
$var2=... YIELD name
YIELD $var1.url, count($var2.url)

由于不能用多变量,所以转换成下面写法:

$var1=... YIELD url
$var2=... YIELD name, $var1.url AS url
YIELD $var2.url, count($var2.url)

聚合之前先计算 count 是啥意思

想错了,但是实际是不应该为空啊,url是有值的

嗯,先确认一下是否有符合特征的数据($domain.url 两步拓展之后满足属性和 label 要求的)

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。