相对较新的Neo4j,但我正在寻找以下问题的一些开始指针或代码示例:我有一个包含3个节点类型(人类,宠物和家庭)的neo4j图。我有两种关系类型:朋友和生活(见下图)。
我想想象n个最大的人类-人类“集群”,没有人类-宠物或家庭-人类联系。所以只有人类朋友群的集群。你知道我该怎么做吗?如下所示,我想找到并可视化红色的子图,因为它是最大的,但通常,前n个会很好:

发布于 2021-11-25 05:36:53
这是可行的,apoc.path.spanningTree()相对较快。
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;https://stackoverflow.com/questions/70089067
复制相似问题