Neo4j中聚合函数的无效使用

时间:2019-06-25 09:57:04

标签: neo4j cypher

这是我要获取一些数据的查询,但是在此特定查询中它给了我错误。该查询是在节点级别上进行的检查,我正在检查是否在其他任何节点(此处为n4)中都使用了该特定属性,就像正在使用该属性一样,我们无法删除该特定属性。

 Match(n1:TESTDATA{nodeName:'HierarchyName'})-[:hasSubClass]->(n2)-[:hasPropertyGroup]->(n3)
    -[:containsProperty]->(n4) with n2 ,n4
    match (n2)-[:hasInstance]->(n5)
    where n2.elementType='class' 
    and not(n4.status = 'Deleted') 
    and n4.nodeName <>'Property' and count(n5)=0
return n4.nodeName
  

在这种情况下无效使用聚合函数count(...)(第   6,第38列(偏移量:277))和n4.nodeName ='Property',   count(n5)= 0“

1 个答案:

答案 0 :(得分:1)

  

无效使用聚合函数count(...)

是的,您不能像这样使用count,也不能将countWITH一起使用

和另一种解决方案更改您的查询

Match(n1:TESTDATA{nodeName:'HierarchyName'})-[:hasSubClass]->(n2)-[:hasPropertyGroup]->(n3)-[:containsProperty]->(n4) 
WHERE n2.elementType='class' 
AND NOT (n2)-[:hasInstance]->()
AND NOT(n4.status = 'Deleted') 
AND n4.nodeName <>'Property' 
WITH n4
return n4.nodeName