如何使用 Cypher 制作 Neo4J 中所有可能关系和节点的“蓝图”?

问题描述

我想要创建的是我的数据模型的蓝图。 我对蓝图的意思是一个新创建的数据模型,其中每个节点只创建一次;必须复制并显示来自我真实数据库的每个具有唯一标签的节点(可以是无标签一个标签或多个标签)。

对于此蓝图中的每个唯一节点,我还需要一个关系蓝图。因此,对于每个不同关系(通过名称、方向或连接的节点),我也只需要一种表示。

示例:假设我有 4 个节点,其中 2 个是个人,2 个是公司;那么在蓝图中只显示了 2 个节点。这些是关系:

(c)-[:LIKES]->(p)
(c)-[:LIKES]->(p)
(c)-[:LIKES]->(c)
(c)-[:LIKES]->(c)
(p)<-[disLIKS]-(c)

这些关系显示了 3 种独特的关系,基于名称、方向和连接的节点。 因此,对于此蓝图,结果必须是具有 3 个唯一关系的 2 个唯一节点。

我一直在努力编写代码来实现这一点。 非常感谢任何建议!

解决方法

看来 Neo4j 内置程序 db.schema.visualization() 正是您要找的:https://neo4j.com/docs/operations-manual/current/reference/procedures/#procedure_db_schema_visualization

示例:

enter image description here