0

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

我想可视化没有 Human-Pets 或 Home-Human 连接的 n 最大 Human-Human“集群”。所以只是人类朋友群的集群。知道我会怎么做吗?见下文,我想找到并可视化红色子图,因为它是最大的,但一般来说,前 n 会很棒:

在此处输入图像描述

4

1 回答 1

0

这将起作用。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;
于 2021-11-25T05:36:53.470 回答