Neo4j计数返回的节点数大于总数的不同节点数

Neo4j计数返回的节点数大于总数的不同节点数,neo4j,cypher,Neo4j,Cypher,我正在尝试统计图中没有发生特定关系的所有节点 我的图中有1816个节点 当我运行以下查询时: MATCH (n1)-[r]->(n2) WHERE NOT (n1)-[:wikipedia]->(n2) RETURN count(distinct n1) 或: 我得到:2202 高于偶数个节点 怎么了 Neo4j版本3.5.1您发现一致性检查不一致的事实意味着您的Neo4j数据库已损坏。您应该做的第一件事是使其脱机,然后再尝试任何恢复/修复 备份完成后,您可以尝试删除“neosto

我正在尝试统计图中没有发生特定关系的所有节点

我的图中有1816个节点

当我运行以下查询时:

MATCH (n1)-[r]->(n2)
WHERE NOT (n1)-[:wikipedia]->(n2)
RETURN count(distinct n1)
或:

我得到:2202

高于偶数个节点

怎么了


Neo4j版本3.5.1

您发现一致性检查不一致的事实意味着您的Neo4j数据库已损坏。您应该做的第一件事是使其脱机,然后再尝试任何恢复/修复


备份完成后,您可以尝试删除“neostore.counts.db.*”文件以强制Neo4j重建它们,但我不建议这样做,因为根据Neo4j处于无效状态的定义,不可能知道实际损坏程度(节点损坏等等)。我建议从较旧的备份(如果有的话)进行还原,或者使用还原工具(如重建整个数据库)来抛出任何无效的节点/关系。

您确定图形中有1816个节点吗?运行此命令以计算节点数:MATCH(n)RETURN count(*),然后告诉我们它是否返回1816是,我确定。我以前对它进行过测试,现在再次检查。在第二个查询中,您并没有声明第二个节点。在第二次查询中尝试(n1)-[r]->(n2)将
计数(不同的n)
替换为
大小(收集(n1))
我有以下问题:[警告]请求的配置文件“enterprise”无法激活,因为它不存在。org.apache.maven.lifecycle.MissingProjectException:您指定的目标需要执行一个项目,但此目录中没有POM(/home/tiago_duque/Área de Trabalho/Dissertaço/Neo4jBackups/store-util-3.3.4)。请验证您从正确的目录调用了Maven。@TiagoDuque您确定提取了正确的分支吗?只有在拉取其中一个较旧的分支(在引入公共企业数据库差异之前)时,您才应该收到消息。好的,使用Store UTIL使用数据库本身重建数据库(我制作了一份硬拷贝-之后必须处理权限,但没有问题)。我花了一段时间才弄清楚安装和使用store UTIL所需的步骤(你不需要下载zip,你必须完全通过克隆git repo来获得它)。它解决了所有不一致的问题,现在我必须检查上面提出的一些想法,以确保一切正常。好的,现在我得到了两个查询的不同结果。为什么?@TiagoDuque这两个查询不相等。第一个表示“返回所有连接到没有任何wiki关系的节点的N”。第二个表示“返回所有连接到另一个节点的N,忽略wiki关系”(也就是说,如果N和M之间有2个关系,其中一个是wiki关系,第一个查询将过滤它,第二个查询将保留它)
MATCH (n)-[r]->()
WHERE NOT type(r)='wikipedia'
RETURN count(distinct n)