neo4j如何查询整个数据库中图的个数?
发布于 6 年前 作者 atlantis 5351 次浏览 来自 问答

我在导入一批数据到库里之后,产生了大量的关联,当然也有孤立点,我现在想查询总共个的图的个数。 图可以定义为,孤立的node,和别的节点没有任何关系的节点算一个图,有关系的一片节点算一个图。 如图所示,我对图的定义。 QQ20181202-0.png 如果有大师知道该怎么做,麻烦不吝赐教。谢谢。

1 回复

使用apoc插件吧。。。这个问题我前几天也想了很久,网上也很难找到适合的解决方案;我的方法是: MATCH (a:标签名) WHERE NOT a:AlReady CALL apoc.path.subgraphNodes(a, {relationshipFilter:“TRANSMIT”,uniqueness: ‘NODE_GLOBAL’}) YIELD node WHERE node:标签名 SET node:AlReady RETURN count(DISTINCT a); 其实最后返回不需要去重。。。在apoc语句中指定你需要通过什么关系过滤,将查询到的子图内的所有节点或者某类节点(跟你MATCH的节点标签一致)设置already标签用于查询的去重,你查询完之后记得把already标签删除。。。MATCH(a:AlReady) REMOVE a:AlReady

回到顶部