首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Neo4j查找具有特定节点类型的n个最大连通图

Neo4j查找具有特定节点类型的n个最大连通图
EN

Stack Overflow用户
提问于 2021-11-23 23:30:10
回答 1查看 25关注 0票数 0

相对较新的Neo4j,但我正在寻找以下问题的一些开始指针或代码示例:我有一个包含3个节点类型(人类,宠物和家庭)的neo4j图。我有两种关系类型:朋友和生活(见下图)。

我想想象n个最大的人类-人类“集群”,没有人类-宠物或家庭-人类联系。所以只有人类朋友群的集群。你知道我该怎么做吗?如下所示,我想找到并可视化红色的子图,因为它是最大的,但通常,前n个会很好:

EN

回答 1

Stack Overflow用户

发布于 2021-11-25 05:36:53

这是可行的,apoc.path.spanningTree()相对较快。

代码语言:javascript
复制
MATCH(h:Human)
CALL apoc.path.spanningTree(h, {
    relationshipFilter: "FRIENDS|LIVING",
    labelFilter:"Human",
    minLevel: 1,
    maxLevel: 999
}) YIELD path
WITH MAX(SIZE(NODES(path))) AS max
MATCH(h:Human)
CALL apoc.path.spanningTree(h, {
    relationshipFilter: "FRIENDS|LIVING",
    labelFilter:"Human",
    minLevel: 1,
    maxLevel: max
}) YIELD path
WHERE SIZE(NODES(path)) = max
RETURN path;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70089067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档