Neo4j 相对较新,但我正在为以下问题寻找一些起始指针或代码示例:我有一个包含 3 种节点类型(人类、宠物和家庭)的 neo4j 图。我有两种关系类型:朋友和生活(见下图)。
我想可视化没有 Human-Pets 或 Home-Human 连接的 n 最大 Human-Human“集群”。所以只是人类朋友群的集群。知道我会怎么做吗?见下文,我想找到并可视化红色子图,因为它是最大的,但一般来说,前 n 会很棒:
Neo4j 相对较新,但我正在为以下问题寻找一些起始指针或代码示例:我有一个包含 3 种节点类型(人类、宠物和家庭)的 neo4j 图。我有两种关系类型:朋友和生活(见下图)。
我想可视化没有 Human-Pets 或 Home-Human 连接的 n 最大 Human-Human“集群”。所以只是人类朋友群的集群。知道我会怎么做吗?见下文,我想找到并可视化红色子图,因为它是最大的,但一般来说,前 n 会很棒:
这将起作用。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;